Skip to contentSkip to conversation

jfs: Fix error handling in write_super_lockfs/unlockfs

PATCH In review Takashi Sato 2 participants 2 messages Sep 22, 2008 – Sep 24, 2008

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 7/10 jfs: Fix error handling in write_super_lockfs/unlockfs

I've changed write_super_lockfs/unlockfs so that they always return 0 (success) to keep a current behavior.

---
 super.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff -uprN -X linux-2.6.27-rc7-lockfs-gfs2/Documentation/dontdiff linux-2.6.27-rc7-lockfs-gfs2/fs/jfs/super.c linux-2.6. 27-rc7-lockfs-jfs/fs/jfs/super.c

fs/jfs/super.c +4 -2
@@ -543,7 +543,7 @@ out_kfree:
 	return ret;
 }
 
-static void jfs_write_super_lockfs(struct super_block *sb)
+static int jfs_write_super_lockfs(struct super_block *sb)
 {
 	struct jfs_sb_info *sbi = JFS_SBI(sb);
 	struct jfs_log *log = sbi->log;
@@ -553,9 +553,10 @@ static void jfs_write_super_lockfs(struc
 		lmLogShutdown(log);
 		updateSuper(sb, FM_CLEAN);
 	}
+	return 0;
 }
 
-static void jfs_unlockfs(struct super_block *sb)
+static int jfs_unlockfs(struct super_block *sb)
 {
 	struct jfs_sb_info *sbi = JFS_SBI(sb);
 	struct jfs_log *log = sbi->log;
@@ -568,6 +569,7 @@ static void jfs_unlockfs(struct super_bl
 		else
 			txResume(sb);
 	}
+	return 0;
 }
 
 static int jfs_get_sb(struct file_system_type *fs_type,
Acked-by on v1 7/10
#1 lore raw
Quoted 2 lines · Takashi Sato

I've changed write_super_lockfs/unlockfs so that they always return 0 (success) to keep a current behavior.

Address Christoph's concerns, and you can add my ack. The bits that change the return code need to be a single patch.

Quoted 2 lines

fs/jfs/super.c static void jfs_write_super_lockfs(struc · line 556

Quoted 10 lines
fs/jfs/super.c +2 -1
-static void jfs_write_super_lockfs(struct super_block *sb)
+static int jfs_write_super_lockfs(struct super_block *sb)
 {
 	struct jfs_sb_info *sbi = JFS_SBI(sb);
 	struct jfs_log *log = sbi->log;
@@ -553,9 +553,10 @@ static void jfs_write_super_lockfs(struc
 		lmLogShutdown(log);
 		updateSuper(sb, FM_CLEAN);
 	}
+	return 0;

Alright. Nothing should fail here, and if it does, we're screwed anyway.

fs/jfs/super.c static void jfs_unlockfs(struct super_bl · line 572

Quoted 10 lines
fs/jfs/super.c +2 -1
-static void jfs_unlockfs(struct super_block *sb)
+static int jfs_unlockfs(struct super_block *sb)
 {
 	struct jfs_sb_info *sbi = JFS_SBI(sb);
 	struct jfs_log *log = sbi->log;
@@ -568,6 +569,7 @@ static void jfs_unlockfs(struct super_bl
 		else
 			txResume(sb);
 	}
+	return 0;

jfs_unlockfs() could return non-zero in the case where lmLogInit() fails. I'm not sure what good that does though. There isn't much the caller can do when an unfreeze fails.

Shaggy

Signature · 2 lines
David Kleikamp
IBM Linux Technology Center