mirror of https://gitee.com/openkylin/linux.git
vfs: d_alloc_root() gone
all callers converted to d_make_root() by now Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
318ceed088
commit
32991ab305
|
@ -429,3 +429,9 @@ filemap_write_and_wait_range() so that all dirty pages are synced out properly.
|
|||
You must also keep in mind that ->fsync() is not called with i_mutex held
|
||||
anymore, so if you require i_mutex locking you must make sure to take it and
|
||||
release it yourself.
|
||||
|
||||
--
|
||||
[mandatory]
|
||||
d_alloc_root() is gone, along with a lot of bugs caused by code
|
||||
misusing it. Replacement: d_make_root(inode). The difference is,
|
||||
d_make_root() drops the reference to inode if dentry allocation fails.
|
||||
|
|
24
fs/dcache.c
24
fs/dcache.c
|
@ -1443,30 +1443,6 @@ struct dentry *d_instantiate_unique(struct dentry *entry, struct inode *inode)
|
|||
|
||||
EXPORT_SYMBOL(d_instantiate_unique);
|
||||
|
||||
/**
|
||||
* d_alloc_root - allocate root dentry
|
||||
* @root_inode: inode to allocate the root for
|
||||
*
|
||||
* Allocate a root ("/") dentry for the inode given. The inode is
|
||||
* instantiated and returned. %NULL is returned if there is insufficient
|
||||
* memory or the inode passed is %NULL.
|
||||
*/
|
||||
|
||||
struct dentry * d_alloc_root(struct inode * root_inode)
|
||||
{
|
||||
struct dentry *res = NULL;
|
||||
|
||||
if (root_inode) {
|
||||
static const struct qstr name = { .name = "/", .len = 1 };
|
||||
|
||||
res = __d_alloc(root_inode->i_sb, &name);
|
||||
if (res)
|
||||
d_instantiate(res, root_inode);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
EXPORT_SYMBOL(d_alloc_root);
|
||||
|
||||
struct dentry *d_make_root(struct inode *root_inode)
|
||||
{
|
||||
struct dentry *res = NULL;
|
||||
|
|
|
@ -222,7 +222,6 @@ extern void shrink_dcache_for_umount(struct super_block *);
|
|||
extern int d_invalidate(struct dentry *);
|
||||
|
||||
/* only used at mount-time */
|
||||
extern struct dentry * d_alloc_root(struct inode *);
|
||||
extern struct dentry * d_make_root(struct inode *);
|
||||
|
||||
/* <clickety>-<click> the ramfs-type tree */
|
||||
|
|
Loading…
Reference in New Issue