diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2011-06-28 13:22:48 +0200 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2011-06-30 09:23:46 +0200 |
commit | 86e1e98e5c6b4edab97e2b058466ef553cfd878e (patch) | |
tree | e8b26c03a90edaf5214a094d3dcb1b223041b862 /drivers/block | |
parent | 15b493d11fcce3c5547e3d7fb6d90e11ffe12777 (diff) | |
download | op-kernel-dev-86e1e98e5c6b4edab97e2b058466ef553cfd878e.zip op-kernel-dev-86e1e98e5c6b4edab97e2b058466ef553cfd878e.tar.gz |
drbd: we should write meta data updates with FLUSH FUA
We used to write these with BIO_RW_BARRIER aka REQ_HARDBARRIER (unless
disabled in the configuration). The correct semantic now would be to
write with FLUSH/FUA.
For example, with activity log transactions, FUA alone is not enough, we
need the corresponding bitmap update (and all related application
updates) on stable storage as well.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/drbd/drbd_actlog.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c index 09ef9a8..cf0e63d 100644 --- a/drivers/block/drbd/drbd_actlog.c +++ b/drivers/block/drbd/drbd_actlog.c @@ -79,7 +79,7 @@ static int _drbd_md_sync_page_io(struct drbd_conf *mdev, md_io.error = 0; if ((rw & WRITE) && !test_bit(MD_NO_FUA, &mdev->flags)) - rw |= REQ_FUA; + rw |= REQ_FUA | REQ_FLUSH; rw |= REQ_SYNC; bio = bio_alloc(GFP_NOIO, 1); |