summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/quota_local.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2015-06-24 18:07:02 +0200
committerJan Kara <jack@suse.com>2015-07-23 20:59:10 +0200
commit6184fc0b8dd76c6aedc7a26e93254993e14e52de (patch)
tree8d6946f82158c8de4ab67115eff3a02c064b343d /fs/ocfs2/quota_local.c
parentRevert "fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()" (diff)
downloadlinux-6184fc0b8dd76c6aedc7a26e93254993e14e52de.tar.xz
linux-6184fc0b8dd76c6aedc7a26e93254993e14e52de.zip
quota: Propagate error from ->acquire_dquot()
Currently when some error happened in ->acquire_dquot(), dqget() just returned NULL. That was indistinguishable from a case when e.g. someone run quotaoff and so was generally silently ignored. However ->acquire_dquot() can fail because of ENOSPC or EIO in which case user should better know. So propagate error up from ->acquire_dquot properly. Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ocfs2/quota_local.c')
-rw-r--r--fs/ocfs2/quota_local.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ocfs2/quota_local.c b/fs/ocfs2/quota_local.c
index 3d0b63d34225..bb07004df72a 100644
--- a/fs/ocfs2/quota_local.c
+++ b/fs/ocfs2/quota_local.c
@@ -499,8 +499,8 @@ static int ocfs2_recover_local_quota_file(struct inode *lqinode,
dquot = dqget(sb,
make_kqid(&init_user_ns, type,
le64_to_cpu(dqblk->dqb_id)));
- if (!dquot) {
- status = -EIO;
+ if (IS_ERR(dquot)) {
+ status = PTR_ERR(dquot);
mlog(ML_ERROR, "Failed to get quota structure "
"for id %u, type %d. Cannot finish quota "
"file recovery.\n",