quota: make dquot_set_dqinfo return errors from ->write_info
authorYangtao Li <frank.li@vivo.com>
Mon, 27 Feb 2023 12:02:16 +0000 (20:02 +0800)
committerJan Kara <jack@suse.cz>
Mon, 20 Mar 2023 16:27:42 +0000 (17:27 +0100)
dquot_set_dqinfo() ignores the return code from the ->write_info
call, which means that quotacalls like Q_SETINFO never see the error.
This doesn't seem right, so fix that.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <20230227120216.31306-2-frank.li@vivo.com>

fs/quota/dquot.c

index 90cb70c..78c9977 100644 (file)
@@ -2819,7 +2819,6 @@ EXPORT_SYMBOL(dquot_get_state);
 int dquot_set_dqinfo(struct super_block *sb, int type, struct qc_info *ii)
 {
        struct mem_dqinfo *mi;
-       int err = 0;
 
        if ((ii->i_fieldmask & QC_WARNS_MASK) ||
            (ii->i_fieldmask & QC_RT_SPC_TIMER))
@@ -2846,8 +2845,7 @@ int dquot_set_dqinfo(struct super_block *sb, int type, struct qc_info *ii)
        spin_unlock(&dq_data_lock);
        mark_info_dirty(sb, type);
        /* Force write to disk */
-       sb->dq_op->write_info(sb, type);
-       return err;
+       return sb->dq_op->write_info(sb, type);
 }
 EXPORT_SYMBOL(dquot_set_dqinfo);