diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2009-09-24 01:01:00 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-09-24 01:18:46 -0700 |
commit | 03764d0d308b46ebfa53d21df1d49a549c459e64 (patch) | |
tree | 8de96522602d0436caa48ad1ece98f1e23d741dc /libglusterfsclient/src/libglusterfsclient.c | |
parent | c72b902afce2b977c8d0b9b1a0463f615365d825 (diff) |
libglusterfsclient: Re-validate root inode on every path resolution
If the root inode's is outdated, send a revalidate on it.
A revalidate on root inode also reduces the window in which an
op will fail over distribute because the layout of the root
directory did not get constructed when we sent the lookup on
root in glusterfs_init. That can happen when not all children of a
distribute volume were up at the time of glusterfs_init.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 256 (revalidates should be sent on '/' in libglusterfsclient.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=256
Diffstat (limited to 'libglusterfsclient/src/libglusterfsclient.c')
-rwxr-xr-x | libglusterfsclient/src/libglusterfsclient.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c index d426bd3cf35..23bdfa55e2b 100755 --- a/libglusterfsclient/src/libglusterfsclient.c +++ b/libglusterfsclient/src/libglusterfsclient.c @@ -1356,6 +1356,7 @@ glusterfs_init (glusterfs_init_params_t *init_ctx, uint32_t fakefsid) return NULL; } libgf_client_loc_wipe (&new_loc); + libgf_alloc_inode_ctx (ctx, ctx->itable->root); first_init = 0; |