diff options
author | Anand Avati <avati@redhat.com> | 2013-08-12 09:41:06 -0700 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-09-09 17:19:09 -0700 |
commit | 64c84723064ed9ef9f2a7755d3afffd1ecf08af4 (patch) | |
tree | 4afc9f2a32e8f1c6a3103d5b67c3fa6a9bf8e4c8 /xlators/performance/md-cache/src/md-cache.c | |
parent | d3c5463bdc8597ce3a70fded6c80f20e900752f4 (diff) |
mount/fuse: perform lookup() on inodes linked through readdirplus
Some xlators still require lookup() fop to be sent for proper working.
This patch remembers inodes which have been linked through readdiprlus
and makes the resolver send lookups on them.
Also, introduce and use context count for inode table.
Change-Id: Ibe8a04a659539d90dfc794521b51bf2bda017a0b
BUG: 979910
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/5267
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-on: http://review.gluster.org/5806
Diffstat (limited to 'xlators/performance/md-cache/src/md-cache.c')
-rw-r--r-- | xlators/performance/md-cache/src/md-cache.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/performance/md-cache/src/md-cache.c b/xlators/performance/md-cache/src/md-cache.c index b7f1f1d13..9292dae76 100644 --- a/xlators/performance/md-cache/src/md-cache.c +++ b/xlators/performance/md-cache/src/md-cache.c @@ -799,6 +799,13 @@ mdc_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, if (!local) goto uncached; + if (!loc->name) + /* A nameless discovery is dangerous to cache. We + perform nameless lookup with the intention of + re-establishing an inode "properly" + */ + goto uncached; + loc_copy (&local->loc, loc); ret = mdc_inode_iatt_get (this, loc->inode, &stbuf); |