diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2013-09-05 11:44:42 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-09-05 16:23:53 -0400 |
commit | 5835f3390e35ae3da9add646a2ca2cc30b47370e (patch) | |
tree | 01bf2c9ddb37a08b4db112281b77fc1a97f7c537 /fs/block_dev.c | |
parent | 6497d160f6abf8d1082ff1a4efd841118cb1fddd (diff) | |
download | blackbird-op-linux-5835f3390e35ae3da9add646a2ca2cc30b47370e.tar.gz blackbird-op-linux-5835f3390e35ae3da9add646a2ca2cc30b47370e.zip |
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>
Diffstat (limited to 'fs/block_dev.c')
0 files changed, 0 insertions, 0 deletions