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>
This commit is contained in:
@@ -1209,8 +1209,8 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
&& OCFS2_HAS_RO_COMPAT_FEATURE(sb,
|
||||
OCFS2_FEATURE_RO_COMPAT_USRQUOTA)) {
|
||||
transfer_to[USRQUOTA] = dqget(sb, make_kqid_uid(attr->ia_uid));
|
||||
if (!transfer_to[USRQUOTA]) {
|
||||
status = -ESRCH;
|
||||
if (IS_ERR(transfer_to[USRQUOTA])) {
|
||||
status = PTR_ERR(transfer_to[USRQUOTA]);
|
||||
goto bail_unlock;
|
||||
}
|
||||
}
|
||||
@@ -1218,8 +1218,8 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
&& OCFS2_HAS_RO_COMPAT_FEATURE(sb,
|
||||
OCFS2_FEATURE_RO_COMPAT_GRPQUOTA)) {
|
||||
transfer_to[GRPQUOTA] = dqget(sb, make_kqid_gid(attr->ia_gid));
|
||||
if (!transfer_to[GRPQUOTA]) {
|
||||
status = -ESRCH;
|
||||
if (IS_ERR(transfer_to[GRPQUOTA])) {
|
||||
status = PTR_ERR(transfer_to[GRPQUOTA]);
|
||||
goto bail_unlock;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user