Commit c5ef6035 authored by David Howells's avatar David Howells Committed by Al Viro

VFS: net/: d_inode() annotations

socket inodes and sunrpc filesystems - inodes owned by that code
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a25b376b
...@@ -312,7 +312,7 @@ static const struct super_operations sockfs_ops = { ...@@ -312,7 +312,7 @@ static const struct super_operations sockfs_ops = {
static char *sockfs_dname(struct dentry *dentry, char *buffer, int buflen) static char *sockfs_dname(struct dentry *dentry, char *buffer, int buflen)
{ {
return dynamic_dname(dentry, buffer, buflen, "socket:[%lu]", return dynamic_dname(dentry, buffer, buflen, "socket:[%lu]",
dentry->d_inode->i_ino); d_inode(dentry)->i_ino);
} }
static const struct dentry_operations sockfs_dentry_operations = { static const struct dentry_operations sockfs_dentry_operations = {
...@@ -375,7 +375,7 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname) ...@@ -375,7 +375,7 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname)
&socket_file_ops); &socket_file_ops);
if (unlikely(IS_ERR(file))) { if (unlikely(IS_ERR(file))) {
/* drop dentry, keep inode */ /* drop dentry, keep inode */
ihold(path.dentry->d_inode); ihold(d_inode(path.dentry));
path_put(&path); path_put(&path);
return file; return file;
} }
...@@ -497,7 +497,7 @@ static ssize_t sockfs_listxattr(struct dentry *dentry, char *buffer, ...@@ -497,7 +497,7 @@ static ssize_t sockfs_listxattr(struct dentry *dentry, char *buffer,
ssize_t len; ssize_t len;
ssize_t used = 0; ssize_t used = 0;
len = security_inode_listsecurity(dentry->d_inode, buffer, size); len = security_inode_listsecurity(d_inode(dentry), buffer, size);
if (len < 0) if (len < 0)
return len; return len;
used += len; used += len;
......
...@@ -94,7 +94,7 @@ rpc_timeout_upcall_queue(struct work_struct *work) ...@@ -94,7 +94,7 @@ rpc_timeout_upcall_queue(struct work_struct *work)
} }
dentry = dget(pipe->dentry); dentry = dget(pipe->dentry);
spin_unlock(&pipe->lock); spin_unlock(&pipe->lock);
rpc_purge_list(dentry ? &RPC_I(dentry->d_inode)->waitq : NULL, rpc_purge_list(dentry ? &RPC_I(d_inode(dentry))->waitq : NULL,
&free_list, destroy_msg, -ETIMEDOUT); &free_list, destroy_msg, -ETIMEDOUT);
dput(dentry); dput(dentry);
} }
...@@ -152,7 +152,7 @@ rpc_queue_upcall(struct rpc_pipe *pipe, struct rpc_pipe_msg *msg) ...@@ -152,7 +152,7 @@ rpc_queue_upcall(struct rpc_pipe *pipe, struct rpc_pipe_msg *msg)
dentry = dget(pipe->dentry); dentry = dget(pipe->dentry);
spin_unlock(&pipe->lock); spin_unlock(&pipe->lock);
if (dentry) { if (dentry) {
wake_up(&RPC_I(dentry->d_inode)->waitq); wake_up(&RPC_I(d_inode(dentry))->waitq);
dput(dentry); dput(dentry);
} }
return res; return res;
...@@ -591,7 +591,7 @@ static int __rpc_mkpipe_dentry(struct inode *dir, struct dentry *dentry, ...@@ -591,7 +591,7 @@ static int __rpc_mkpipe_dentry(struct inode *dir, struct dentry *dentry,
err = __rpc_create_common(dir, dentry, S_IFIFO | mode, i_fop, private); err = __rpc_create_common(dir, dentry, S_IFIFO | mode, i_fop, private);
if (err) if (err)
return err; return err;
rpci = RPC_I(dentry->d_inode); rpci = RPC_I(d_inode(dentry));
rpci->private = private; rpci->private = private;
rpci->pipe = pipe; rpci->pipe = pipe;
fsnotify_create(dir, dentry); fsnotify_create(dir, dentry);
...@@ -616,7 +616,7 @@ int rpc_rmdir(struct dentry *dentry) ...@@ -616,7 +616,7 @@ int rpc_rmdir(struct dentry *dentry)
int error; int error;
parent = dget_parent(dentry); parent = dget_parent(dentry);
dir = parent->d_inode; dir = d_inode(parent);
mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT);
error = __rpc_rmdir(dir, dentry); error = __rpc_rmdir(dir, dentry);
mutex_unlock(&dir->i_mutex); mutex_unlock(&dir->i_mutex);
...@@ -638,7 +638,7 @@ static int __rpc_unlink(struct inode *dir, struct dentry *dentry) ...@@ -638,7 +638,7 @@ static int __rpc_unlink(struct inode *dir, struct dentry *dentry)
static int __rpc_rmpipe(struct inode *dir, struct dentry *dentry) static int __rpc_rmpipe(struct inode *dir, struct dentry *dentry)
{ {
struct inode *inode = dentry->d_inode; struct inode *inode = d_inode(dentry);
rpc_close_pipes(inode); rpc_close_pipes(inode);
return __rpc_unlink(dir, dentry); return __rpc_unlink(dir, dentry);
...@@ -654,7 +654,7 @@ static struct dentry *__rpc_lookup_create_exclusive(struct dentry *parent, ...@@ -654,7 +654,7 @@ static struct dentry *__rpc_lookup_create_exclusive(struct dentry *parent,
if (!dentry) if (!dentry)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
} }
if (dentry->d_inode == NULL) if (d_really_is_negative(dentry))
return dentry; return dentry;
dput(dentry); dput(dentry);
return ERR_PTR(-EEXIST); return ERR_PTR(-EEXIST);
...@@ -667,7 +667,7 @@ static void __rpc_depopulate(struct dentry *parent, ...@@ -667,7 +667,7 @@ static void __rpc_depopulate(struct dentry *parent,
const struct rpc_filelist *files, const struct rpc_filelist *files,
int start, int eof) int start, int eof)
{ {
struct inode *dir = parent->d_inode; struct inode *dir = d_inode(parent);
struct dentry *dentry; struct dentry *dentry;
struct qstr name; struct qstr name;
int i; int i;
...@@ -679,9 +679,9 @@ static void __rpc_depopulate(struct dentry *parent, ...@@ -679,9 +679,9 @@ static void __rpc_depopulate(struct dentry *parent,
if (dentry == NULL) if (dentry == NULL)
continue; continue;
if (dentry->d_inode == NULL) if (d_really_is_negative(dentry))
goto next; goto next;
switch (dentry->d_inode->i_mode & S_IFMT) { switch (d_inode(dentry)->i_mode & S_IFMT) {
default: default:
BUG(); BUG();
case S_IFREG: case S_IFREG:
...@@ -699,7 +699,7 @@ static void rpc_depopulate(struct dentry *parent, ...@@ -699,7 +699,7 @@ static void rpc_depopulate(struct dentry *parent,
const struct rpc_filelist *files, const struct rpc_filelist *files,
int start, int eof) int start, int eof)
{ {
struct inode *dir = parent->d_inode; struct inode *dir = d_inode(parent);
mutex_lock_nested(&dir->i_mutex, I_MUTEX_CHILD); mutex_lock_nested(&dir->i_mutex, I_MUTEX_CHILD);
__rpc_depopulate(parent, files, start, eof); __rpc_depopulate(parent, files, start, eof);
...@@ -711,7 +711,7 @@ static int rpc_populate(struct dentry *parent, ...@@ -711,7 +711,7 @@ static int rpc_populate(struct dentry *parent,
int start, int eof, int start, int eof,
void *private) void *private)
{ {
struct inode *dir = parent->d_inode; struct inode *dir = d_inode(parent);
struct dentry *dentry; struct dentry *dentry;
int i, err; int i, err;
...@@ -754,7 +754,7 @@ static struct dentry *rpc_mkdir_populate(struct dentry *parent, ...@@ -754,7 +754,7 @@ static struct dentry *rpc_mkdir_populate(struct dentry *parent,
int (*populate)(struct dentry *, void *), void *args_populate) int (*populate)(struct dentry *, void *), void *args_populate)
{ {
struct dentry *dentry; struct dentry *dentry;
struct inode *dir = parent->d_inode; struct inode *dir = d_inode(parent);
int error; int error;
mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT);
...@@ -787,7 +787,7 @@ static int rpc_rmdir_depopulate(struct dentry *dentry, ...@@ -787,7 +787,7 @@ static int rpc_rmdir_depopulate(struct dentry *dentry,
int error; int error;
parent = dget_parent(dentry); parent = dget_parent(dentry);
dir = parent->d_inode; dir = d_inode(parent);
mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT);
if (depopulate != NULL) if (depopulate != NULL)
depopulate(dentry); depopulate(dentry);
...@@ -819,7 +819,7 @@ struct dentry *rpc_mkpipe_dentry(struct dentry *parent, const char *name, ...@@ -819,7 +819,7 @@ struct dentry *rpc_mkpipe_dentry(struct dentry *parent, const char *name,
void *private, struct rpc_pipe *pipe) void *private, struct rpc_pipe *pipe)
{ {
struct dentry *dentry; struct dentry *dentry;
struct inode *dir = parent->d_inode; struct inode *dir = d_inode(parent);
umode_t umode = S_IFIFO | S_IRUSR | S_IWUSR; umode_t umode = S_IFIFO | S_IRUSR | S_IWUSR;
int err; int err;
...@@ -864,7 +864,7 @@ rpc_unlink(struct dentry *dentry) ...@@ -864,7 +864,7 @@ rpc_unlink(struct dentry *dentry)
int error = 0; int error = 0;
parent = dget_parent(dentry); parent = dget_parent(dentry);
dir = parent->d_inode; dir = d_inode(parent);
mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT);
error = __rpc_rmpipe(dir, dentry); error = __rpc_rmpipe(dir, dentry);
mutex_unlock(&dir->i_mutex); mutex_unlock(&dir->i_mutex);
...@@ -1375,7 +1375,7 @@ rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry) ...@@ -1375,7 +1375,7 @@ rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry)
struct dentry *clnt_dir = pipe_dentry->d_parent; struct dentry *clnt_dir = pipe_dentry->d_parent;
struct dentry *gssd_dir = clnt_dir->d_parent; struct dentry *gssd_dir = clnt_dir->d_parent;
__rpc_rmpipe(clnt_dir->d_inode, pipe_dentry); __rpc_rmpipe(d_inode(clnt_dir), pipe_dentry);
__rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1); __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1);
__rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1); __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1);
dput(pipe_dentry); dput(pipe_dentry);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment