From 2991503d014f634da5cd10bcb851e986a3dcd5c2 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Mon, 12 Aug 2013 09:41:06 -0700 Subject: 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. Change-Id: Ibe8a04a659539d90dfc794521b51bf2bda017a0b BUG: 979910 Signed-off-by: Anand Avati Reviewed-on: http://review.gluster.org/5267 Reviewed-by: Amar Tumballi Tested-by: Gluster Build System --- xlators/performance/md-cache/src/md-cache.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'xlators/performance/md-cache') diff --git a/xlators/performance/md-cache/src/md-cache.c b/xlators/performance/md-cache/src/md-cache.c index ba8b1b879..9e211da1c 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); -- cgit