diff options
author | Poornima G <pgurusid@redhat.com> | 2016-07-11 15:04:55 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2016-08-30 23:07:01 -0700 |
commit | 8f053f9d7270f1c6d50c0b3ab5d020503ceeb31a (patch) | |
tree | 754b2dbc815e8b0d619016b5d53f7e0acfae8c40 /xlators/performance/md-cache/src/md-cache-messages.h | |
parent | 55c255b27a99f027cb716800f8330f8faa4eb1f5 (diff) |
md-cache: Register the list of xattrs with cache-invalidation
Issue:
md-cache caches a specified list of xattrs, and when cache invalidation
is enabled, it makes sense to recieve invalidation only when those xattrs
are modified by other clients. But the current implementation of upcall
is that, it will send invalidation when any of the on-disk xattrs is modified.
Solution:
md-cache sends a list of xattrs that it is interested in, to upcall by
issuing an ipc(). The challenge here is to make sure everytime a brick
goes offline and comes back up, the ipc() needs to be issued to the
bricks. Hence ipc() is sent from md-cache every time there is a
CHILD_UP/CHILD_MODIFIED event.
TODO:
There will be patches following, in cluster xlators, to implement ipc fop.
Change-Id: I6efcf3df474f5ce6eabd3d6694c00c7bd89bc25d
BUG: 1211863
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/15002
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'xlators/performance/md-cache/src/md-cache-messages.h')
-rw-r--r-- | xlators/performance/md-cache/src/md-cache-messages.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/xlators/performance/md-cache/src/md-cache-messages.h b/xlators/performance/md-cache/src/md-cache-messages.h index 1fe26ccc8b2..4aea7cd0a9d 100644 --- a/xlators/performance/md-cache/src/md-cache-messages.h +++ b/xlators/performance/md-cache/src/md-cache-messages.h @@ -40,7 +40,7 @@ */ #define GLFS_MD_CACHE_BASE GLFS_MSGID_COMP_MD_CACHE -#define GLFS_MD_CACHE_NUM_MESSAGES 3 +#define GLFS_MD_CACHE_NUM_MESSAGES 5 #define GLFS_MSGID_END (GLFS_MD_CACHE_BASE + GLFS_MD_CACHE_NUM_MESSAGES + 1) /* Messages with message IDs */ @@ -67,8 +67,33 @@ #define MD_CACHE_MSG_DISCARD_UPDATE (GLFS_MD_CACHE_BASE + 2) +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + #define MD_CACHE_MSG_CACHE_UPDATE (GLFS_MD_CACHE_BASE + 3) +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + +#define MD_CACHE_MSG_IPC_UPCALL_FAILED (GLFS_MD_CACHE_BASE + 4) + +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + +#define MD_CACHE_MSG_NO_XATTR_CACHE (GLFS_MD_CACHE_BASE + 5) + /*------------*/ #define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages" |