aboutsummaryrefslogtreecommitdiff
path: root/fs/f2fs
diff options
context:
space:
mode:
authorGravatar Yangtao Li <frank.li@vivo.com> 2023-02-21 22:45:50 +0800
committerGravatar Jaegeuk Kim <jaegeuk@kernel.org> 2023-03-29 15:17:37 -0700
commit8051692f5f23260215bfe9a72e712d93606acc5f (patch)
treebf6dcdc8a47c1bd648ea48353fe2aed6ecd20d3e /fs/f2fs
parentf2fs: convert to use bitmap API (diff)
downloadlinux-8051692f5f23260215bfe9a72e712d93606acc5f.tar.gz
linux-8051692f5f23260215bfe9a72e712d93606acc5f.tar.bz2
linux-8051692f5f23260215bfe9a72e712d93606acc5f.zip
f2fs: handle dqget error in f2fs_transfer_project_quota()
We should set the error code when dqget() failed. Fixes: 2c1d03056991 ("f2fs: support F2FS_IOC_FS{GET,SET}XATTR") Signed-off-by: Yangtao Li <frank.li@vivo.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/file.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 12d55023f71b..3fbfdfdca72f 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -3009,15 +3009,16 @@ int f2fs_transfer_project_quota(struct inode *inode, kprojid_t kprojid)
struct dquot *transfer_to[MAXQUOTAS] = {};
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
struct super_block *sb = sbi->sb;
- int err = 0;
+ int err;
transfer_to[PRJQUOTA] = dqget(sb, make_kqid_projid(kprojid));
- if (!IS_ERR(transfer_to[PRJQUOTA])) {
- err = __dquot_transfer(inode, transfer_to);
- if (err)
- set_sbi_flag(sbi, SBI_QUOTA_NEED_REPAIR);
- dqput(transfer_to[PRJQUOTA]);
- }
+ if (IS_ERR(transfer_to[PRJQUOTA]))
+ return PTR_ERR(transfer_to[PRJQUOTA]);
+
+ err = __dquot_transfer(inode, transfer_to);
+ if (err)
+ set_sbi_flag(sbi, SBI_QUOTA_NEED_REPAIR);
+ dqput(transfer_to[PRJQUOTA]);
return err;
}