diff options
Diffstat (limited to 'fs/buffer.c')
| -rw-r--r-- | fs/buffer.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 3e7dca279d1c..8d595ab2aed1 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", |
| @@ -905,7 +905,6 @@ try_again: | |||
| 905 | 905 | ||
| 906 | bh->b_state = 0; | 906 | bh->b_state = 0; |
| 907 | atomic_set(&bh->b_count, 0); | 907 | atomic_set(&bh->b_count, 0); |
| 908 | bh->b_private = NULL; | ||
| 909 | bh->b_size = size; | 908 | bh->b_size = size; |
| 910 | 909 | ||
| 911 | /* Link the buffer to its page */ | 910 | /* Link the buffer to its page */ |
| @@ -1706,7 +1705,7 @@ static int __block_write_full_page(struct inode *inode, struct page *page, | |||
| 1706 | * and kswapd activity, but those code paths have their own | 1705 | * and kswapd activity, but those code paths have their own |
| 1707 | * higher-level throttling. | 1706 | * higher-level throttling. |
| 1708 | */ | 1707 | */ |
| 1709 | if (wbc->sync_mode != WB_SYNC_NONE || !wbc->nonblocking) { | 1708 | if (wbc->sync_mode != WB_SYNC_NONE) { |
| 1710 | lock_buffer(bh); | 1709 | lock_buffer(bh); |
| 1711 | } else if (!trylock_buffer(bh)) { | 1710 | } else if (!trylock_buffer(bh)) { |
| 1712 | redirty_page_for_writepage(wbc, page); | 1711 | redirty_page_for_writepage(wbc, page); |
| @@ -2891,7 +2890,6 @@ static void end_bio_bh_io_sync(struct bio *bio, int err) | |||
| 2891 | 2890 | ||
| 2892 | if (err == -EOPNOTSUPP) { | 2891 | if (err == -EOPNOTSUPP) { |
| 2893 | set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); | 2892 | set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); |
| 2894 | set_bit(BH_Eopnotsupp, &bh->b_state); | ||
| 2895 | } | 2893 | } |
| 2896 | 2894 | ||
| 2897 | if (unlikely (test_bit(BIO_QUIET,&bio->bi_flags))) | 2895 | if (unlikely (test_bit(BIO_QUIET,&bio->bi_flags))) |
| @@ -3031,10 +3029,6 @@ int __sync_dirty_buffer(struct buffer_head *bh, int rw) | |||
| 3031 | bh->b_end_io = end_buffer_write_sync; | 3029 | bh->b_end_io = end_buffer_write_sync; |
| 3032 | ret = submit_bh(rw, bh); | 3030 | ret = submit_bh(rw, bh); |
| 3033 | wait_on_buffer(bh); | 3031 | wait_on_buffer(bh); |
| 3034 | if (buffer_eopnotsupp(bh)) { | ||
| 3035 | clear_buffer_eopnotsupp(bh); | ||
| 3036 | ret = -EOPNOTSUPP; | ||
| 3037 | } | ||
| 3038 | if (!ret && !buffer_uptodate(bh)) | 3032 | if (!ret && !buffer_uptodate(bh)) |
| 3039 | ret = -EIO; | 3033 | ret = -EIO; |
| 3040 | } else { | 3034 | } else { |
