Whamcloud - gitweb
LU-405 Don't assert on multiple disconnected dentries case
authorOleg Drokin <green@whamcloud.com>
Thu, 9 Jun 2011 16:00:25 +0000 (12:00 -0400)
committerOleg Drokin <green@whamcloud.com>
Fri, 17 Jun 2011 02:33:30 +0000 (19:33 -0700)
NFS has a valid case for multiple disconnected dentries on the same
inode so we must not assert there as a workaround.
The proper fix is to adopt using of d_splice_alias eventually.

Change-Id: I28f7385d95523adf949a4e3b8887d79cdc4f2e37
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/923
Tested-by: Hudson
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/llite/namei.c

index 9e4898c..ad98239 100644 (file)
@@ -366,7 +366,7 @@ static struct dentry *ll_find_alias(struct inode *inode, struct dentry *de)
                 }
 
                 if (dentry->d_flags & DCACHE_DISCONNECTED) {
                 }
 
                 if (dentry->d_flags & DCACHE_DISCONNECTED) {
-                        LASSERT(last_discon == NULL);
+                        /* LASSERT(last_discon == NULL); LU-405, bz 20055 */
                         last_discon = dentry;
                         continue;
                 }
                         last_discon = dentry;
                         continue;
                 }