mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
VFS: normal filesystems (and lustre): d_inode() annotations
that's the bulk of filesystem drivers dealing with inodes of their own Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
parent
ce0b16ddf1
commit
2b0143b5c9
278 changed files with 1419 additions and 1420 deletions
|
|
@ -244,7 +244,7 @@ int fuse_ctl_add_conn(struct fuse_conn *fc)
|
|||
return 0;
|
||||
|
||||
parent = fuse_control_sb->s_root;
|
||||
inc_nlink(parent->d_inode);
|
||||
inc_nlink(d_inode(parent));
|
||||
sprintf(name, "%u", fc->dev);
|
||||
parent = fuse_ctl_add_dentry(parent, fc, name, S_IFDIR | 0500, 2,
|
||||
&simple_dir_inode_operations,
|
||||
|
|
@ -283,11 +283,11 @@ void fuse_ctl_remove_conn(struct fuse_conn *fc)
|
|||
|
||||
for (i = fc->ctl_ndents - 1; i >= 0; i--) {
|
||||
struct dentry *dentry = fc->ctl_dentry[i];
|
||||
dentry->d_inode->i_private = NULL;
|
||||
d_inode(dentry)->i_private = NULL;
|
||||
d_drop(dentry);
|
||||
dput(dentry);
|
||||
}
|
||||
drop_nlink(fuse_control_sb->s_root->d_inode);
|
||||
drop_nlink(d_inode(fuse_control_sb->s_root));
|
||||
}
|
||||
|
||||
static int fuse_ctl_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
|
|||
struct fuse_inode *fi;
|
||||
int ret;
|
||||
|
||||
inode = ACCESS_ONCE(entry->d_inode);
|
||||
inode = d_inode_rcu(entry);
|
||||
if (inode && is_bad_inode(inode))
|
||||
goto invalid;
|
||||
else if (time_before64(fuse_dentry_time(entry), get_jiffies_64()) ||
|
||||
|
|
@ -220,7 +220,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
|
|||
attr_version = fuse_get_attr_version(fc);
|
||||
|
||||
parent = dget_parent(entry);
|
||||
fuse_lookup_init(fc, &args, get_node_id(parent->d_inode),
|
||||
fuse_lookup_init(fc, &args, get_node_id(d_inode(parent)),
|
||||
&entry->d_name, &outarg);
|
||||
ret = fuse_simple_request(fc, &args);
|
||||
dput(parent);
|
||||
|
|
@ -254,7 +254,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
|
|||
return -ECHILD;
|
||||
} else if (test_and_clear_bit(FUSE_I_INIT_RDPLUS, &fi->state)) {
|
||||
parent = dget_parent(entry);
|
||||
fuse_advise_use_readdirplus(parent->d_inode);
|
||||
fuse_advise_use_readdirplus(d_inode(parent));
|
||||
dput(parent);
|
||||
}
|
||||
}
|
||||
|
|
@ -487,7 +487,7 @@ static int fuse_atomic_open(struct inode *dir, struct dentry *entry,
|
|||
entry = res;
|
||||
}
|
||||
|
||||
if (!(flags & O_CREAT) || entry->d_inode)
|
||||
if (!(flags & O_CREAT) || d_really_is_positive(entry))
|
||||
goto no_open;
|
||||
|
||||
/* Only creates */
|
||||
|
|
@ -653,7 +653,7 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
|
|||
args.in.args[0].value = entry->d_name.name;
|
||||
err = fuse_simple_request(fc, &args);
|
||||
if (!err) {
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_inode *fi = get_fuse_inode(inode);
|
||||
|
||||
spin_lock(&fc->lock);
|
||||
|
|
@ -689,7 +689,7 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
|
|||
args.in.args[0].value = entry->d_name.name;
|
||||
err = fuse_simple_request(fc, &args);
|
||||
if (!err) {
|
||||
clear_nlink(entry->d_inode);
|
||||
clear_nlink(d_inode(entry));
|
||||
fuse_invalidate_attr(dir);
|
||||
fuse_invalidate_entry_cache(entry);
|
||||
} else if (err == -EINTR)
|
||||
|
|
@ -721,12 +721,12 @@ static int fuse_rename_common(struct inode *olddir, struct dentry *oldent,
|
|||
err = fuse_simple_request(fc, &args);
|
||||
if (!err) {
|
||||
/* ctime changes */
|
||||
fuse_invalidate_attr(oldent->d_inode);
|
||||
fuse_update_ctime(oldent->d_inode);
|
||||
fuse_invalidate_attr(d_inode(oldent));
|
||||
fuse_update_ctime(d_inode(oldent));
|
||||
|
||||
if (flags & RENAME_EXCHANGE) {
|
||||
fuse_invalidate_attr(newent->d_inode);
|
||||
fuse_update_ctime(newent->d_inode);
|
||||
fuse_invalidate_attr(d_inode(newent));
|
||||
fuse_update_ctime(d_inode(newent));
|
||||
}
|
||||
|
||||
fuse_invalidate_attr(olddir);
|
||||
|
|
@ -734,10 +734,10 @@ static int fuse_rename_common(struct inode *olddir, struct dentry *oldent,
|
|||
fuse_invalidate_attr(newdir);
|
||||
|
||||
/* newent will end up negative */
|
||||
if (!(flags & RENAME_EXCHANGE) && newent->d_inode) {
|
||||
fuse_invalidate_attr(newent->d_inode);
|
||||
if (!(flags & RENAME_EXCHANGE) && d_really_is_positive(newent)) {
|
||||
fuse_invalidate_attr(d_inode(newent));
|
||||
fuse_invalidate_entry_cache(newent);
|
||||
fuse_update_ctime(newent->d_inode);
|
||||
fuse_update_ctime(d_inode(newent));
|
||||
}
|
||||
} else if (err == -EINTR) {
|
||||
/* If request was interrupted, DEITY only knows if the
|
||||
|
|
@ -746,7 +746,7 @@ static int fuse_rename_common(struct inode *olddir, struct dentry *oldent,
|
|||
directory), then there can be inconsistency between
|
||||
the dcache and the real filesystem. Tough luck. */
|
||||
fuse_invalidate_entry(oldent);
|
||||
if (newent->d_inode)
|
||||
if (d_really_is_positive(newent))
|
||||
fuse_invalidate_entry(newent);
|
||||
}
|
||||
|
||||
|
|
@ -788,7 +788,7 @@ static int fuse_link(struct dentry *entry, struct inode *newdir,
|
|||
{
|
||||
int err;
|
||||
struct fuse_link_in inarg;
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
FUSE_ARGS(args);
|
||||
|
||||
|
|
@ -961,9 +961,9 @@ int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid,
|
|||
fuse_invalidate_attr(parent);
|
||||
fuse_invalidate_entry(entry);
|
||||
|
||||
if (child_nodeid != 0 && entry->d_inode) {
|
||||
mutex_lock(&entry->d_inode->i_mutex);
|
||||
if (get_node_id(entry->d_inode) != child_nodeid) {
|
||||
if (child_nodeid != 0 && d_really_is_positive(entry)) {
|
||||
mutex_lock(&d_inode(entry)->i_mutex);
|
||||
if (get_node_id(d_inode(entry)) != child_nodeid) {
|
||||
err = -ENOENT;
|
||||
goto badentry;
|
||||
}
|
||||
|
|
@ -977,13 +977,13 @@ int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid,
|
|||
err = -ENOTEMPTY;
|
||||
goto badentry;
|
||||
}
|
||||
entry->d_inode->i_flags |= S_DEAD;
|
||||
d_inode(entry)->i_flags |= S_DEAD;
|
||||
}
|
||||
dont_mount(entry);
|
||||
clear_nlink(entry->d_inode);
|
||||
clear_nlink(d_inode(entry));
|
||||
err = 0;
|
||||
badentry:
|
||||
mutex_unlock(&entry->d_inode->i_mutex);
|
||||
mutex_unlock(&d_inode(entry)->i_mutex);
|
||||
if (!err)
|
||||
d_delete(entry);
|
||||
} else {
|
||||
|
|
@ -1169,7 +1169,7 @@ static int fuse_direntplus_link(struct file *file,
|
|||
struct qstr name = QSTR_INIT(dirent->name, dirent->namelen);
|
||||
struct dentry *dentry;
|
||||
struct dentry *alias;
|
||||
struct inode *dir = parent->d_inode;
|
||||
struct inode *dir = d_inode(parent);
|
||||
struct fuse_conn *fc;
|
||||
struct inode *inode;
|
||||
|
||||
|
|
@ -1205,7 +1205,7 @@ static int fuse_direntplus_link(struct file *file,
|
|||
name.hash = full_name_hash(name.name, name.len);
|
||||
dentry = d_lookup(parent, &name);
|
||||
if (dentry) {
|
||||
inode = dentry->d_inode;
|
||||
inode = d_inode(dentry);
|
||||
if (!inode) {
|
||||
d_drop(dentry);
|
||||
} else if (get_node_id(inode) != o->nodeid ||
|
||||
|
|
@ -1367,7 +1367,7 @@ static int fuse_readdir(struct file *file, struct dir_context *ctx)
|
|||
|
||||
static char *read_link(struct dentry *dentry)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
FUSE_ARGS(args);
|
||||
char *link;
|
||||
|
|
@ -1712,7 +1712,7 @@ error:
|
|||
|
||||
static int fuse_setattr(struct dentry *entry, struct iattr *attr)
|
||||
{
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
|
||||
if (!fuse_allow_current_process(get_fuse_conn(inode)))
|
||||
return -EACCES;
|
||||
|
|
@ -1726,7 +1726,7 @@ static int fuse_setattr(struct dentry *entry, struct iattr *attr)
|
|||
static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry,
|
||||
struct kstat *stat)
|
||||
{
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
|
||||
if (!fuse_allow_current_process(fc))
|
||||
|
|
@ -1738,7 +1738,7 @@ static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry,
|
|||
static int fuse_setxattr(struct dentry *entry, const char *name,
|
||||
const void *value, size_t size, int flags)
|
||||
{
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
FUSE_ARGS(args);
|
||||
struct fuse_setxattr_in inarg;
|
||||
|
|
@ -1774,7 +1774,7 @@ static int fuse_setxattr(struct dentry *entry, const char *name,
|
|||
static ssize_t fuse_getxattr(struct dentry *entry, const char *name,
|
||||
void *value, size_t size)
|
||||
{
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
FUSE_ARGS(args);
|
||||
struct fuse_getxattr_in inarg;
|
||||
|
|
@ -1815,7 +1815,7 @@ static ssize_t fuse_getxattr(struct dentry *entry, const char *name,
|
|||
|
||||
static ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size)
|
||||
{
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
FUSE_ARGS(args);
|
||||
struct fuse_getxattr_in inarg;
|
||||
|
|
@ -1857,7 +1857,7 @@ static ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size)
|
|||
|
||||
static int fuse_removexattr(struct dentry *entry, const char *name)
|
||||
{
|
||||
struct inode *inode = entry->d_inode;
|
||||
struct inode *inode = d_inode(entry);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
FUSE_ARGS(args);
|
||||
int err;
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ static int fuse_statfs(struct dentry *dentry, struct kstatfs *buf)
|
|||
memset(&outarg, 0, sizeof(outarg));
|
||||
args.in.numargs = 0;
|
||||
args.in.h.opcode = FUSE_STATFS;
|
||||
args.in.h.nodeid = get_node_id(dentry->d_inode);
|
||||
args.in.h.nodeid = get_node_id(d_inode(dentry));
|
||||
args.out.numargs = 1;
|
||||
args.out.args[0].size = sizeof(outarg);
|
||||
args.out.args[0].value = &outarg;
|
||||
|
|
@ -740,7 +740,7 @@ static struct dentry *fuse_fh_to_parent(struct super_block *sb,
|
|||
|
||||
static struct dentry *fuse_get_parent(struct dentry *child)
|
||||
{
|
||||
struct inode *child_inode = child->d_inode;
|
||||
struct inode *child_inode = d_inode(child);
|
||||
struct fuse_conn *fc = get_fuse_conn(child_inode);
|
||||
struct inode *inode;
|
||||
struct dentry *parent;
|
||||
|
|
|
|||
Loading…
Reference in a new issue