2008-09-22 10:58:43

by Takashi Sato

[permalink] [raw]
Subject: [PATCH 6/10] gfs2: 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.

Signed-off-by: Takashi Sato <[email protected]>
Signed-off-by: Masayuki Hamaguchi <[email protected]>
---
ops_super.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff -uprN -X linux-2.6.27-rc7-lockfs-ext4/Documentation/dontdiff linux-2.6.27-rc7-lockfs-ext4/fs/gfs2/ops_super.c linux
-2.6.27-rc7-lockfs-gfs2/fs/gfs2/ops_super.c
--- linux-2.6.27-rc7-lockfs-ext4/fs/gfs2/ops_super.c 2008-09-22 07:29:55.000000000 +0900
+++ linux-2.6.27-rc7-lockfs-gfs2/fs/gfs2/ops_super.c 2008-09-22 10:52:16.000000000 +0900
@@ -166,13 +166,13 @@ static int gfs2_sync_fs(struct super_blo
*
*/

-static void gfs2_write_super_lockfs(struct super_block *sb)
+static int gfs2_write_super_lockfs(struct super_block *sb)
{
struct gfs2_sbd *sdp = sb->s_fs_info;
int error;

if (test_bit(SDF_SHUTDOWN, &sdp->sd_flags))
- return;
+ return 0;

for (;;) {
error = gfs2_freeze_fs(sdp);
@@ -192,6 +192,7 @@ static void gfs2_write_super_lockfs(stru
fs_err(sdp, "retrying...\n");
msleep(1000);
}
+ return 0;
}

/**
@@ -200,9 +201,10 @@ static void gfs2_write_super_lockfs(stru
*
*/

-static void gfs2_unlockfs(struct super_block *sb)
+static int gfs2_unlockfs(struct super_block *sb)
{
gfs2_unfreeze_fs(sb->s_fs_info);
+ return 0;
}

/**


2008-09-22 11:23:45

by Steven Whitehouse

[permalink] [raw]
Subject: Re: [PATCH 6/10] gfs2: Fix error handling in write_super_lockfs/unlockfs

Hi,

On Mon, Sep 22, 2008 at 07:57:18PM +0900, Takashi Sato wrote:
> I've changed write_super_lockfs/unlockfs so that they always return
> 0 (success) to keep a current behavior.
>
> Signed-off-by: Takashi Sato <[email protected]>
> Signed-off-by: Masayuki Hamaguchi <[email protected]>
> ---
> ops_super.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff -uprN -X linux-2.6.27-rc7-lockfs-ext4/Documentation/dontdiff linux-2.6.27-rc7-lockfs-ext4/fs/gfs2/ops_super.c linux
> -2.6.27-rc7-lockfs-gfs2/fs/gfs2/ops_super.c
> --- linux-2.6.27-rc7-lockfs-ext4/fs/gfs2/ops_super.c 2008-09-22 07:29:55.000000000 +0900
> +++ linux-2.6.27-rc7-lockfs-gfs2/fs/gfs2/ops_super.c 2008-09-22 10:52:16.000000000 +0900
> @@ -166,13 +166,13 @@ static int gfs2_sync_fs(struct super_blo
> *
> */
>
> -static void gfs2_write_super_lockfs(struct super_block *sb)
> +static int gfs2_write_super_lockfs(struct super_block *sb)
> {
> struct gfs2_sbd *sdp = sb->s_fs_info;
> int error;
>
> if (test_bit(SDF_SHUTDOWN, &sdp->sd_flags))
> - return;
> + return 0;
>
Since this now returns a status, then this should indicate a failure
I think. Perhaps -EINVAL would be suitable?

Otherwise it looks good from a gfs2 perspective,

Steve.