lustre_quota_version_t version = dquot->dq_info->qi_version;
void *handle;
struct inode *inode = dquot->dq_info->qi_files[dquot->dq_type]->f_dentry->d_inode;
+ int delete = 0;
/* always clear the flag so we don't loop on an IO error... */
cfs_clear_bit(DQ_MOD_B, &dquot->dq_flags);
/* The block/inode usage in admin quotafile isn't the real usage
* over all cluster, so keep the fake dquot entry on disk is
* meaningless, just remove it */
- if (cfs_test_bit(DQ_FAKE_B, &dquot->dq_flags)) {
- handle = lustre_quota_journal_start(inode, 1);
+ if (cfs_test_bit(DQ_FAKE_B, &dquot->dq_flags))
+ delete = 1;
+ handle = lustre_quota_journal_start(inode, delete);
+ if (unlikely(IS_ERR(handle))) {
+ rc = PTR_ERR(handle);
+ CERROR("fail to lustre_quota_journal_start: rc = %d\n", rc);
+ return rc;
+ }
+
+ if (delete)
rc = lustre_delete_dquot(dquot, version);
- lustre_quota_journal_stop(handle);
- } else {
- handle = lustre_quota_journal_start(inode, 0);
+ else
rc = lustre_write_dquot(dquot, version);
- lustre_quota_journal_stop(handle);
- }
+ lustre_quota_journal_stop(handle);
if (rc < 0)
return rc;
STORED_MDSSIZE=$MDSSIZE
fi
# use small MDS + OST size to speed formatting time
-MDSSIZE=40000
-OSTSIZE=40000
+# do not use too small MDSSIZE/OSTSIZE, which affect the default jouranl size
+MDSSIZE=200000
+OSTSIZE=200000
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
require_dsh_mds || exit 0