From: "J. Bruce Fields" Subject: Re: [PATCH] dcache: fix d_splice_alias handling of aliases Date: Fri, 17 Jan 2014 16:26:55 -0500 Message-ID: <20140117212655.GE26636@fieldses.org> References: <20140115151749.GF23999@fieldses.org> <20140117121723.GA18375@infradead.org> <20140117153917.GA26636@fieldses.org> <20140117210343.GD26636@fieldses.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Al Viro , linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Miklos Szeredi To: Christoph Hellwig Return-path: Content-Disposition: inline In-Reply-To: <20140117210343.GD26636-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> Sender: linux-nfs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-fsdevel.vger.kernel.org On Fri, Jan 17, 2014 at 04:03:43PM -0500, J. Bruce Fields wrote: > - d_splice_alias handles inode == NULL in the same way, Actually, not exactly; simplifying a bit, in the NULL case they do: d_splice_alias: __d_instantiate(dentry, NULL); security_d_instantiate(dentry, NULL); if (d_unhashed(dentry)) d_rehash(dentry); d_materialise_unique: BUG_ON(!d_unhashed(dentry)); __d_instantiate(dentry, NULL); d_rehash(dentry); security_d_instantiate(dentry, NULL); and a comment on d_splice_alias says Cluster filesystems may call this function with a negative, hashed dentry. In that case, we know that the inode will be a regular file, and also this will only occur during atomic_open. I don't understand those callers. But I guess it would be easy enough to handle in d_materialise_unique. --b. -- 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