Home
last modified time | relevance | path

Searched hist:"5835 f339" (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/fs/fuse/
H A Ddir.c5835f339 Thu Sep 05 04:44:42 CDT 2013 Miklos Szeredi <mszeredi@suse.cz> fuse: use d_materialise_unique()

Use d_materialise_unique() instead of d_splice_alias(). This allows dentry
subtrees to be moved to a new place if there moved, even if something is
referencing a dentry in the subtree (open fd, cwd, etc..).

This will also allow us to drop a subtree if it is found to be replaced by
something else. In this case the disconnected subtree can later be
reconnected to its new location.

d_materialise_unique() ensures that a directory entry only ever has one
alias. We keep fc->inst_mutex around the calls for d_materialise_unique()
on directories to prevent a race with mkdir "stealing" the inode.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>