diff options
author | vmallika <vmallika@redhat.com> | 2016-04-02 08:57:00 +0530 |
---|---|---|
committer | Vijaikumar Mallikarjuna <vmallika@redhat.com> | 2016-04-06 05:23:04 -0700 |
commit | 34d1c81dc4c730eb0cd2b8fd756b8bffed655e9c (patch) | |
tree | d08d16f96e95f02c40408f9df0af69c9428dcdec /libglusterfs/src | |
parent | cd22b5c1a490444620c1d19ce22672ff1cd478a6 (diff) |
marker: optimize mq_update_dirty_inode_task
In function mq_update_dirty_inode_task we do readdirp
on a dirty directory and for entry we again do
lookup to fecth the contribution xattr.
We can fetch this contribution as part of readdirp
Change-Id: I766593c0dba793f1ab3b43625acce1c7d9af8d7f
BUG: 1320818
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/13892
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Smoke: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Manikandan Selvaganesh <mselvaga@redhat.com>
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/quota-common-utils.c | 11 | ||||
-rw-r--r-- | libglusterfs/src/quota-common-utils.h | 3 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libglusterfs/src/quota-common-utils.c b/libglusterfs/src/quota-common-utils.c index 5e688e50856..ad7e4dcba1c 100644 --- a/libglusterfs/src/quota-common-utils.c +++ b/libglusterfs/src/quota-common-utils.c @@ -16,6 +16,17 @@ #include "common-utils.h" #include "libglusterfs-messages.h" +gf_boolean_t +quota_meta_is_null (const quota_meta_t *meta) +{ + if (meta->size == 0 && + meta->file_count == 0 && + meta->dir_count == 0) + return _gf_true; + + return _gf_false; +} + int32_t quota_data_to_meta (data_t *data, char *key, quota_meta_t *meta) { diff --git a/libglusterfs/src/quota-common-utils.h b/libglusterfs/src/quota-common-utils.h index c930db8e86c..e479398c398 100644 --- a/libglusterfs/src/quota-common-utils.h +++ b/libglusterfs/src/quota-common-utils.h @@ -37,6 +37,9 @@ struct _quota_meta { } __attribute__ ((__packed__)); typedef struct _quota_meta quota_meta_t; +gf_boolean_t +quota_meta_is_null (const quota_meta_t *meta); + int32_t quota_data_to_meta (data_t *data, char *key, quota_meta_t *meta); |