{
int rc;
- if ((rc = generic_file_open(inode, file)))
+ if ((rc = dquot_file_open(inode, file)))
return rc;
/*
if (rc)
return rc;
+ if (is_quota_modification(inode, iattr))
+ dquot_initialize(inode);
if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) ||
(iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) {
- if (vfs_dq_transfer(inode, iattr))
- return -EDQUOT;
+ rc = dquot_transfer(inode, iattr);
+ if (rc)
+ return rc;
}
rc = inode_setattr(inode, iattr);