aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ext3/inode.c16
-rw-r--r--fs/ext3/super.c17
-rw-r--r--include/linux/ext3_fs.h1
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 */