diff options
| author | vmallika <vmallika@redhat.com> | 2016-03-29 18:34:11 +0530 | 
|---|---|---|
| committer | Jeff Darcy <jdarcy@redhat.com> | 2016-03-30 12:39:42 -0700 | 
| commit | 773e660de0c45221b53cf2a489f28209145475db (patch) | |
| tree | 02686b942e610f362ece4e793fa637d6b0542a5f /xlators/protocol/server/src/server.c | |
| parent | 48a0a38fadf9c5164869a908dcff8a951aa21b4b (diff) | |
server: send lookup on root inode when itable is created
 * xlators like quota, marker, posix_acl can cause problems
   if inode-ctx are not created.
   sometime these xlarors may not get lookup on root inode
   with below cases
   1) client may not send lookup on root inode (like NSR leader)
   2) if the xlators on one of the bricks are not up,
      and client sending lookup during this time: brick
      can miss the lookup
   It is always better to make sure that there is one lookup
   on root. So send a first lookup when the inode table is created
 * When sending lookup on root, new inode is created, we need to
   use itable->root instead
Change-Id: Iff2eeaa1a89795328833a7761789ef588f11218f
BUG: 1320818
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/13837
Smoke: Gluster Build System <jenkins@build.gluster.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'xlators/protocol/server/src/server.c')
| -rw-r--r-- | xlators/protocol/server/src/server.c | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 24e31500453..cb2a0f6c1d9 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -939,6 +939,8 @@ init (xlator_t *this)          INIT_LIST_HEAD (&conf->xprt_list);          pthread_mutex_init (&conf->mutex, NULL); +        LOCK_INIT (&conf->itable_lock); +           /* Set event threads to the configured default */          GF_OPTION_INIT("event-threads", conf->event_threads, int32, out);          ret = server_check_event_threads (this, conf, STARTING_EVENT_THREADS,  | 
