VFS: kernel/: d_inode() annotations
authorDavid Howells <dhowells@redhat.com>
Tue, 17 Mar 2015 22:26:16 +0000 (22:26 +0000)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 15 Apr 2015 19:06:55 +0000 (15:06 -0400)
relayfs and tracefs are dealing with inodes of their own;
those two act as filesystem drivers

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
kernel/relay.c
kernel/trace/trace.c
kernel/trace/trace_events.c
kernel/trace/trace_uprobe.c

index 5a56d3c8dc03a799e5f53169c85c7f33f05727eb..e9dbaeb8fd65c7d0af385043cddf2b7d7ef7fa8c 100644 (file)
@@ -407,7 +407,7 @@ static inline void relay_set_buf_dentry(struct rchan_buf *buf,
                                        struct dentry *dentry)
 {
        buf->dentry = dentry;
-       buf->dentry->d_inode->i_size = buf->early_bytes;
+       d_inode(buf->dentry)->i_size = buf->early_bytes;
 }
 
 static struct dentry *relay_create_buf_file(struct rchan *chan,
@@ -733,7 +733,7 @@ size_t relay_switch_subbuf(struct rchan_buf *buf, size_t length)
                buf->padding[old_subbuf] = buf->prev_padding;
                buf->subbufs_produced++;
                if (buf->dentry)
-                       buf->dentry->d_inode->i_size +=
+                       d_inode(buf->dentry)->i_size +=
                                buf->chan->subbuf_size -
                                buf->padding[old_subbuf];
                else
index 62c6506d663fa11e79128759bd03103d12ed7c0f..d44901bcd867e0b2565311c04c7047322683c2d9 100644 (file)
@@ -5846,7 +5846,7 @@ trace_create_cpu_file(const char *name, umode_t mode, struct dentry *parent,
        struct dentry *ret = trace_create_file(name, mode, parent, data, fops);
 
        if (ret) /* See tracing_get_cpu() */
-               ret->d_inode->i_cdev = (void *)(cpu + 1);
+               d_inode(ret)->i_cdev = (void *)(cpu + 1);
        return ret;
 }
 
@@ -6420,7 +6420,7 @@ static int instance_rmdir(struct inode *inode, struct dentry *dentry)
                return -ENOENT;
 
        /* The caller did a dget() on dentry */
-       mutex_unlock(&dentry->d_inode->i_mutex);
+       mutex_unlock(&d_inode(dentry)->i_mutex);
 
        /*
         * The inode mutex is locked, but debugfs_create_dir() will also
@@ -6435,7 +6435,7 @@ static int instance_rmdir(struct inode *inode, struct dentry *dentry)
        ret = instance_delete(dentry->d_iname);
 
        mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT);
-       mutex_lock(&dentry->d_inode->i_mutex);
+       mutex_lock(&d_inode(dentry)->i_mutex);
 
        return ret;
 }
@@ -6453,7 +6453,7 @@ static __init void create_trace_instances(struct dentry *d_tracer)
                return;
 
        /* Hijack the dir inode operations, to allow mkdir */
-       trace_instance_dir->d_inode->i_op = &instance_dir_inode_operations;
+       d_inode(trace_instance_dir)->i_op = &instance_dir_inode_operations;
 }
 
 static void
index db54dda10ccc179f733db8fd8407cc402c11e409..e19e7578a0d3f87328629c81c12ecf400f209784 100644 (file)
@@ -494,8 +494,8 @@ static void remove_event_file_dir(struct ftrace_event_file *file)
        if (dir) {
                spin_lock(&dir->d_lock);        /* probably unneeded */
                list_for_each_entry(child, &dir->d_subdirs, d_child) {
-                       if (child->d_inode)     /* probably unneeded */
-                               child->d_inode->i_private = NULL;
+                       if (d_really_is_positive(child))        /* probably unneeded */
+                               d_inode(child)->i_private = NULL;
                }
                spin_unlock(&dir->d_lock);
 
index 7dc1c8abecd6c6fd831a3f952d67454261dc2ab9..cb3b37e533cde1f68307dd56ef171b337c1543c8 100644 (file)
@@ -443,7 +443,7 @@ static int create_trace_uprobe(int argc, char **argv)
        if (ret)
                goto fail_address_parse;
 
-       inode = igrab(path.dentry->d_inode);
+       inode = igrab(d_inode(path.dentry));
        path_put(&path);
 
        if (!inode || !S_ISREG(inode->i_mode)) {