[O_TMPFILE] it's still short a few helpers, but infrastructure should be OK now...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
16
fs/dcache.c
16
fs/dcache.c
@@ -2968,6 +2968,22 @@ rename_retry:
|
||||
goto again;
|
||||
}
|
||||
|
||||
void d_tmpfile(struct dentry *dentry, struct inode *inode)
|
||||
{
|
||||
inode_dec_link_count(inode);
|
||||
BUG_ON(dentry->d_name.name != dentry->d_iname ||
|
||||
!hlist_unhashed(&dentry->d_alias) ||
|
||||
!d_unlinked(dentry));
|
||||
spin_lock(&dentry->d_parent->d_lock);
|
||||
spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
|
||||
dentry->d_name.len = sprintf(dentry->d_iname, "#%llu",
|
||||
(unsigned long long)inode->i_ino);
|
||||
spin_unlock(&dentry->d_lock);
|
||||
spin_unlock(&dentry->d_parent->d_lock);
|
||||
d_instantiate(dentry, inode);
|
||||
}
|
||||
EXPORT_SYMBOL(d_tmpfile);
|
||||
|
||||
/**
|
||||
* find_inode_number - check for dentry with name
|
||||
* @dir: directory to check
|
||||
|
Reference in New Issue
Block a user