mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull fourth vfs update from Al Viro: "d_inode() annotations from David Howells (sat in for-next since before the beginning of merge window) + four assorted fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: RCU pathwalk breakage when running into a symlink overmounting something fix I_DIO_WAKEUP definition direct-io: only inc/dec inode->i_dio_count for file systems fs/9p: fix readdir() VFS: assorted d_backing_inode() annotations VFS: fs/inode.c helpers: d_inode() annotations VFS: fs/cachefiles: d_backing_inode() annotations VFS: fs library helpers: d_inode() annotations VFS: assorted weird filesystems: d_inode() annotations VFS: normal filesystems (and lustre): d_inode() annotations VFS: security/: d_inode() annotations VFS: security/: d_backing_inode() annotations VFS: net/: d_inode() annotations VFS: net/unix: d_backing_inode() annotations VFS: kernel/: d_inode() annotations VFS: audit: d_backing_inode() annotations VFS: Fix up some ->d_inode accesses in the chelsio driver VFS: Cachefiles should perform fs modifications on the top layer only VFS: AF_UNIX sockets should call mknod on the top layer only
This commit is contained in:
commit
9ec3a646fe
343 changed files with 1877 additions and 1867 deletions
|
|
@ -210,7 +210,7 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent)
|
|||
avefreeb = freeb / ngroups;
|
||||
ndirs = percpu_counter_read_positive(&sbi->s_dirs_counter);
|
||||
|
||||
if ((parent == sb->s_root->d_inode) ||
|
||||
if ((parent == d_inode(sb->s_root)) ||
|
||||
(EXT3_I(parent)->i_flags & EXT3_TOPDIR_FL)) {
|
||||
int best_ndir = inodes_per_group;
|
||||
int best_group = -1;
|
||||
|
|
|
|||
|
|
@ -3240,7 +3240,7 @@ int ext3_write_inode(struct inode *inode, struct writeback_control *wbc)
|
|||
*/
|
||||
int ext3_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
int error, rc = 0;
|
||||
const unsigned int ia_valid = attr->ia_valid;
|
||||
|
||||
|
|
|
|||
|
|
@ -1049,19 +1049,19 @@ struct dentry *ext3_get_parent(struct dentry *child)
|
|||
struct ext3_dir_entry_2 * de;
|
||||
struct buffer_head *bh;
|
||||
|
||||
bh = ext3_find_entry(child->d_inode, &dotdot, &de);
|
||||
bh = ext3_find_entry(d_inode(child), &dotdot, &de);
|
||||
if (!bh)
|
||||
return ERR_PTR(-ENOENT);
|
||||
ino = le32_to_cpu(de->inode);
|
||||
brelse(bh);
|
||||
|
||||
if (!ext3_valid_inum(child->d_inode->i_sb, ino)) {
|
||||
ext3_error(child->d_inode->i_sb, "ext3_get_parent",
|
||||
if (!ext3_valid_inum(d_inode(child)->i_sb, ino)) {
|
||||
ext3_error(d_inode(child)->i_sb, "ext3_get_parent",
|
||||
"bad inode number: %lu", ino);
|
||||
return ERR_PTR(-EIO);
|
||||
}
|
||||
|
||||
return d_obtain_alias(ext3_iget(child->d_inode->i_sb, ino));
|
||||
return d_obtain_alias(ext3_iget(d_inode(child)->i_sb, ino));
|
||||
}
|
||||
|
||||
#define S_SHIFT 12
|
||||
|
|
@ -1243,7 +1243,7 @@ static int add_dirent_to_buf(handle_t *handle, struct dentry *dentry,
|
|||
struct inode *inode, struct ext3_dir_entry_2 *de,
|
||||
struct buffer_head * bh)
|
||||
{
|
||||
struct inode *dir = dentry->d_parent->d_inode;
|
||||
struct inode *dir = d_inode(dentry->d_parent);
|
||||
const char *name = dentry->d_name.name;
|
||||
int namelen = dentry->d_name.len;
|
||||
unsigned long offset = 0;
|
||||
|
|
@ -1330,7 +1330,7 @@ static int add_dirent_to_buf(handle_t *handle, struct dentry *dentry,
|
|||
static int make_indexed_dir(handle_t *handle, struct dentry *dentry,
|
||||
struct inode *inode, struct buffer_head *bh)
|
||||
{
|
||||
struct inode *dir = dentry->d_parent->d_inode;
|
||||
struct inode *dir = d_inode(dentry->d_parent);
|
||||
const char *name = dentry->d_name.name;
|
||||
int namelen = dentry->d_name.len;
|
||||
struct buffer_head *bh2;
|
||||
|
|
@ -1435,7 +1435,7 @@ static int make_indexed_dir(handle_t *handle, struct dentry *dentry,
|
|||
static int ext3_add_entry (handle_t *handle, struct dentry *dentry,
|
||||
struct inode *inode)
|
||||
{
|
||||
struct inode *dir = dentry->d_parent->d_inode;
|
||||
struct inode *dir = d_inode(dentry->d_parent);
|
||||
struct buffer_head * bh;
|
||||
struct ext3_dir_entry_2 *de;
|
||||
struct super_block * sb;
|
||||
|
|
@ -1489,7 +1489,7 @@ static int ext3_dx_add_entry(handle_t *handle, struct dentry *dentry,
|
|||
struct dx_entry *entries, *at;
|
||||
struct dx_hash_info hinfo;
|
||||
struct buffer_head * bh;
|
||||
struct inode *dir = dentry->d_parent->d_inode;
|
||||
struct inode *dir = d_inode(dentry->d_parent);
|
||||
struct super_block * sb = dir->i_sb;
|
||||
struct ext3_dir_entry_2 *de;
|
||||
int err;
|
||||
|
|
@ -2111,7 +2111,7 @@ static int ext3_rmdir (struct inode * dir, struct dentry *dentry)
|
|||
/* Initialize quotas before so that eventual writes go in
|
||||
* separate transaction */
|
||||
dquot_initialize(dir);
|
||||
dquot_initialize(dentry->d_inode);
|
||||
dquot_initialize(d_inode(dentry));
|
||||
|
||||
handle = ext3_journal_start(dir, EXT3_DELETE_TRANS_BLOCKS(dir->i_sb));
|
||||
if (IS_ERR(handle))
|
||||
|
|
@ -2125,7 +2125,7 @@ static int ext3_rmdir (struct inode * dir, struct dentry *dentry)
|
|||
if (IS_DIRSYNC(dir))
|
||||
handle->h_sync = 1;
|
||||
|
||||
inode = dentry->d_inode;
|
||||
inode = d_inode(dentry);
|
||||
|
||||
retval = -EIO;
|
||||
if (le32_to_cpu(de->inode) != inode->i_ino)
|
||||
|
|
@ -2173,7 +2173,7 @@ static int ext3_unlink(struct inode * dir, struct dentry *dentry)
|
|||
/* Initialize quotas before so that eventual writes go
|
||||
* in separate transaction */
|
||||
dquot_initialize(dir);
|
||||
dquot_initialize(dentry->d_inode);
|
||||
dquot_initialize(d_inode(dentry));
|
||||
|
||||
handle = ext3_journal_start(dir, EXT3_DELETE_TRANS_BLOCKS(dir->i_sb));
|
||||
if (IS_ERR(handle))
|
||||
|
|
@ -2187,7 +2187,7 @@ static int ext3_unlink(struct inode * dir, struct dentry *dentry)
|
|||
if (!bh)
|
||||
goto end_unlink;
|
||||
|
||||
inode = dentry->d_inode;
|
||||
inode = d_inode(dentry);
|
||||
|
||||
retval = -EIO;
|
||||
if (le32_to_cpu(de->inode) != inode->i_ino)
|
||||
|
|
@ -2328,7 +2328,7 @@ static int ext3_link (struct dentry * old_dentry,
|
|||
struct inode * dir, struct dentry *dentry)
|
||||
{
|
||||
handle_t *handle;
|
||||
struct inode *inode = old_dentry->d_inode;
|
||||
struct inode *inode = d_inode(old_dentry);
|
||||
int err, retries = 0;
|
||||
|
||||
if (inode->i_nlink >= EXT3_LINK_MAX)
|
||||
|
|
@ -2391,8 +2391,8 @@ static int ext3_rename (struct inode * old_dir, struct dentry *old_dentry,
|
|||
|
||||
/* Initialize quotas before so that eventual writes go
|
||||
* in separate transaction */
|
||||
if (new_dentry->d_inode)
|
||||
dquot_initialize(new_dentry->d_inode);
|
||||
if (d_really_is_positive(new_dentry))
|
||||
dquot_initialize(d_inode(new_dentry));
|
||||
handle = ext3_journal_start(old_dir, 2 *
|
||||
EXT3_DATA_TRANS_BLOCKS(old_dir->i_sb) +
|
||||
EXT3_INDEX_EXTRA_TRANS_BLOCKS + 2);
|
||||
|
|
@ -2409,12 +2409,12 @@ static int ext3_rename (struct inode * old_dir, struct dentry *old_dentry,
|
|||
* and merrily kill the link to whatever was created under the
|
||||
* same name. Goodbye sticky bit ;-<
|
||||
*/
|
||||
old_inode = old_dentry->d_inode;
|
||||
old_inode = d_inode(old_dentry);
|
||||
retval = -ENOENT;
|
||||
if (!old_bh || le32_to_cpu(old_de->inode) != old_inode->i_ino)
|
||||
goto end_rename;
|
||||
|
||||
new_inode = new_dentry->d_inode;
|
||||
new_inode = d_inode(new_dentry);
|
||||
new_bh = ext3_find_entry(new_dir, &new_dentry->d_name, &new_de);
|
||||
if (new_bh) {
|
||||
if (!new_inode) {
|
||||
|
|
|
|||
|
|
@ -1170,7 +1170,7 @@ static int parse_options (char *options, struct super_block *sb,
|
|||
return 0;
|
||||
}
|
||||
|
||||
journal_inode = path.dentry->d_inode;
|
||||
journal_inode = d_inode(path.dentry);
|
||||
if (!S_ISBLK(journal_inode->i_mode)) {
|
||||
ext3_msg(sb, KERN_ERR, "error: journal path %s "
|
||||
"is not a block device", journal_path);
|
||||
|
|
@ -2947,7 +2947,7 @@ static int ext3_write_info(struct super_block *sb, int type)
|
|||
handle_t *handle;
|
||||
|
||||
/* Data block + inode block */
|
||||
handle = ext3_journal_start(sb->s_root->d_inode, 2);
|
||||
handle = ext3_journal_start(d_inode(sb->s_root), 2);
|
||||
if (IS_ERR(handle))
|
||||
return PTR_ERR(handle);
|
||||
ret = dquot_commit_info(sb, type);
|
||||
|
|
@ -2994,7 +2994,7 @@ static int ext3_quota_on(struct super_block *sb, int type, int format_id,
|
|||
* When we journal data on quota file, we have to flush journal to see
|
||||
* all updates to the file when we bypass pagecache...
|
||||
*/
|
||||
if (ext3_should_journal_data(path->dentry->d_inode)) {
|
||||
if (ext3_should_journal_data(d_inode(path->dentry))) {
|
||||
/*
|
||||
* We don't need to lock updates but journal_flush() could
|
||||
* otherwise be livelocked...
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
static void * ext3_follow_link(struct dentry *dentry, struct nameidata *nd)
|
||||
{
|
||||
struct ext3_inode_info *ei = EXT3_I(dentry->d_inode);
|
||||
struct ext3_inode_info *ei = EXT3_I(d_inode(dentry));
|
||||
nd_set_link(nd, (char*)ei->i_data);
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ ext3_xattr_handler(int name_index)
|
|||
/*
|
||||
* Inode operation listxattr()
|
||||
*
|
||||
* dentry->d_inode->i_mutex: don't care
|
||||
* d_inode(dentry)->i_mutex: don't care
|
||||
*/
|
||||
ssize_t
|
||||
ext3_listxattr(struct dentry *dentry, char *buffer, size_t size)
|
||||
|
|
@ -355,7 +355,7 @@ ext3_xattr_list_entries(struct dentry *dentry, struct ext3_xattr_entry *entry,
|
|||
static int
|
||||
ext3_xattr_block_list(struct dentry *dentry, char *buffer, size_t buffer_size)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct buffer_head *bh = NULL;
|
||||
int error;
|
||||
|
||||
|
|
@ -391,7 +391,7 @@ cleanup:
|
|||
static int
|
||||
ext3_xattr_ibody_list(struct dentry *dentry, char *buffer, size_t buffer_size)
|
||||
{
|
||||
struct inode *inode = dentry->d_inode;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct ext3_xattr_ibody_header *header;
|
||||
struct ext3_inode *raw_inode;
|
||||
struct ext3_iloc iloc;
|
||||
|
|
@ -432,7 +432,7 @@ ext3_xattr_list(struct dentry *dentry, char *buffer, size_t buffer_size)
|
|||
{
|
||||
int i_error, b_error;
|
||||
|
||||
down_read(&EXT3_I(dentry->d_inode)->xattr_sem);
|
||||
down_read(&EXT3_I(d_inode(dentry))->xattr_sem);
|
||||
i_error = ext3_xattr_ibody_list(dentry, buffer, buffer_size);
|
||||
if (i_error < 0) {
|
||||
b_error = 0;
|
||||
|
|
@ -445,7 +445,7 @@ ext3_xattr_list(struct dentry *dentry, char *buffer, size_t buffer_size)
|
|||
if (b_error < 0)
|
||||
i_error = 0;
|
||||
}
|
||||
up_read(&EXT3_I(dentry->d_inode)->xattr_sem);
|
||||
up_read(&EXT3_I(d_inode(dentry))->xattr_sem);
|
||||
return i_error + b_error;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ ext3_xattr_security_get(struct dentry *dentry, const char *name,
|
|||
{
|
||||
if (strcmp(name, "") == 0)
|
||||
return -EINVAL;
|
||||
return ext3_xattr_get(dentry->d_inode, EXT3_XATTR_INDEX_SECURITY,
|
||||
return ext3_xattr_get(d_inode(dentry), EXT3_XATTR_INDEX_SECURITY,
|
||||
name, buffer, size);
|
||||
}
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ ext3_xattr_security_set(struct dentry *dentry, const char *name,
|
|||
{
|
||||
if (strcmp(name, "") == 0)
|
||||
return -EINVAL;
|
||||
return ext3_xattr_set(dentry->d_inode, EXT3_XATTR_INDEX_SECURITY,
|
||||
return ext3_xattr_set(d_inode(dentry), EXT3_XATTR_INDEX_SECURITY,
|
||||
name, value, size, flags);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ ext3_xattr_trusted_get(struct dentry *dentry, const char *name,
|
|||
{
|
||||
if (strcmp(name, "") == 0)
|
||||
return -EINVAL;
|
||||
return ext3_xattr_get(dentry->d_inode, EXT3_XATTR_INDEX_TRUSTED,
|
||||
return ext3_xattr_get(d_inode(dentry), EXT3_XATTR_INDEX_TRUSTED,
|
||||
name, buffer, size);
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ ext3_xattr_trusted_set(struct dentry *dentry, const char *name,
|
|||
{
|
||||
if (strcmp(name, "") == 0)
|
||||
return -EINVAL;
|
||||
return ext3_xattr_set(dentry->d_inode, EXT3_XATTR_INDEX_TRUSTED, name,
|
||||
return ext3_xattr_set(d_inode(dentry), EXT3_XATTR_INDEX_TRUSTED, name,
|
||||
value, size, flags);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ ext3_xattr_user_get(struct dentry *dentry, const char *name, void *buffer,
|
|||
return -EINVAL;
|
||||
if (!test_opt(dentry->d_sb, XATTR_USER))
|
||||
return -EOPNOTSUPP;
|
||||
return ext3_xattr_get(dentry->d_inode, EXT3_XATTR_INDEX_USER,
|
||||
return ext3_xattr_get(d_inode(dentry), EXT3_XATTR_INDEX_USER,
|
||||
name, buffer, size);
|
||||
}
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ ext3_xattr_user_set(struct dentry *dentry, const char *name,
|
|||
return -EINVAL;
|
||||
if (!test_opt(dentry->d_sb, XATTR_USER))
|
||||
return -EOPNOTSUPP;
|
||||
return ext3_xattr_set(dentry->d_inode, EXT3_XATTR_INDEX_USER,
|
||||
return ext3_xattr_set(d_inode(dentry), EXT3_XATTR_INDEX_USER,
|
||||
name, value, size, flags);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue