Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32991ab3 authored by Al Viro's avatar Al Viro
Browse files

vfs: d_alloc_root() gone



all callers converted to d_make_root() by now

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 318ceed0
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -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
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
anymore, so if you require i_mutex locking you must make sure to take it and
release it yourself.
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.  
+0 −24
Original line number Original line Diff line number Diff line
@@ -1443,30 +1443,6 @@ struct dentry *d_instantiate_unique(struct dentry *entry, struct inode *inode)


EXPORT_SYMBOL(d_instantiate_unique);
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 *d_make_root(struct inode *root_inode)
{
{
	struct dentry *res = NULL;
	struct dentry *res = NULL;
+0 −1
Original line number Original line Diff line number Diff line
@@ -222,7 +222,6 @@ extern void shrink_dcache_for_umount(struct super_block *);
extern int d_invalidate(struct dentry *);
extern int d_invalidate(struct dentry *);


/* only used at mount-time */
/* only used at mount-time */
extern struct dentry * d_alloc_root(struct inode *);
extern struct dentry * d_make_root(struct inode *);
extern struct dentry * d_make_root(struct inode *);


/* <clickety>-<click> the ramfs-type tree */
/* <clickety>-<click> the ramfs-type tree */