fsck.f2fs: fix to propagate error of write_dquots()
authorChao Yu <yuchao0@huawei.com>
Fri, 9 Aug 2019 10:53:01 +0000 (18:53 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 27 Aug 2019 21:51:05 +0000 (14:51 -0700)
Propagate correct error number from write_dquots() to
quota_write_inode().

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fsck/mkquota.c

index c1abbc4..84f9d3d 100644 (file)
@@ -42,10 +42,11 @@ static void print_dquot(const char *desc, struct dquot *dq)
 #define print_dquot(...)
 #endif
 
-static void write_dquots(dict_t *dict, struct quota_handle *qh)
+static int write_dquots(dict_t *dict, struct quota_handle *qh)
 {
        dnode_t         *n;
        struct dquot    *dq;
+       int retval = 0;
 
        for (n = dict_first(dict); n; n = dict_next(dict, n)) {
                dq = dnode_get(n);
@@ -53,10 +54,13 @@ static void write_dquots(dict_t *dict, struct quota_handle *qh)
                        print_dquot("write", dq);
                        dq->dq_h = qh;
                        update_grace_times(dq);
-                       if (qh->qh_ops->commit_dquot(dq))
+                       if (qh->qh_ops->commit_dquot(dq)) {
+                               retval = -1;
                                break;
+                       }
                }
        }
+       return retval;
 }
 
 errcode_t quota_write_inode(struct f2fs_sb_info *sbi, enum quota_type qtype)
@@ -83,7 +87,7 @@ errcode_t quota_write_inode(struct f2fs_sb_info *sbi, enum quota_type qtype)
                if (retval) {
                        log_debug("Cannot initialize io on quotafile");
                } else {
-                       write_dquots(dict, h);
+                       retval = write_dquots(dict, h);
                        quota_file_close(sbi, h, 1);
                }
        }