From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 1/5] exportfs: clear DISCONNECTED on all parents sooner Date: Wed, 16 Oct 2013 00:13:43 -0700 Message-ID: <20131016071343.GB27799@infradead.org> References: <1381869574-10662-1-git-send-email-bfields@redhat.com> <1381869574-10662-2-git-send-email-bfields@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Christoph Hellwig , Al Viro , linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: "J. Bruce Fields" Return-path: Content-Disposition: inline In-Reply-To: <1381869574-10662-2-git-send-email-bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Sender: linux-nfs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Oct 15, 2013 at 04:39:29PM -0400, J. Bruce Fields wrote: > From: "J. Bruce Fields" > > Once we've found any connected parent, we know all our parents are > connected--that's true even if there's a concurrent rename. May as well > clear them all at once. > > Signed-off-by: J. Bruce Fields Looks good, Reviewed-by: Christoph Hellwig > if (!IS_ROOT(pd)) { > /* must have found a connected parent - great */ > - spin_lock(&pd->d_lock); > - pd->d_flags &= ~DCACHE_DISCONNECTED; > - spin_unlock(&pd->d_lock); > + clear_disconnected(target_dir); > noprogress = 0; > } else if (pd == mnt->mnt_sb->s_root) { > printk(KERN_ERR "export: Eeek filesystem root is not connected, impossible\n"); You might as well throw a patch in to make this condition a BUG_ON, it would indicate a nasty bug in the dcache and has never triggered in the last 10 years as far as I know. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html