gfs2: Fix error handling in write_super_lockfs/unlockfs
Subsystems (3)
PATCH 5/10 gfs2: Fix error handling in write_super_lockfs/unlockfs
Changed write_super_lockfs so that it returns an error in case of an failure. unlockfs always returns 0.
Signed-off-by Takashi Sato <[email protected]>
Signed-off-by Masayuki Hamaguchi <[email protected]>
--- ops_super.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)
diff -uprN -X linux-2.6.27-rc7-lockfs-reiserfs/Documentation/dontdiff linux-2.6.27-rc7-lockfs-reiserfs/fs/gfs2/ops_super .c linux-2.6.27-rc7-lockfs-gfs2/fs/gfs2/ops_super.c
fs/gfs2/ops_super.c +9 -7
@@ -161,18 +161,18 @@ static int gfs2_sync_fs(struct super_blo }/** -* gfs2_write_super_lockfs - prevent further writes to the filesystem +* gfs2_freeze - prevent further writes to the filesystem * @sb: the VFS structure for the filesystem * */ -static void gfs2_write_super_lockfs (struct super_block *sb) +static int gfs2_freeze (struct super_block *sb) {struct gfs2_sbd *sdp = sb->s_fs_info;int error;if (test_bit (SDF_SHUTDOWN , &sdp->sd_flags)) -return ; +return -EINVAL ;for (;;) { error =gfs2_freeze_fs (sdp);
@@ -192,17 +192,19 @@ static void gfs2_write_super_lockfs(strufs_err (sdp,"retrying...\n" );msleep (1000 ); } +return 0 ; }/** -* gfs2_unlockfs - reallow writes to the filesystem +* gfs2_unfreeze - reallow writes to the filesystem * @sb: the VFS structure for the filesystem * */ -static void gfs2_unlockfs (struct super_block *sb) +static int gfs2_unfreeze (struct super_block *sb) {gfs2_unfreeze_fs (sb->s_fs_info); +return 0 ; }/**
@@ -505,8 +507,8 @@ const struct super_operations gfs2_super .put_super = gfs2_put_super, .write_super = gfs2_write_super, .sync_fs = gfs2_sync_fs, - .write_super_lockfs = gfs2_write_super_lockfs, - .unlockfs = gfs2_unlockfs, + .freeze_fs = gfs2_freeze, + .unfreeze_fs = gfs2_unfreeze, .statfs = gfs2_statfs, .remount_fs = gfs2_remount_fs, .clear_inode = gfs2_clear_inode,
Hi,
Quoted 2 lines · Takashi Sato
Changed
write_super_lockfsso that it returns an error in case of an failure. unlockfs always returns 0.
Looks good now. Thanks,
Steve.