summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src
diff options
context:
space:
mode:
authorvmallika <vmallika@redhat.com>2016-04-02 08:57:00 +0530
committerVijaikumar Mallikarjuna <vmallika@redhat.com>2016-04-06 05:23:04 -0700
commit34d1c81dc4c730eb0cd2b8fd756b8bffed655e9c (patch)
treed08d16f96e95f02c40408f9df0af69c9428dcdec /libglusterfs/src
parentcd22b5c1a490444620c1d19ce22672ff1cd478a6 (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.c11
-rw-r--r--libglusterfs/src/quota-common-utils.h3
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);