Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 292333
b: refs/heads/master
c: 32991ab
h: refs/heads/master
i:
  292331: 5b72599
v: v3
  • Loading branch information
Al Viro committed Mar 21, 2012
1 parent 5174030 commit 09c1521
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 26 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 318ceed088497d1ca839b1172518ac4cc7096b82
refs/heads/master: 32991ab305ace7017c62f8eecbe5eb36dc32e13b
6 changes: 6 additions & 0 deletions trunk/Documentation/filesystems/porting
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 0 additions & 24 deletions trunk/fs/dcache.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
1 change: 0 additions & 1 deletion trunk/include/linux/dcache.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit 09c1521

Please sign in to comment.