X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_handler.c;h=34f8465cfbb397e4471647a003cf8682e1b03a8a;hb=e6c7fcdaf40b130c39af2e3ee8b108c6e31a8ca8;hp=1b94f32a23a0b1fad22fc910d0a092d23e54ddf4;hpb=9cf4dddd52815835b4deb7468009adcbd7624dcf;p=fs%2Flustre-release.git diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 1b94f32..34f8465c 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -3062,7 +3062,9 @@ static int osd_transfer_project(struct inode *inode, __u32 projid, dquot_initialize(inode); transfer_to[PRJQUOTA] = dqget(sb, make_kqid_projid(kprojid)); if (transfer_to[PRJQUOTA]) { + lock_dquot_transfer(inode); err = __dquot_transfer(inode, transfer_to); + unlock_dquot_transfer(inode); dqput(transfer_to[PRJQUOTA]); if (err) return err; @@ -3095,7 +3097,9 @@ static int osd_quota_transfer(struct inode *inode, const struct lu_attr *attr, iattr.ia_uid = make_kuid(&init_user_ns, attr->la_uid); iattr.ia_gid = make_kgid(&init_user_ns, attr->la_gid); + lock_dquot_transfer(inode); rc = dquot_transfer(inode, &iattr); + unlock_dquot_transfer(inode); if (rc) { CERROR("%s: quota transfer failed. Is quota enforcement enabled on the ldiskfs filesystem? rc = %d\n", osd_ino2name(inode), rc);