diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-22 20:07:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-22 20:07:18 -0400 |
commit | a2887097f25cd38cadfc11d10769e2b349fb5eca (patch) | |
tree | cd4adcb305365d6ba9acd2c02d4eb9d0125c6f8d /fs/buffer.c | |
parent | 8abfc6e7a45eb74e51904bbae676fae008b11366 (diff) | |
parent | 005a1d15f5a6b2bb4ada80349513effbf22b4588 (diff) |
Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block: (46 commits)
xen-blkfront: disable barrier/flush write support
Added blk-lib.c and blk-barrier.c was renamed to blk-flush.c
block: remove BLKDEV_IFL_WAIT
aic7xxx_old: removed unused 'req' variable
block: remove the BH_Eopnotsupp flag
block: remove the BLKDEV_IFL_BARRIER flag
block: remove the WRITE_BARRIER flag
swap: do not send discards as barriers
fat: do not send discards as barriers
ext4: do not send discards as barriers
jbd2: replace barriers with explicit flush / FUA usage
jbd2: Modify ASYNC_COMMIT code to not rely on queue draining on barrier
jbd: replace barriers with explicit flush / FUA usage
nilfs2: replace barriers with explicit flush / FUA usage
reiserfs: replace barriers with explicit flush / FUA usage
gfs2: replace barriers with explicit flush / FUA usage
btrfs: replace barriers with explicit flush / FUA usage
xfs: replace barriers with explicit flush / FUA usage
block: pass gfp_mask and flags to sb_issue_discard
dm: convey that all flushes are processed as empty
...
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 3e7dca279d1c..7f0b9b083f77 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
@@ -156,7 +156,7 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate) | |||
156 | if (uptodate) { | 156 | if (uptodate) { |
157 | set_buffer_uptodate(bh); | 157 | set_buffer_uptodate(bh); |
158 | } else { | 158 | } else { |
159 | if (!buffer_eopnotsupp(bh) && !quiet_error(bh)) { | 159 | if (!quiet_error(bh)) { |
160 | buffer_io_error(bh); | 160 | buffer_io_error(bh); |
161 | printk(KERN_WARNING "lost page write due to " | 161 | printk(KERN_WARNING "lost page write due to " |
162 | "I/O error on %s\n", | 162 | "I/O error on %s\n", |
@@ -2891,7 +2891,6 @@ static void end_bio_bh_io_sync(struct bio *bio, int err) | |||
2891 | 2891 | ||
2892 | if (err == -EOPNOTSUPP) { | 2892 | if (err == -EOPNOTSUPP) { |
2893 | set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); | 2893 | set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); |
2894 | set_bit(BH_Eopnotsupp, &bh->b_state); | ||
2895 | } | 2894 | } |
2896 | 2895 | ||
2897 | if (unlikely (test_bit(BIO_QUIET,&bio->bi_flags))) | 2896 | if (unlikely (test_bit(BIO_QUIET,&bio->bi_flags))) |
@@ -3031,10 +3030,6 @@ int __sync_dirty_buffer(struct buffer_head *bh, int rw) | |||
3031 | bh->b_end_io = end_buffer_write_sync; | 3030 | bh->b_end_io = end_buffer_write_sync; |
3032 | ret = submit_bh(rw, bh); | 3031 | ret = submit_bh(rw, bh); |
3033 | wait_on_buffer(bh); | 3032 | wait_on_buffer(bh); |
3034 | if (buffer_eopnotsupp(bh)) { | ||
3035 | clear_buffer_eopnotsupp(bh); | ||
3036 | ret = -EOPNOTSUPP; | ||
3037 | } | ||
3038 | if (!ret && !buffer_uptodate(bh)) | 3033 | if (!ret && !buffer_uptodate(bh)) |
3039 | ret = -EIO; | 3034 | ret = -EIO; |
3040 | } else { | 3035 | } else { |