diff options
| -rw-r--r-- | fs/ext3/inode.c | 16 | ||||
| -rw-r--r-- | fs/ext3/super.c | 17 | ||||
| -rw-r--r-- | include/linux/ext3_fs.h | 1 |
3 files changed, 5 insertions, 29 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 735f0190ec2a..a786db403efc 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c | |||
| @@ -1625,10 +1625,7 @@ static int ext3_writeback_writepage(struct page *page, | |||
| 1625 | goto out_fail; | 1625 | goto out_fail; |
| 1626 | } | 1626 | } |
| 1627 | 1627 | ||
| 1628 | if (test_opt(inode->i_sb, NOBH) && ext3_should_writeback_data(inode)) | 1628 | ret = block_write_full_page(page, ext3_get_block, wbc); |
| 1629 | ret = nobh_writepage(page, ext3_get_block, wbc); | ||
| 1630 | else | ||
| 1631 | ret = block_write_full_page(page, ext3_get_block, wbc); | ||
| 1632 | 1629 | ||
| 1633 | err = ext3_journal_stop(handle); | 1630 | err = ext3_journal_stop(handle); |
| 1634 | if (!ret) | 1631 | if (!ret) |
| @@ -1922,17 +1919,6 @@ static int ext3_block_truncate_page(handle_t *handle, struct page *page, | |||
| 1922 | length = blocksize - (offset & (blocksize - 1)); | 1919 | length = blocksize - (offset & (blocksize - 1)); |
| 1923 | iblock = index << (PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits); | 1920 | iblock = index << (PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits); |
| 1924 | 1921 | ||
| 1925 | /* | ||
| 1926 | * For "nobh" option, we can only work if we don't need to | ||
| 1927 | * read-in the page - otherwise we create buffers to do the IO. | ||
| 1928 | */ | ||
| 1929 | if (!page_has_buffers(page) && test_opt(inode->i_sb, NOBH) && | ||
| 1930 | ext3_should_writeback_data(inode) && PageUptodate(page)) { | ||
| 1931 | zero_user(page, offset, length); | ||
| 1932 | set_page_dirty(page); | ||
| 1933 | goto unlock; | ||
| 1934 | } | ||
| 1935 | |||
| 1936 | if (!page_has_buffers(page)) | 1922 | if (!page_has_buffers(page)) |
| 1937 | create_empty_buffers(page, blocksize, 0); | 1923 | create_empty_buffers(page, blocksize, 0); |
| 1938 | 1924 | ||
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 6c953bb255e7..9650a956fd0e 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c | |||
| @@ -661,9 +661,6 @@ static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs) | |||
| 661 | */ | 661 | */ |
| 662 | seq_puts(seq, ",barrier="); | 662 | seq_puts(seq, ",barrier="); |
| 663 | seq_puts(seq, test_opt(sb, BARRIER) ? "1" : "0"); | 663 | seq_puts(seq, test_opt(sb, BARRIER) ? "1" : "0"); |
| 664 | if (test_opt(sb, NOBH)) | ||
| 665 | seq_puts(seq, ",nobh"); | ||
| 666 | |||
| 667 | seq_printf(seq, ",data=%s", data_mode_string(test_opt(sb, DATA_FLAGS))); | 664 | seq_printf(seq, ",data=%s", data_mode_string(test_opt(sb, DATA_FLAGS))); |
| 668 | if (test_opt(sb, DATA_ERR_ABORT)) | 665 | if (test_opt(sb, DATA_ERR_ABORT)) |
| 669 | seq_puts(seq, ",data_err=abort"); | 666 | seq_puts(seq, ",data_err=abort"); |
| @@ -1255,10 +1252,12 @@ set_qf_format: | |||
| 1255 | *n_blocks_count = option; | 1252 | *n_blocks_count = option; |
| 1256 | break; | 1253 | break; |
| 1257 | case Opt_nobh: | 1254 | case Opt_nobh: |
| 1258 | set_opt(sbi->s_mount_opt, NOBH); | 1255 | ext3_msg(sb, KERN_WARNING, |
| 1256 | "warning: ignoring deprecated nobh option"); | ||
| 1259 | break; | 1257 | break; |
| 1260 | case Opt_bh: | 1258 | case Opt_bh: |
| 1261 | clear_opt(sbi->s_mount_opt, NOBH); | 1259 | ext3_msg(sb, KERN_WARNING, |
| 1260 | "warning: ignoring deprecated bh option"); | ||
| 1262 | break; | 1261 | break; |
| 1263 | default: | 1262 | default: |
| 1264 | ext3_msg(sb, KERN_ERR, | 1263 | ext3_msg(sb, KERN_ERR, |
| @@ -2001,14 +2000,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) | |||
| 2001 | break; | 2000 | break; |
| 2002 | } | 2001 | } |
| 2003 | 2002 | ||
| 2004 | if (test_opt(sb, NOBH)) { | ||
| 2005 | if (!(test_opt(sb, DATA_FLAGS) == EXT3_MOUNT_WRITEBACK_DATA)) { | ||
| 2006 | ext3_msg(sb, KERN_WARNING, | ||
| 2007 | "warning: ignoring nobh option - " | ||
| 2008 | "it is supported only with writeback mode"); | ||
| 2009 | clear_opt(sbi->s_mount_opt, NOBH); | ||
| 2010 | } | ||
| 2011 | } | ||
| 2012 | /* | 2003 | /* |
| 2013 | * The journal_load will have done any necessary log recovery, | 2004 | * The journal_load will have done any necessary log recovery, |
| 2014 | * so we can safely mount the rest of the filesystem now. | 2005 | * so we can safely mount the rest of the filesystem now. |
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h index 7fc62d4550b2..3d3a9915dde2 100644 --- a/include/linux/ext3_fs.h +++ b/include/linux/ext3_fs.h | |||
| @@ -400,7 +400,6 @@ struct ext3_inode { | |||
| 400 | #define EXT3_MOUNT_POSIX_ACL 0x08000 /* POSIX Access Control Lists */ | 400 | #define EXT3_MOUNT_POSIX_ACL 0x08000 /* POSIX Access Control Lists */ |
| 401 | #define EXT3_MOUNT_RESERVATION 0x10000 /* Preallocation */ | 401 | #define EXT3_MOUNT_RESERVATION 0x10000 /* Preallocation */ |
| 402 | #define EXT3_MOUNT_BARRIER 0x20000 /* Use block barriers */ | 402 | #define EXT3_MOUNT_BARRIER 0x20000 /* Use block barriers */ |
| 403 | #define EXT3_MOUNT_NOBH 0x40000 /* No bufferheads */ | ||
| 404 | #define EXT3_MOUNT_QUOTA 0x80000 /* Some quota option set */ | 403 | #define EXT3_MOUNT_QUOTA 0x80000 /* Some quota option set */ |
| 405 | #define EXT3_MOUNT_USRQUOTA 0x100000 /* "old" user quota */ | 404 | #define EXT3_MOUNT_USRQUOTA 0x100000 /* "old" user quota */ |
| 406 | #define EXT3_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */ | 405 | #define EXT3_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */ |
