summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVijay Bellur <vbellur@redhat.com>2013-08-13 14:04:23 +0530
committerVijay Bellur <vbellur@redhat.com>2013-08-13 14:06:01 +0530
commitc0aa8619ca9628e2f989272d1e90a01ce1ab282e (patch)
tree26edd30860b7c4472fe4a6b9e0df4f00a830f11a
parent46ade2b95571584c128e5e35c329e390e83e8b7f (diff)
features/quota: Resume fops for internal clients.
Change-Id: If1773603bcc5b393796e96439929e7fd2867127a Signed-off-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r--xlators/features/quota/src/quota.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/xlators/features/quota/src/quota.c b/xlators/features/quota/src/quota.c
index 20c717d9..08cbb65a 100644
--- a/xlators/features/quota/src/quota.c
+++ b/xlators/features/quota/src/quota.c
@@ -405,7 +405,12 @@ quota_check_limit (call_frame_t *frame, inode_t *inode, xlator_t *this,
*/
if (0 > frame->root->pid) {
ret = 0;
- return ret;
+ LOCK (&local->lock);
+ {
+ --local->link_count;
+ }
+ UNLOCK (&local->lock);
+ goto resume;
}
priv = this->private;
@@ -514,6 +519,7 @@ quota_check_limit (call_frame_t *frame, inode_t *inode, xlator_t *this,
inode_unref (_inode);
}
+resume:
quota_resume_fop_if_validation_done (local);
return 0;