aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2012-07-12 10:28:47 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-22 15:58:07 -0400
commit4527440d5db8ff27ae8801de3f819843a1e6c6f6 (patch)
tree1e7ddac50528aba33e28941ee086818c35b9fb59 /fs
parenta3742d4828caeffab4cb075b562a4ed92d3e74d6 (diff)
hfs: simplify a bit checking for R/O
We have the following pattern in 2 places in HFS if (!RDONLY) hfs_mdb_commit(); This patch pushes the RDONLY check down to 'hfs_mdb_commit()'. This will make the following patches a bit simpler. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/hfs/inode.c3
-rw-r--r--fs/hfs/mdb.c3
-rw-r--r--fs/hfs/super.c3
3 files changed, 5 insertions, 4 deletions
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
index f2deefdb4066..90c1ccbff8e4 100644
--- a/fs/hfs/inode.c
+++ b/fs/hfs/inode.c
@@ -646,8 +646,7 @@ static int hfs_file_fsync(struct file *filp, loff_t start, loff_t end,
646 sb = inode->i_sb; 646 sb = inode->i_sb;
647 if (sb->s_dirt) { 647 if (sb->s_dirt) {
648 sb->s_dirt = 0; 648 sb->s_dirt = 0;
649 if (!(sb->s_flags & MS_RDONLY)) 649 hfs_mdb_commit(sb);
650 hfs_mdb_commit(sb);
651 } 650 }
652 /* .. finally sync the buffers to disk */ 651 /* .. finally sync the buffers to disk */
653 err = sync_blockdev(sb->s_bdev); 652 err = sync_blockdev(sb->s_bdev);
diff --git a/fs/hfs/mdb.c b/fs/hfs/mdb.c
index 7a3224049f30..5fd51a5833ff 100644
--- a/fs/hfs/mdb.c
+++ b/fs/hfs/mdb.c
@@ -260,6 +260,9 @@ void hfs_mdb_commit(struct super_block *sb)
260{ 260{
261 struct hfs_mdb *mdb = HFS_SB(sb)->mdb; 261 struct hfs_mdb *mdb = HFS_SB(sb)->mdb;
262 262
263 if (sb->s_flags & MS_RDONLY)
264 return;
265
263 lock_buffer(HFS_SB(sb)->mdb_bh); 266 lock_buffer(HFS_SB(sb)->mdb_bh);
264 if (test_and_clear_bit(HFS_FLG_MDB_DIRTY, &HFS_SB(sb)->flags)) { 267 if (test_and_clear_bit(HFS_FLG_MDB_DIRTY, &HFS_SB(sb)->flags)) {
265 /* These parameters may have been modified, so write them back */ 268 /* These parameters may have been modified, so write them back */
diff --git a/fs/hfs/super.c b/fs/hfs/super.c
index 47e4119a0650..0730135b771e 100644
--- a/fs/hfs/super.c
+++ b/fs/hfs/super.c
@@ -53,8 +53,7 @@ static void hfs_write_super(struct super_block *sb)
53 sb->s_dirt = 0; 53 sb->s_dirt = 0;
54 54
55 /* sync everything to the buffers */ 55 /* sync everything to the buffers */
56 if (!(sb->s_flags & MS_RDONLY)) 56 hfs_mdb_commit(sb);
57 hfs_mdb_commit(sb);
58} 57}
59 58
60static int hfs_sync_fs(struct super_block *sb, int wait) 59static int hfs_sync_fs(struct super_block *sb, int wait)