diff options
author | Jan Kara <jack@suse.cz> | 2015-06-24 12:07:02 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.com> | 2015-07-23 14:59:10 -0400 |
commit | 6184fc0b8dd76c6aedc7a26e93254993e14e52de (patch) | |
tree | 8d6946f82158c8de4ab67115eff3a02c064b343d /fs/ocfs2/file.c | |
parent | d725e66c06ab440032f49ef17e960896d0ec6d49 (diff) |
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/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 719f7f4c7a37..4d9e8275ed99 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -1209,8 +1209,8 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr) | |||
1209 | && OCFS2_HAS_RO_COMPAT_FEATURE(sb, | 1209 | && OCFS2_HAS_RO_COMPAT_FEATURE(sb, |
1210 | OCFS2_FEATURE_RO_COMPAT_USRQUOTA)) { | 1210 | OCFS2_FEATURE_RO_COMPAT_USRQUOTA)) { |
1211 | transfer_to[USRQUOTA] = dqget(sb, make_kqid_uid(attr->ia_uid)); | 1211 | transfer_to[USRQUOTA] = dqget(sb, make_kqid_uid(attr->ia_uid)); |
1212 | if (!transfer_to[USRQUOTA]) { | 1212 | if (IS_ERR(transfer_to[USRQUOTA])) { |
1213 | status = -ESRCH; | 1213 | status = PTR_ERR(transfer_to[USRQUOTA]); |
1214 | goto bail_unlock; | 1214 | goto bail_unlock; |
1215 | } | 1215 | } |
1216 | } | 1216 | } |
@@ -1218,8 +1218,8 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr) | |||
1218 | && OCFS2_HAS_RO_COMPAT_FEATURE(sb, | 1218 | && OCFS2_HAS_RO_COMPAT_FEATURE(sb, |
1219 | OCFS2_FEATURE_RO_COMPAT_GRPQUOTA)) { | 1219 | OCFS2_FEATURE_RO_COMPAT_GRPQUOTA)) { |
1220 | transfer_to[GRPQUOTA] = dqget(sb, make_kqid_gid(attr->ia_gid)); | 1220 | transfer_to[GRPQUOTA] = dqget(sb, make_kqid_gid(attr->ia_gid)); |
1221 | if (!transfer_to[GRPQUOTA]) { | 1221 | if (IS_ERR(transfer_to[GRPQUOTA])) { |
1222 | status = -ESRCH; | 1222 | status = PTR_ERR(transfer_to[GRPQUOTA]); |
1223 | goto bail_unlock; | 1223 | goto bail_unlock; |
1224 | } | 1224 | } |
1225 | } | 1225 | } |