summaryrefslogtreecommitdiffstats
path: root/xlators/features/leases/src/leases.h
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2019-02-27 23:15:58 +0530
committerAmar Tumballi <amarts@redhat.com>2019-03-05 17:49:04 +0000
commit6b99558be6872bb5ba5fe8133696ca856617b184 (patch)
tree7d51eb92f14d845239153b333377244d147767bb /xlators/features/leases/src/leases.h
parent9374484917466dff4688d96ff7faa0de1c804a6c (diff)
leases: Do not process internal fops
fops marked internal are used to maintain data integrity and ideally do not intervene with application client leases. Hence it seems safe to ignore them by lease xlator. Change-Id: I887b6f2da7ec0081442cc4b572a7a9e110f79eb2 updates: bz#1648768 Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Diffstat (limited to 'xlators/features/leases/src/leases.h')
-rw-r--r--xlators/features/leases/src/leases.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/xlators/features/leases/src/leases.h b/xlators/features/leases/src/leases.h
index 04d06572f25..57368fac1d9 100644
--- a/xlators/features/leases/src/leases.h
+++ b/xlators/features/leases/src/leases.h
@@ -45,6 +45,14 @@
goto label; \
} while (0)
+#define EXIT_IF_INTERNAL_FOP(frame, xdata, label) \
+ do { \
+ if (frame->root->pid < 0) \
+ goto label; \
+ if (xdata && dict_get(xdata, GLUSTERFS_INTERNAL_FOP_KEY)) \
+ goto label; \
+ } while (0)
+
#define GET_LEASE_ID(xdata, lease_id, client_uid) \
do { \
int ret_val = -1; \