OSDN Git Service

ocfs2: correct return value of ocfs2_local_free_info()
authorJoseph Qi <joseph.qi@linux.alibaba.com>
Sun, 28 May 2023 13:20:32 +0000 (21:20 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 10 Jun 2023 00:44:22 +0000 (17:44 -0700)
Now in ocfs2_local_free_info(), it returns 0 even if it actually fails.
Though it doesn't cause any real problem since the only caller
dquot_disable() ignores the return value, we'd better return correct as it
is.

Link: https://lkml.kernel.org/r/20230528132033.217664-1-joseph.qi@linux.alibaba.com
Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Joseph Qi <jiangqi903@gmail.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ocfs2/quota_local.c

index 5022b3e..dfaae1e 100644 (file)
@@ -811,7 +811,7 @@ static int ocfs2_local_free_info(struct super_block *sb, int type)
        struct ocfs2_quota_chunk *chunk;
        struct ocfs2_local_disk_chunk *dchunk;
        int mark_clean = 1, len;
-       int status;
+       int status = 0;
 
        iput(oinfo->dqi_gqinode);
        ocfs2_simple_drop_lockres(OCFS2_SB(sb), &oinfo->dqi_gqlock);
@@ -853,17 +853,14 @@ static int ocfs2_local_free_info(struct super_block *sb, int type)
                                 oinfo->dqi_libh,
                                 olq_update_info,
                                 info);
-       if (status < 0) {
+       if (status < 0)
                mlog_errno(status);
-               goto out;
-       }
-
 out:
        ocfs2_inode_unlock(sb_dqopt(sb)->files[type], 1);
        brelse(oinfo->dqi_libh);
        brelse(oinfo->dqi_lqi_bh);
        kfree(oinfo);
-       return 0;
+       return status;
 }
 
 static void olq_set_dquot(struct buffer_head *bh, void *private)