[PATCH 01/76] vfs: Introduce struct fs_view
We want to de-couple some items from struct super_block, in particular those that provide a 'fiew' into an fs. Introduce a small struct, fs_view to contain these fields. This first patch has a mostly empty fs_view. We do however, link it into the VFS: Each super_block gets a default fs_view which is filled in via the usual superblock intialization methods. struct inode is updated to point to an fs_view structure via a new 'i_view' pointer, which replaces i_sb. A filesystem can now optionally provide their own fs_view to point i_view to. So we don't lose our link from inode to superblock, fs_view gets an embedded super_block pointer. A helper function, inode_sb() is introduced to make getting the superblock from an inode less clunky. Filesystems need no functional changes, and the only additional memory usage here is the added pointer on struct super_block. Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/inode.c | 2 +- fs/super.c | 1 + include/linux/fs.h | 21 - 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index ef362364d396..4f08fdc2c60f 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -133,7 +133,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) static const struct file_operations no_open_fops = {.open = no_open}; struct address_space *const mapping = >i_data; - inode->i_sb = sb; + inode->i_view = >s_view; inode->i_blkbits = sb->s_blocksize_bits; inode->i_flags = 0; atomic_set(>i_count, 1); diff --git a/fs/super.c b/fs/super.c index 672538ca9831..5258a57d410a 100644 --- a/fs/super.c +++ b/fs/super.c @@ -245,6 +245,7 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags, s->s_op = _op; s->s_time_gran = 10; s->cleancache_poolid = CLEANCACHE_NO_POOL; + s->s_view.v_sb = s; s->s_shrink.seeks = DEFAULT_SEEKS; s->s_shrink.scan_objects = super_cache_scan; diff --git a/include/linux/fs.h b/include/linux/fs.h index c6baf767619e..4561cb9156d4 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -580,7 +580,7 @@ struct inode { #endif const struct inode_operations *i_op; - struct super_block *i_sb; + struct fs_view *i_view; struct address_space*i_mapping; #ifdef CONFIG_SECURITY @@ -1340,6 +1340,24 @@ struct sb_writers { struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS]; }; +/* + * "View" into a filesystem. Allows us to abstract out those + * superblock fields which change between the roots on a given + * filesystem. Most filesystems can ignore this - inodes are pointed + * to the default view 's_view' during initialization. + * + * A file system with multiple roots should allocate a view structure + * per root and point each inodes view pointer to it in iget. + */ +struct fs_view { + struct super_block *v_sb; +}; + +static inline struct super_block *inode_sb(const struct inode *inode) +{ + return inode->i_view->v_sb; +} + struct super_block { struct list_heads_list; /* Keep this first */ dev_t s_dev; /* search index; _not_ kdev_t */ @@ -1358,6 +1376,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_ts_active; + struct fs_view s_view; /* default view into the fs */ #ifdef CONFIG_SECURITY void*s_security; #endif -- 2.15.1
[PATCH 01/76] vfs: Introduce struct fs_view
We want to de-couple some items from struct super_block, in particular those that provide a 'fiew' into an fs. Introduce a small struct, fs_view to contain these fields. This first patch has a mostly empty fs_view. We do however, link it into the VFS: Each super_block gets a default fs_view which is filled in via the usual superblock intialization methods. struct inode is updated to point to an fs_view structure via a new 'i_view' pointer, which replaces i_sb. A filesystem can now optionally provide their own fs_view to point i_view to. So we don't lose our link from inode to superblock, fs_view gets an embedded super_block pointer. A helper function, inode_sb() is introduced to make getting the superblock from an inode less clunky. Filesystems need no functional changes, and the only additional memory usage here is the added pointer on struct super_block. Signed-off-by: Mark Fasheh --- fs/inode.c | 2 +- fs/super.c | 1 + include/linux/fs.h | 21 - 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index ef362364d396..4f08fdc2c60f 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -133,7 +133,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) static const struct file_operations no_open_fops = {.open = no_open}; struct address_space *const mapping = >i_data; - inode->i_sb = sb; + inode->i_view = >s_view; inode->i_blkbits = sb->s_blocksize_bits; inode->i_flags = 0; atomic_set(>i_count, 1); diff --git a/fs/super.c b/fs/super.c index 672538ca9831..5258a57d410a 100644 --- a/fs/super.c +++ b/fs/super.c @@ -245,6 +245,7 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags, s->s_op = _op; s->s_time_gran = 10; s->cleancache_poolid = CLEANCACHE_NO_POOL; + s->s_view.v_sb = s; s->s_shrink.seeks = DEFAULT_SEEKS; s->s_shrink.scan_objects = super_cache_scan; diff --git a/include/linux/fs.h b/include/linux/fs.h index c6baf767619e..4561cb9156d4 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -580,7 +580,7 @@ struct inode { #endif const struct inode_operations *i_op; - struct super_block *i_sb; + struct fs_view *i_view; struct address_space*i_mapping; #ifdef CONFIG_SECURITY @@ -1340,6 +1340,24 @@ struct sb_writers { struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS]; }; +/* + * "View" into a filesystem. Allows us to abstract out those + * superblock fields which change between the roots on a given + * filesystem. Most filesystems can ignore this - inodes are pointed + * to the default view 's_view' during initialization. + * + * A file system with multiple roots should allocate a view structure + * per root and point each inodes view pointer to it in iget. + */ +struct fs_view { + struct super_block *v_sb; +}; + +static inline struct super_block *inode_sb(const struct inode *inode) +{ + return inode->i_view->v_sb; +} + struct super_block { struct list_heads_list; /* Keep this first */ dev_t s_dev; /* search index; _not_ kdev_t */ @@ -1358,6 +1376,7 @@ struct super_block { struct rw_semaphore s_umount; int s_count; atomic_ts_active; + struct fs_view s_view; /* default view into the fs */ #ifdef CONFIG_SECURITY void*s_security; #endif -- 2.15.1
[PATCH 05/76] include: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- include/linux/backing-dev.h | 4 +- include/linux/cleancache.h | 2 +- include/linux/fs.h | 29 +- include/linux/fscrypt_supp.h | 4 +- include/linux/hugetlb.h | 2 +- include/linux/nfs_fs.h | 2 +- include/trace/events/btrfs.h | 10 ++-- include/trace/events/ext4.h | 118 +++ include/trace/events/f2fs.h | 52 - include/trace/events/filelock.h | 8 +-- include/trace/events/filemap.h | 12 ++-- include/trace/events/fs_dax.h| 14 ++--- include/trace/events/jbd2.h | 2 +- include/trace/events/writeback.h | 2 +- include/uapi/linux/iso_fs.h | 4 +- 15 files changed, 134 insertions(+), 131 deletions(-) diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 3e4ce54d84ab..0fb241c9324a 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -157,7 +157,7 @@ static inline struct backing_dev_info *inode_to_bdi(struct inode *inode) if (!inode) return _backing_dev_info; - sb = inode->i_sb; + sb = inode_sb(inode); #ifdef CONFIG_BLOCK if (sb_is_blkdev_sb(sb)) return I_BDEV(inode)->bd_bdi; @@ -251,7 +251,7 @@ static inline bool inode_cgwb_enabled(struct inode *inode) cgroup_subsys_on_dfl(io_cgrp_subsys) && bdi_cap_account_dirty(bdi) && (bdi->capabilities & BDI_CAP_CGROUP_WRITEBACK) && - (inode->i_sb->s_iflags & SB_I_CGROUPWB); + (inode_sb(inode)->s_iflags & SB_I_CGROUPWB); } /** diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h index 5f5730c1d324..74f89782f70e 100644 --- a/include/linux/cleancache.h +++ b/include/linux/cleancache.h @@ -51,7 +51,7 @@ extern void __cleancache_invalidate_fs(struct super_block *); #define cleancache_enabled (1) static inline bool cleancache_fs_enabled_mapping(struct address_space *mapping) { - return mapping->host->i_sb->cleancache_poolid >= 0; + return inode_sb(mapping->host)->cleancache_poolid >= 0; } static inline bool cleancache_fs_enabled(struct page *page) { diff --git a/include/linux/fs.h b/include/linux/fs.h index 4561cb9156d4..5d4bb19b2a43 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1475,22 +1475,22 @@ struct super_block { */ static inline uid_t i_uid_read(const struct inode *inode) { - return from_kuid(inode->i_sb->s_user_ns, inode->i_uid); + return from_kuid(inode_sb(inode)->s_user_ns, inode->i_uid); } static inline gid_t i_gid_read(const struct inode *inode) { - return from_kgid(inode->i_sb->s_user_ns, inode->i_gid); + return from_kgid(inode_sb(inode)->s_user_ns, inode->i_gid); } static inline void i_uid_write(struct inode *inode, uid_t uid) { - inode->i_uid = make_kuid(inode->i_sb->s_user_ns, uid); + inode->i_uid = make_kuid(inode_sb(inode)->s_user_ns, uid); } static inline void i_gid_write(struct inode *inode, gid_t gid) { - inode->i_gid = make_kgid(inode->i_sb->s_user_ns, gid); + inode->i_gid = make_kgid(inode_sb(inode)->s_user_ns, gid); } extern struct timespec current_time(struct inode *inode); @@ -1899,10 +1899,10 @@ struct super_operations { * i_flags updated. Hence, i_flags no longer inherit the superblock mount * flags, so these have to be checked separately. -- r...@arm.uk.linux.org */ -#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) +#define __IS_FLG(inode, flg) (inode_sb((inode))->s_flags & (flg)) static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & SB_RDONLY; } -#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb) +#define IS_RDONLY(inode) sb_rdonly(inode_sb((inode))) #define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \ ((inode)->i_flags & S_SYNC)) #define IS_DIRSYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS|SB_DIRSYNC) || \ @@ -2725,21 +2725,22 @@ static inline void file_start_write(struct file *file) { if (!S_ISREG(file_inode(file)->i_mode)) return; - __sb_start_write(file_inode(file)->i_sb, SB_FREEZE_WRITE, true); + __sb_start_write(inode_sb(file_inode(file)), SB_FREEZE_WRITE, true); } static inline bool file_start_write_trylock(struct file *file) { if (!S_ISREG(file_inode(file)->i_mode)) return true; - return __sb_start_write(file_inode(file)->i_sb, SB_FREEZE_WRITE, false); + return __sb_start_write(inode_sb(file_inode(file)), SB_FREEZE_WRITE, + false); } static inline void file_end_write(struct file *file) { if (!S_I
[PATCH 04/76] fs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/aio.c | 6 ++-- fs/attr.c| 12 +++ fs/binfmt_misc.c | 6 ++-- fs/block_dev.c | 2 +- fs/cachefiles/rdwr.c | 4 +-- fs/dcache.c | 8 ++--- fs/direct-io.c | 8 ++--- fs/eventpoll.c | 2 +- fs/fs-writeback.c| 30 fs/inode.c | 96 +++- fs/ioctl.c | 8 ++--- fs/iomap.c | 7 ++-- fs/libfs.c | 2 +- fs/locks.c | 15 fs/namei.c | 14 fs/namespace.c | 6 ++-- fs/open.c| 6 ++-- fs/pipe.c| 6 ++-- fs/posix_acl.c | 2 +- fs/stat.c| 2 +- fs/xattr.c | 2 +- 21 files changed, 125 insertions(+), 119 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index 6bcd3fb5265a..bd2a187ca6d1 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1115,7 +1115,8 @@ static void aio_complete(struct kiocb *kiocb, long res, long res2) * thread. */ if (S_ISREG(file_inode(file)->i_mode)) - __sb_writers_acquired(file_inode(file)->i_sb, SB_FREEZE_WRITE); + __sb_writers_acquired(inode_sb(file_inode(file)), + SB_FREEZE_WRITE); file_end_write(file); } @@ -1546,7 +1547,8 @@ static ssize_t aio_write(struct kiocb *req, struct iocb *iocb, bool vectored, * complain about held lock when we return to userspace. */ if (S_ISREG(file_inode(file)->i_mode)) - __sb_writers_release(file_inode(file)->i_sb, SB_FREEZE_WRITE); + __sb_writers_release(inode_sb(file_inode(file)), +SB_FREEZE_WRITE); } kfree(iovec); return ret; diff --git a/fs/attr.c b/fs/attr.c index 12ffdb6fb63c..456c082fe636 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -119,7 +119,7 @@ int inode_newsize_ok(const struct inode *inode, loff_t offset) limit = rlimit(RLIMIT_FSIZE); if (limit != RLIM_INFINITY && offset > limit) goto out_sig; - if (offset > inode->i_sb->s_maxbytes) + if (offset > inode_sb(inode)->s_maxbytes) goto out_big; } else { /* @@ -164,13 +164,13 @@ void setattr_copy(struct inode *inode, const struct iattr *attr) inode->i_gid = attr->ia_gid; if (ia_valid & ATTR_ATIME) inode->i_atime = timespec_trunc(attr->ia_atime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MTIME) inode->i_mtime = timespec_trunc(attr->ia_mtime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_CTIME) inode->i_ctime = timespec_trunc(attr->ia_ctime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MODE) { umode_t mode = attr->ia_mode; @@ -288,10 +288,10 @@ int notify_change(struct dentry * dentry, struct iattr * attr, struct inode **de * namespace of the superblock. */ if (ia_valid & ATTR_UID && - !kuid_has_mapping(inode->i_sb->s_user_ns, attr->ia_uid)) + !kuid_has_mapping(inode_sb(inode)->s_user_ns, attr->ia_uid)) return -EOVERFLOW; if (ia_valid & ATTR_GID && - !kgid_has_mapping(inode->i_sb->s_user_ns, attr->ia_gid)) + !kgid_has_mapping(inode_sb(inode)->s_user_ns, attr->ia_gid)) return -EOVERFLOW; /* Don't allow modifications of files with invalid uids or diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index a7c5a9861bef..c5f84bf4506b 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -657,7 +657,7 @@ static ssize_t bm_entry_write(struct file *file, const char __user *buffer, break; case 3: /* Delete this handler. */ - root = file_inode(file)->i_sb->s_root; + root = inode_sb(file_inode(file))->s_root; inode_lock(d_inode(root)); if (!list_empty(>list)) @@ -685,7 +685,7 @@ static ssize_t bm_register_write(struct file *file, const char __user *buffer, { Node *e; struct inode *inode; - struct super_block *sb = file_inode(file)->i_sb; + s
[PATCH 05/76] include: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- include/linux/backing-dev.h | 4 +- include/linux/cleancache.h | 2 +- include/linux/fs.h | 29 +- include/linux/fscrypt_supp.h | 4 +- include/linux/hugetlb.h | 2 +- include/linux/nfs_fs.h | 2 +- include/trace/events/btrfs.h | 10 ++-- include/trace/events/ext4.h | 118 +++ include/trace/events/f2fs.h | 52 - include/trace/events/filelock.h | 8 +-- include/trace/events/filemap.h | 12 ++-- include/trace/events/fs_dax.h| 14 ++--- include/trace/events/jbd2.h | 2 +- include/trace/events/writeback.h | 2 +- include/uapi/linux/iso_fs.h | 4 +- 15 files changed, 134 insertions(+), 131 deletions(-) diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 3e4ce54d84ab..0fb241c9324a 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -157,7 +157,7 @@ static inline struct backing_dev_info *inode_to_bdi(struct inode *inode) if (!inode) return _backing_dev_info; - sb = inode->i_sb; + sb = inode_sb(inode); #ifdef CONFIG_BLOCK if (sb_is_blkdev_sb(sb)) return I_BDEV(inode)->bd_bdi; @@ -251,7 +251,7 @@ static inline bool inode_cgwb_enabled(struct inode *inode) cgroup_subsys_on_dfl(io_cgrp_subsys) && bdi_cap_account_dirty(bdi) && (bdi->capabilities & BDI_CAP_CGROUP_WRITEBACK) && - (inode->i_sb->s_iflags & SB_I_CGROUPWB); + (inode_sb(inode)->s_iflags & SB_I_CGROUPWB); } /** diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h index 5f5730c1d324..74f89782f70e 100644 --- a/include/linux/cleancache.h +++ b/include/linux/cleancache.h @@ -51,7 +51,7 @@ extern void __cleancache_invalidate_fs(struct super_block *); #define cleancache_enabled (1) static inline bool cleancache_fs_enabled_mapping(struct address_space *mapping) { - return mapping->host->i_sb->cleancache_poolid >= 0; + return inode_sb(mapping->host)->cleancache_poolid >= 0; } static inline bool cleancache_fs_enabled(struct page *page) { diff --git a/include/linux/fs.h b/include/linux/fs.h index 4561cb9156d4..5d4bb19b2a43 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1475,22 +1475,22 @@ struct super_block { */ static inline uid_t i_uid_read(const struct inode *inode) { - return from_kuid(inode->i_sb->s_user_ns, inode->i_uid); + return from_kuid(inode_sb(inode)->s_user_ns, inode->i_uid); } static inline gid_t i_gid_read(const struct inode *inode) { - return from_kgid(inode->i_sb->s_user_ns, inode->i_gid); + return from_kgid(inode_sb(inode)->s_user_ns, inode->i_gid); } static inline void i_uid_write(struct inode *inode, uid_t uid) { - inode->i_uid = make_kuid(inode->i_sb->s_user_ns, uid); + inode->i_uid = make_kuid(inode_sb(inode)->s_user_ns, uid); } static inline void i_gid_write(struct inode *inode, gid_t gid) { - inode->i_gid = make_kgid(inode->i_sb->s_user_ns, gid); + inode->i_gid = make_kgid(inode_sb(inode)->s_user_ns, gid); } extern struct timespec current_time(struct inode *inode); @@ -1899,10 +1899,10 @@ struct super_operations { * i_flags updated. Hence, i_flags no longer inherit the superblock mount * flags, so these have to be checked separately. -- r...@arm.uk.linux.org */ -#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) +#define __IS_FLG(inode, flg) (inode_sb((inode))->s_flags & (flg)) static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & SB_RDONLY; } -#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb) +#define IS_RDONLY(inode) sb_rdonly(inode_sb((inode))) #define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \ ((inode)->i_flags & S_SYNC)) #define IS_DIRSYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS|SB_DIRSYNC) || \ @@ -2725,21 +2725,22 @@ static inline void file_start_write(struct file *file) { if (!S_ISREG(file_inode(file)->i_mode)) return; - __sb_start_write(file_inode(file)->i_sb, SB_FREEZE_WRITE, true); + __sb_start_write(inode_sb(file_inode(file)), SB_FREEZE_WRITE, true); } static inline bool file_start_write_trylock(struct file *file) { if (!S_ISREG(file_inode(file)->i_mode)) return true; - return __sb_start_write(file_inode(file)->i_sb, SB_FREEZE_WRITE, false); + return __sb_start_write(inode_sb(file_inode(file)), SB_FREEZE_WRITE, + false); } static inline void file_end_write(struct file *file) { if (!S_ISREG(file_inode(file)
[PATCH 04/76] fs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/aio.c | 6 ++-- fs/attr.c| 12 +++ fs/binfmt_misc.c | 6 ++-- fs/block_dev.c | 2 +- fs/cachefiles/rdwr.c | 4 +-- fs/dcache.c | 8 ++--- fs/direct-io.c | 8 ++--- fs/eventpoll.c | 2 +- fs/fs-writeback.c| 30 fs/inode.c | 96 +++- fs/ioctl.c | 8 ++--- fs/iomap.c | 7 ++-- fs/libfs.c | 2 +- fs/locks.c | 15 fs/namei.c | 14 fs/namespace.c | 6 ++-- fs/open.c| 6 ++-- fs/pipe.c| 6 ++-- fs/posix_acl.c | 2 +- fs/stat.c| 2 +- fs/xattr.c | 2 +- 21 files changed, 125 insertions(+), 119 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index 6bcd3fb5265a..bd2a187ca6d1 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1115,7 +1115,8 @@ static void aio_complete(struct kiocb *kiocb, long res, long res2) * thread. */ if (S_ISREG(file_inode(file)->i_mode)) - __sb_writers_acquired(file_inode(file)->i_sb, SB_FREEZE_WRITE); + __sb_writers_acquired(inode_sb(file_inode(file)), + SB_FREEZE_WRITE); file_end_write(file); } @@ -1546,7 +1547,8 @@ static ssize_t aio_write(struct kiocb *req, struct iocb *iocb, bool vectored, * complain about held lock when we return to userspace. */ if (S_ISREG(file_inode(file)->i_mode)) - __sb_writers_release(file_inode(file)->i_sb, SB_FREEZE_WRITE); + __sb_writers_release(inode_sb(file_inode(file)), +SB_FREEZE_WRITE); } kfree(iovec); return ret; diff --git a/fs/attr.c b/fs/attr.c index 12ffdb6fb63c..456c082fe636 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -119,7 +119,7 @@ int inode_newsize_ok(const struct inode *inode, loff_t offset) limit = rlimit(RLIMIT_FSIZE); if (limit != RLIM_INFINITY && offset > limit) goto out_sig; - if (offset > inode->i_sb->s_maxbytes) + if (offset > inode_sb(inode)->s_maxbytes) goto out_big; } else { /* @@ -164,13 +164,13 @@ void setattr_copy(struct inode *inode, const struct iattr *attr) inode->i_gid = attr->ia_gid; if (ia_valid & ATTR_ATIME) inode->i_atime = timespec_trunc(attr->ia_atime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MTIME) inode->i_mtime = timespec_trunc(attr->ia_mtime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_CTIME) inode->i_ctime = timespec_trunc(attr->ia_ctime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MODE) { umode_t mode = attr->ia_mode; @@ -288,10 +288,10 @@ int notify_change(struct dentry * dentry, struct iattr * attr, struct inode **de * namespace of the superblock. */ if (ia_valid & ATTR_UID && - !kuid_has_mapping(inode->i_sb->s_user_ns, attr->ia_uid)) + !kuid_has_mapping(inode_sb(inode)->s_user_ns, attr->ia_uid)) return -EOVERFLOW; if (ia_valid & ATTR_GID && - !kgid_has_mapping(inode->i_sb->s_user_ns, attr->ia_gid)) + !kgid_has_mapping(inode_sb(inode)->s_user_ns, attr->ia_gid)) return -EOVERFLOW; /* Don't allow modifications of files with invalid uids or diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index a7c5a9861bef..c5f84bf4506b 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -657,7 +657,7 @@ static ssize_t bm_entry_write(struct file *file, const char __user *buffer, break; case 3: /* Delete this handler. */ - root = file_inode(file)->i_sb->s_root; + root = inode_sb(file_inode(file))->s_root; inode_lock(d_inode(root)); if (!list_empty(>list)) @@ -685,7 +685,7 @@ static ssize_t bm_register_write(struct file *file, const char __user *buffer, { Node *e; struct inode *inode; - struct super_block *sb = file_inode(file)->i_sb; + struct super_block *sb =
[PATCH 06/76] ipc: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- ipc/mqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipc/mqueue.c b/ipc/mqueue.c index a808f29d4c5a..ac65b309c393 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -106,7 +106,7 @@ static inline struct mqueue_inode_info *MQUEUE_I(struct inode *inode) */ static inline struct ipc_namespace *__get_ns_from_inode(struct inode *inode) { - return get_ipc_ns(inode->i_sb->s_fs_info); + return get_ipc_ns(inode_sb(inode)->s_fs_info); } static struct ipc_namespace *get_ns_from_inode(struct inode *inode) @@ -456,7 +456,7 @@ static int mqueue_create_attr(struct dentry *dentry, umode_t mode, void *arg) ipc_ns->mq_queues_count++; spin_unlock(_lock); - inode = mqueue_get_inode(dir->i_sb, ipc_ns, mode, attr); + inode = mqueue_get_inode(inode_sb(dir), ipc_ns, mode, attr); if (IS_ERR(inode)) { error = PTR_ERR(inode); spin_lock(_lock); -- 2.15.1
[PATCH 06/76] ipc: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- ipc/mqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipc/mqueue.c b/ipc/mqueue.c index a808f29d4c5a..ac65b309c393 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -106,7 +106,7 @@ static inline struct mqueue_inode_info *MQUEUE_I(struct inode *inode) */ static inline struct ipc_namespace *__get_ns_from_inode(struct inode *inode) { - return get_ipc_ns(inode->i_sb->s_fs_info); + return get_ipc_ns(inode_sb(inode)->s_fs_info); } static struct ipc_namespace *get_ns_from_inode(struct inode *inode) @@ -456,7 +456,7 @@ static int mqueue_create_attr(struct dentry *dentry, umode_t mode, void *arg) ipc_ns->mq_queues_count++; spin_unlock(_lock); - inode = mqueue_get_inode(dir->i_sb, ipc_ns, mode, attr); + inode = mqueue_get_inode(inode_sb(dir), ipc_ns, mode, attr); if (IS_ERR(inode)) { error = PTR_ERR(inode); spin_lock(_lock); -- 2.15.1
[PATCH 07/76] kernel: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- kernel/audit.c | 2 +- kernel/audit_fsnotify.c | 2 +- kernel/audit_watch.c| 5 +++-- kernel/auditsc.c| 8 kernel/bpf/inode.c | 6 +++--- kernel/bpf/offload.c| 4 ++-- kernel/events/core.c| 4 ++-- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/kernel/audit.c b/kernel/audit.c index 227db99b0f19..23159573aafd 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -2050,7 +2050,7 @@ void audit_copy_inode(struct audit_names *name, const struct dentry *dentry, struct inode *inode) { name->ino = inode->i_ino; - name->dev = inode->i_sb->s_dev; + name->dev = inode_sb(inode)->s_dev; name->mode = inode->i_mode; name->uid = inode->i_uid; name->gid = inode->i_gid; diff --git a/kernel/audit_fsnotify.c b/kernel/audit_fsnotify.c index 52f368b6561e..981432cef19c 100644 --- a/kernel/audit_fsnotify.c +++ b/kernel/audit_fsnotify.c @@ -76,7 +76,7 @@ int audit_mark_compare(struct audit_fsnotify_mark *mark, unsigned long ino, dev_ static void audit_update_mark(struct audit_fsnotify_mark *audit_mark, const struct inode *inode) { - audit_mark->dev = inode ? inode->i_sb->s_dev : AUDIT_DEV_UNSET; + audit_mark->dev = inode ? inode_sb(inode)->s_dev : AUDIT_DEV_UNSET; audit_mark->ino = inode ? inode->i_ino : AUDIT_INO_UNSET; } diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c index 9eb8b3511636..3e785d4cf8aa 100644 --- a/kernel/audit_watch.c +++ b/kernel/audit_watch.c @@ -499,7 +499,8 @@ static int audit_watch_handle_event(struct fsnotify_group *group, } if (mask & (FS_CREATE|FS_MOVED_TO) && inode) - audit_update_watch(parent, dname, inode->i_sb->s_dev, inode->i_ino, 0); + audit_update_watch(parent, dname, inode_sb(inode)->s_dev, + inode->i_ino, 0); else if (mask & (FS_DELETE|FS_MOVED_FROM)) audit_update_watch(parent, dname, AUDIT_DEV_UNSET, AUDIT_INO_UNSET, 1); else if (mask & (FS_DELETE_SELF|FS_UNMOUNT|FS_MOVE_SELF)) @@ -553,7 +554,7 @@ int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark) if (!exe_file) return 0; ino = file_inode(exe_file)->i_ino; - dev = file_inode(exe_file)->i_sb->s_dev; + dev = inode_sb(file_inode(exe_file))->s_dev; fput(exe_file); return audit_mark_compare(mark, ino, dev); } diff --git a/kernel/auditsc.c b/kernel/auditsc.c index e80459f7e132..9cb16a1ebedd 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -1797,7 +1797,7 @@ void __audit_inode(struct filename *name, const struct dentry *dentry, if (n->ino) { /* valid inode number, use that for the comparison */ if (n->ino != inode->i_ino || - n->dev != inode->i_sb->s_dev) + n->dev != inode_sb(inode)->s_dev) continue; } else if (n->name) { /* inode number has not been set, check the name */ @@ -1883,8 +1883,8 @@ void __audit_inode_child(struct inode *parent, struct audit_field *f = >rule.fields[i]; if (f->type == AUDIT_FSTYPE) { - if (audit_comparator(parent->i_sb->s_magic, - f->op, f->val)) { + if (audit_comparator(inode_sb(parent)->s_magic, +f->op, f->val)) { if (e->rule.action == AUDIT_NEVER) { rcu_read_unlock(); return; @@ -1906,7 +1906,7 @@ void __audit_inode_child(struct inode *parent, n->type != AUDIT_TYPE_UNKNOWN)) continue; - if (n->ino == parent->i_ino && n->dev == parent->i_sb->s_dev && + if (n->ino == parent->i_ino && n->dev == inode_sb(parent)->s_dev && !audit_compare_dname_path(dname, n->name->name, n->name_len)) { if (n->type == AUDIT_TYPE_UNKNOWN) diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c index 81e2f6995adb..130d9edc11eb 100644 --- a/kernel/bpf/inode.c +++ b/kernel/bpf/inode.c @@ -136,7 +136,7 @@ static int bpf_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) { struct
[PATCH 07/76] kernel: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- kernel/audit.c | 2 +- kernel/audit_fsnotify.c | 2 +- kernel/audit_watch.c| 5 +++-- kernel/auditsc.c| 8 kernel/bpf/inode.c | 6 +++--- kernel/bpf/offload.c| 4 ++-- kernel/events/core.c| 4 ++-- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/kernel/audit.c b/kernel/audit.c index 227db99b0f19..23159573aafd 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -2050,7 +2050,7 @@ void audit_copy_inode(struct audit_names *name, const struct dentry *dentry, struct inode *inode) { name->ino = inode->i_ino; - name->dev = inode->i_sb->s_dev; + name->dev = inode_sb(inode)->s_dev; name->mode = inode->i_mode; name->uid = inode->i_uid; name->gid = inode->i_gid; diff --git a/kernel/audit_fsnotify.c b/kernel/audit_fsnotify.c index 52f368b6561e..981432cef19c 100644 --- a/kernel/audit_fsnotify.c +++ b/kernel/audit_fsnotify.c @@ -76,7 +76,7 @@ int audit_mark_compare(struct audit_fsnotify_mark *mark, unsigned long ino, dev_ static void audit_update_mark(struct audit_fsnotify_mark *audit_mark, const struct inode *inode) { - audit_mark->dev = inode ? inode->i_sb->s_dev : AUDIT_DEV_UNSET; + audit_mark->dev = inode ? inode_sb(inode)->s_dev : AUDIT_DEV_UNSET; audit_mark->ino = inode ? inode->i_ino : AUDIT_INO_UNSET; } diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c index 9eb8b3511636..3e785d4cf8aa 100644 --- a/kernel/audit_watch.c +++ b/kernel/audit_watch.c @@ -499,7 +499,8 @@ static int audit_watch_handle_event(struct fsnotify_group *group, } if (mask & (FS_CREATE|FS_MOVED_TO) && inode) - audit_update_watch(parent, dname, inode->i_sb->s_dev, inode->i_ino, 0); + audit_update_watch(parent, dname, inode_sb(inode)->s_dev, + inode->i_ino, 0); else if (mask & (FS_DELETE|FS_MOVED_FROM)) audit_update_watch(parent, dname, AUDIT_DEV_UNSET, AUDIT_INO_UNSET, 1); else if (mask & (FS_DELETE_SELF|FS_UNMOUNT|FS_MOVE_SELF)) @@ -553,7 +554,7 @@ int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark) if (!exe_file) return 0; ino = file_inode(exe_file)->i_ino; - dev = file_inode(exe_file)->i_sb->s_dev; + dev = inode_sb(file_inode(exe_file))->s_dev; fput(exe_file); return audit_mark_compare(mark, ino, dev); } diff --git a/kernel/auditsc.c b/kernel/auditsc.c index e80459f7e132..9cb16a1ebedd 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -1797,7 +1797,7 @@ void __audit_inode(struct filename *name, const struct dentry *dentry, if (n->ino) { /* valid inode number, use that for the comparison */ if (n->ino != inode->i_ino || - n->dev != inode->i_sb->s_dev) + n->dev != inode_sb(inode)->s_dev) continue; } else if (n->name) { /* inode number has not been set, check the name */ @@ -1883,8 +1883,8 @@ void __audit_inode_child(struct inode *parent, struct audit_field *f = >rule.fields[i]; if (f->type == AUDIT_FSTYPE) { - if (audit_comparator(parent->i_sb->s_magic, - f->op, f->val)) { + if (audit_comparator(inode_sb(parent)->s_magic, +f->op, f->val)) { if (e->rule.action == AUDIT_NEVER) { rcu_read_unlock(); return; @@ -1906,7 +1906,7 @@ void __audit_inode_child(struct inode *parent, n->type != AUDIT_TYPE_UNKNOWN)) continue; - if (n->ino == parent->i_ino && n->dev == parent->i_sb->s_dev && + if (n->ino == parent->i_ino && n->dev == inode_sb(parent)->s_dev && !audit_compare_dname_path(dname, n->name->name, n->name_len)) { if (n->type == AUDIT_TYPE_UNKNOWN) diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c index 81e2f6995adb..130d9edc11eb 100644 --- a/kernel/bpf/inode.c +++ b/kernel/bpf/inode.c @@ -136,7 +136,7 @@ static int bpf_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) { struct inode *inode; - ino
[PATCH 11/76] fs/9p: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/9p/acl.c| 3 ++- fs/9p/v9fs.h | 2 +- fs/9p/vfs_inode.c | 8 fs/9p/vfs_inode_dotl.c | 14 +++--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/fs/9p/acl.c b/fs/9p/acl.c index 082d227fa56b..ccd91eb83725 100644 --- a/fs/9p/acl.c +++ b/fs/9p/acl.c @@ -266,7 +266,8 @@ static int v9fs_xattr_set_acl(const struct xattr_handler *handler, if (IS_ERR(acl)) return PTR_ERR(acl); else if (acl) { - retval = posix_acl_valid(inode->i_sb->s_user_ns, acl); + retval = posix_acl_valid(inode_sb(inode)->s_user_ns, +acl); if (retval) goto err_out; } diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h index 982e017acadb..9e27ef7ebeaa 100644 --- a/fs/9p/v9fs.h +++ b/fs/9p/v9fs.h @@ -171,7 +171,7 @@ extern struct inode *v9fs_inode_from_fid_dotl(struct v9fs_session_info *v9ses, static inline struct v9fs_session_info *v9fs_inode2v9ses(struct inode *inode) { - return (inode->i_sb->s_fs_info); + return (inode_sb(inode)->s_fs_info); } static inline struct v9fs_session_info *v9fs_dentry2v9ses(struct dentry *dentry) diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index bdabb2765d1b..fb6220552fc6 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -690,7 +690,7 @@ v9fs_create(struct v9fs_session_info *v9ses, struct inode *dir, /* * instantiate inode and assign the unopened fid to the dentry */ - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); p9_debug(P9_DEBUG_VFS, @@ -820,9 +820,9 @@ struct dentry *v9fs_vfs_lookup(struct inode *dir, struct dentry *dentry, * inode. But with cache disabled, lookup should do this. */ if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) - inode = v9fs_get_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_inode_from_fid(v9ses, fid, inode_sb(dir)); else - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { p9_client_clunk(fid); return ERR_CAST(inode); @@ -1425,7 +1425,7 @@ int v9fs_refresh_inode(struct p9_fid *fid, struct inode *inode) * because we may have cached data */ i_size = inode->i_size; - v9fs_stat2inode(st, inode, inode->i_sb); + v9fs_stat2inode(st, inode, inode_sb(inode)); if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) inode->i_size = i_size; spin_unlock(>i_lock); diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c index 7f6ae21a27b3..ed462264239c 100644 --- a/fs/9p/vfs_inode_dotl.c +++ b/fs/9p/vfs_inode_dotl.c @@ -318,7 +318,7 @@ v9fs_vfs_atomic_open_dotl(struct inode *dir, struct dentry *dentry, fid = NULL; goto error; } - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); p9_debug(P9_DEBUG_VFS, "inode creation failed %d\n", err); @@ -435,7 +435,7 @@ static int v9fs_vfs_mkdir_dotl(struct inode *dir, /* instantiate inode and assign the unopened fid to the dentry */ if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) { - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); p9_debug(P9_DEBUG_VFS, "inode creation failed %d\n", @@ -453,7 +453,7 @@ static int v9fs_vfs_mkdir_dotl(struct inode *dir, * inode with stat. We need to get an inode * so that we can set the acl with dentry */ - inode = v9fs_get_inode(dir->i_sb, mode, 0); + inode = v9fs_get_inode(inode_sb(dir), mode, 0); if (IS_ERR(inode)) { err = PTR_ERR(inode); goto error; @@ -723,7 +723,7 @@ v9fs_vfs_symlink_dotl(struct inode *dir, struct dentry *dentry, } /* instantiate inode and assign the unopened fid to dentry */ - inode = v9fs_get_new_inode_from_fid(v9ses, f
[PATCH 11/76] fs/9p: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/9p/acl.c| 3 ++- fs/9p/v9fs.h | 2 +- fs/9p/vfs_inode.c | 8 fs/9p/vfs_inode_dotl.c | 14 +++--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/fs/9p/acl.c b/fs/9p/acl.c index 082d227fa56b..ccd91eb83725 100644 --- a/fs/9p/acl.c +++ b/fs/9p/acl.c @@ -266,7 +266,8 @@ static int v9fs_xattr_set_acl(const struct xattr_handler *handler, if (IS_ERR(acl)) return PTR_ERR(acl); else if (acl) { - retval = posix_acl_valid(inode->i_sb->s_user_ns, acl); + retval = posix_acl_valid(inode_sb(inode)->s_user_ns, +acl); if (retval) goto err_out; } diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h index 982e017acadb..9e27ef7ebeaa 100644 --- a/fs/9p/v9fs.h +++ b/fs/9p/v9fs.h @@ -171,7 +171,7 @@ extern struct inode *v9fs_inode_from_fid_dotl(struct v9fs_session_info *v9ses, static inline struct v9fs_session_info *v9fs_inode2v9ses(struct inode *inode) { - return (inode->i_sb->s_fs_info); + return (inode_sb(inode)->s_fs_info); } static inline struct v9fs_session_info *v9fs_dentry2v9ses(struct dentry *dentry) diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index bdabb2765d1b..fb6220552fc6 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -690,7 +690,7 @@ v9fs_create(struct v9fs_session_info *v9ses, struct inode *dir, /* * instantiate inode and assign the unopened fid to the dentry */ - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); p9_debug(P9_DEBUG_VFS, @@ -820,9 +820,9 @@ struct dentry *v9fs_vfs_lookup(struct inode *dir, struct dentry *dentry, * inode. But with cache disabled, lookup should do this. */ if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) - inode = v9fs_get_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_inode_from_fid(v9ses, fid, inode_sb(dir)); else - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { p9_client_clunk(fid); return ERR_CAST(inode); @@ -1425,7 +1425,7 @@ int v9fs_refresh_inode(struct p9_fid *fid, struct inode *inode) * because we may have cached data */ i_size = inode->i_size; - v9fs_stat2inode(st, inode, inode->i_sb); + v9fs_stat2inode(st, inode, inode_sb(inode)); if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) inode->i_size = i_size; spin_unlock(>i_lock); diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c index 7f6ae21a27b3..ed462264239c 100644 --- a/fs/9p/vfs_inode_dotl.c +++ b/fs/9p/vfs_inode_dotl.c @@ -318,7 +318,7 @@ v9fs_vfs_atomic_open_dotl(struct inode *dir, struct dentry *dentry, fid = NULL; goto error; } - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); p9_debug(P9_DEBUG_VFS, "inode creation failed %d\n", err); @@ -435,7 +435,7 @@ static int v9fs_vfs_mkdir_dotl(struct inode *dir, /* instantiate inode and assign the unopened fid to the dentry */ if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) { - inode = v9fs_get_new_inode_from_fid(v9ses, fid, dir->i_sb); + inode = v9fs_get_new_inode_from_fid(v9ses, fid, inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); p9_debug(P9_DEBUG_VFS, "inode creation failed %d\n", @@ -453,7 +453,7 @@ static int v9fs_vfs_mkdir_dotl(struct inode *dir, * inode with stat. We need to get an inode * so that we can set the acl with dentry */ - inode = v9fs_get_inode(dir->i_sb, mode, 0); + inode = v9fs_get_inode(inode_sb(dir), mode, 0); if (IS_ERR(inode)) { err = PTR_ERR(inode); goto error; @@ -723,7 +723,7 @@ v9fs_vfs_symlink_dotl(struct inode *dir, struct dentry *dentry, } /* instantiate inode and assign the unopened fid to dentry */ - inode = v9fs_get_new_inode_from_fid(v9ses, fid, di
[PATCH 10/76] security: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- security/apparmor/apparmorfs.c | 4 ++-- security/commoncap.c | 8 security/inode.c | 2 +- security/integrity/evm/evm_crypto.c | 4 ++-- security/integrity/ima/ima_policy.c | 4 ++-- security/integrity/integrity_audit.c | 2 +- security/lsm_audit.c | 10 +- security/selinux/hooks.c | 23 --- security/smack/smack_lsm.c | 26 +- security/tomoyo/condition.c | 2 +- 10 files changed, 43 insertions(+), 42 deletions(-) diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c index a9428daa69f3..862a4bd89597 100644 --- a/security/apparmor/apparmorfs.c +++ b/security/apparmor/apparmorfs.c @@ -181,7 +181,7 @@ static int __aafs_setup_d_inode(struct inode *dir, struct dentry *dentry, const struct file_operations *fops, const struct inode_operations *iops) { - struct inode *inode = new_inode(dir->i_sb); + struct inode *inode = new_inode(inode_sb(dir)); AA_BUG(!dir); AA_BUG(!dentry); @@ -2349,7 +2349,7 @@ static int aa_mk_null_file(struct dentry *parent) error = PTR_ERR(dentry); goto out; } - inode = new_inode(parent->d_inode->i_sb); + inode = new_inode(inode_sb(parent->d_inode)); if (!inode) { error = -ENOMEM; goto out1; diff --git a/security/commoncap.c b/security/commoncap.c index 48620c93d697..f85a10da2ba2 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -400,7 +400,7 @@ int cap_inode_getsecurity(struct inode *inode, const char *name, void **buffer, if (ret < 0) return ret; - fs_ns = inode->i_sb->s_user_ns; + fs_ns = inode_sb(inode)->s_user_ns; cap = (struct vfs_cap_data *) tmpbuf; if (is_v2header((size_t) ret, cap)) { /* If this is sizeof(vfs_cap_data) then we're ok with the @@ -486,7 +486,7 @@ int cap_convert_nscap(struct dentry *dentry, void **ivalue, size_t size) __u32 magic, nsmagic; struct inode *inode = d_backing_inode(dentry); struct user_namespace *task_ns = current_user_ns(), - *fs_ns = inode->i_sb->s_user_ns; + *fs_ns = inode_sb(inode)->s_user_ns; kuid_t rootid; size_t newsize; @@ -497,7 +497,7 @@ int cap_convert_nscap(struct dentry *dentry, void **ivalue, size_t size) if (!capable_wrt_inode_uidgid(inode, CAP_SETFCAP)) return -EPERM; if (size == XATTR_CAPS_SZ_2) - if (ns_capable(inode->i_sb->s_user_ns, CAP_SETFCAP)) + if (ns_capable(inode_sb(inode)->s_user_ns, CAP_SETFCAP)) /* user is privileged, just write the v2 */ return size; @@ -589,7 +589,7 @@ int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data if (!inode) return -ENODATA; - fs_ns = inode->i_sb->s_user_ns; + fs_ns = inode_sb(inode)->s_user_ns; size = __vfs_getxattr((struct dentry *)dentry, inode, XATTR_NAME_CAPS, , XATTR_CAPS_SZ); if (size == -ENODATA || size == -EOPNOTSUPP) diff --git a/security/inode.c b/security/inode.c index 8dd9ca8848e4..6a3d08901054 100644 --- a/security/inode.c +++ b/security/inode.c @@ -131,7 +131,7 @@ static struct dentry *securityfs_create_dentry(const char *name, umode_t mode, goto out1; } - inode = new_inode(dir->i_sb); + inode = new_inode(inode_sb(dir)); if (!inode) { error = -ENOMEM; goto out1; diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c index 691f3e09154c..979bf5068d46 100644 --- a/security/integrity/evm/evm_crypto.c +++ b/security/integrity/evm/evm_crypto.c @@ -170,8 +170,8 @@ static void hmac_add_misc(struct shash_desc *desc, struct inode *inode, crypto_shash_update(desc, (const u8 *)_misc, sizeof(hmac_misc)); if ((evm_hmac_attrs & EVM_ATTR_FSUUID) && type != EVM_XATTR_PORTABLE_DIGSIG) - crypto_shash_update(desc, >i_sb->s_uuid.b[0], - sizeof(inode->i_sb->s_uuid)); + crypto_shash_update(desc, _sb(inode)->s_uuid.b[0], + sizeof(inode_sb(inode)->s_uuid)); crypto_shash_final(desc, digest); } diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index 915f5572c6ff..61ded57e0427 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c @@ -265,10 +265,10 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode
[PATCH 10/76] security: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- security/apparmor/apparmorfs.c | 4 ++-- security/commoncap.c | 8 security/inode.c | 2 +- security/integrity/evm/evm_crypto.c | 4 ++-- security/integrity/ima/ima_policy.c | 4 ++-- security/integrity/integrity_audit.c | 2 +- security/lsm_audit.c | 10 +- security/selinux/hooks.c | 23 --- security/smack/smack_lsm.c | 26 +- security/tomoyo/condition.c | 2 +- 10 files changed, 43 insertions(+), 42 deletions(-) diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c index a9428daa69f3..862a4bd89597 100644 --- a/security/apparmor/apparmorfs.c +++ b/security/apparmor/apparmorfs.c @@ -181,7 +181,7 @@ static int __aafs_setup_d_inode(struct inode *dir, struct dentry *dentry, const struct file_operations *fops, const struct inode_operations *iops) { - struct inode *inode = new_inode(dir->i_sb); + struct inode *inode = new_inode(inode_sb(dir)); AA_BUG(!dir); AA_BUG(!dentry); @@ -2349,7 +2349,7 @@ static int aa_mk_null_file(struct dentry *parent) error = PTR_ERR(dentry); goto out; } - inode = new_inode(parent->d_inode->i_sb); + inode = new_inode(inode_sb(parent->d_inode)); if (!inode) { error = -ENOMEM; goto out1; diff --git a/security/commoncap.c b/security/commoncap.c index 48620c93d697..f85a10da2ba2 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -400,7 +400,7 @@ int cap_inode_getsecurity(struct inode *inode, const char *name, void **buffer, if (ret < 0) return ret; - fs_ns = inode->i_sb->s_user_ns; + fs_ns = inode_sb(inode)->s_user_ns; cap = (struct vfs_cap_data *) tmpbuf; if (is_v2header((size_t) ret, cap)) { /* If this is sizeof(vfs_cap_data) then we're ok with the @@ -486,7 +486,7 @@ int cap_convert_nscap(struct dentry *dentry, void **ivalue, size_t size) __u32 magic, nsmagic; struct inode *inode = d_backing_inode(dentry); struct user_namespace *task_ns = current_user_ns(), - *fs_ns = inode->i_sb->s_user_ns; + *fs_ns = inode_sb(inode)->s_user_ns; kuid_t rootid; size_t newsize; @@ -497,7 +497,7 @@ int cap_convert_nscap(struct dentry *dentry, void **ivalue, size_t size) if (!capable_wrt_inode_uidgid(inode, CAP_SETFCAP)) return -EPERM; if (size == XATTR_CAPS_SZ_2) - if (ns_capable(inode->i_sb->s_user_ns, CAP_SETFCAP)) + if (ns_capable(inode_sb(inode)->s_user_ns, CAP_SETFCAP)) /* user is privileged, just write the v2 */ return size; @@ -589,7 +589,7 @@ int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data if (!inode) return -ENODATA; - fs_ns = inode->i_sb->s_user_ns; + fs_ns = inode_sb(inode)->s_user_ns; size = __vfs_getxattr((struct dentry *)dentry, inode, XATTR_NAME_CAPS, , XATTR_CAPS_SZ); if (size == -ENODATA || size == -EOPNOTSUPP) diff --git a/security/inode.c b/security/inode.c index 8dd9ca8848e4..6a3d08901054 100644 --- a/security/inode.c +++ b/security/inode.c @@ -131,7 +131,7 @@ static struct dentry *securityfs_create_dentry(const char *name, umode_t mode, goto out1; } - inode = new_inode(dir->i_sb); + inode = new_inode(inode_sb(dir)); if (!inode) { error = -ENOMEM; goto out1; diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c index 691f3e09154c..979bf5068d46 100644 --- a/security/integrity/evm/evm_crypto.c +++ b/security/integrity/evm/evm_crypto.c @@ -170,8 +170,8 @@ static void hmac_add_misc(struct shash_desc *desc, struct inode *inode, crypto_shash_update(desc, (const u8 *)_misc, sizeof(hmac_misc)); if ((evm_hmac_attrs & EVM_ATTR_FSUUID) && type != EVM_XATTR_PORTABLE_DIGSIG) - crypto_shash_update(desc, >i_sb->s_uuid.b[0], - sizeof(inode->i_sb->s_uuid)); + crypto_shash_update(desc, _sb(inode)->s_uuid.b[0], + sizeof(inode_sb(inode)->s_uuid)); crypto_shash_final(desc, digest); } diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index 915f5572c6ff..61ded57e0427 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c @@ -265,10 +265,10 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode,
[PATCH 12/76] fs/adfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/adfs/dir.c | 6 +++--- fs/adfs/inode.c | 8 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/adfs/dir.c b/fs/adfs/dir.c index 29444c83da48..e28357fcb2d4 100644 --- a/fs/adfs/dir.c +++ b/fs/adfs/dir.c @@ -20,7 +20,7 @@ static int adfs_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const struct adfs_dir_ops *ops = ADFS_SB(sb)->s_dir; struct object_info obj; struct adfs_dir dir; @@ -128,7 +128,7 @@ adfs_match(const struct qstr *name, struct object_info *obj) static int adfs_dir_lookup_byname(struct inode *inode, const struct qstr *name, struct object_info *obj) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const struct adfs_dir_ops *ops = ADFS_SB(sb)->s_dir; struct adfs_dir dir; int ret; @@ -271,7 +271,7 @@ adfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) * This only returns NULL if get_empty_inode * fails. */ - inode = adfs_iget(dir->i_sb, ); + inode = adfs_iget(inode_sb(dir), ); if (inode) error = 0; } diff --git a/fs/adfs/inode.c b/fs/adfs/inode.c index 8dbd36f5e581..c946b072ef7f 100644 --- a/fs/adfs/inode.c +++ b/fs/adfs/inode.c @@ -23,9 +23,9 @@ adfs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh, if (block >= inode->i_blocks) goto abort_toobig; - block = __adfs_block_map(inode->i_sb, inode->i_ino, block); + block = __adfs_block_map(inode_sb(inode), inode->i_ino, block); if (block) - map_bh(bh, inode->i_sb, block); + map_bh(bh, inode_sb(inode), block); return 0; } /* don't support allocation of blocks yet */ @@ -299,7 +299,7 @@ int adfs_notify_change(struct dentry *dentry, struct iattr *attr) { struct inode *inode = d_inode(dentry); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); unsigned int ia_valid = attr->ia_valid; int error; @@ -354,7 +354,7 @@ adfs_notify_change(struct dentry *dentry, struct iattr *attr) */ int adfs_write_inode(struct inode *inode, struct writeback_control *wbc) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct object_info obj; int ret; -- 2.15.1
[PATCH 09/76] net: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- net/sunrpc/auth_gss/auth_gss.c | 4 ++-- net/sunrpc/rpc_pipe.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 9463af4b32e8..3560956424fe 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c @@ -769,7 +769,7 @@ gss_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) static int gss_pipe_open(struct inode *inode, int new_version) { - struct net *net = inode->i_sb->s_fs_info; + struct net *net = inode_sb(inode)->s_fs_info; struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); int ret = 0; @@ -804,7 +804,7 @@ static int gss_pipe_open_v1(struct inode *inode) static void gss_pipe_release(struct inode *inode) { - struct net *net = inode->i_sb->s_fs_info; + struct net *net = inode_sb(inode)->s_fs_info; struct rpc_pipe *pipe = RPC_I(inode)->pipe; struct gss_upcall_msg *gss_msg; diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index fc97fc3ed637..c2851a1ee91c 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c @@ -497,10 +497,10 @@ static int __rpc_create_common(struct inode *dir, struct dentry *dentry, struct inode *inode; d_drop(dentry); - inode = rpc_get_inode(dir->i_sb, mode); + inode = rpc_get_inode(inode_sb(dir), mode); if (!inode) goto out_err; - inode->i_ino = iunique(dir->i_sb, 100); + inode->i_ino = iunique(inode_sb(dir), 100); if (i_fop) inode->i_fop = i_fop; if (private) -- 2.15.1
[PATCH 09/76] net: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- net/sunrpc/auth_gss/auth_gss.c | 4 ++-- net/sunrpc/rpc_pipe.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 9463af4b32e8..3560956424fe 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c @@ -769,7 +769,7 @@ gss_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) static int gss_pipe_open(struct inode *inode, int new_version) { - struct net *net = inode->i_sb->s_fs_info; + struct net *net = inode_sb(inode)->s_fs_info; struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); int ret = 0; @@ -804,7 +804,7 @@ static int gss_pipe_open_v1(struct inode *inode) static void gss_pipe_release(struct inode *inode) { - struct net *net = inode->i_sb->s_fs_info; + struct net *net = inode_sb(inode)->s_fs_info; struct rpc_pipe *pipe = RPC_I(inode)->pipe; struct gss_upcall_msg *gss_msg; diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index fc97fc3ed637..c2851a1ee91c 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c @@ -497,10 +497,10 @@ static int __rpc_create_common(struct inode *dir, struct dentry *dentry, struct inode *inode; d_drop(dentry); - inode = rpc_get_inode(dir->i_sb, mode); + inode = rpc_get_inode(inode_sb(dir), mode); if (!inode) goto out_err; - inode->i_ino = iunique(dir->i_sb, 100); + inode->i_ino = iunique(inode_sb(dir), 100); if (i_fop) inode->i_fop = i_fop; if (private) -- 2.15.1
[PATCH 12/76] fs/adfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/adfs/dir.c | 6 +++--- fs/adfs/inode.c | 8 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/adfs/dir.c b/fs/adfs/dir.c index 29444c83da48..e28357fcb2d4 100644 --- a/fs/adfs/dir.c +++ b/fs/adfs/dir.c @@ -20,7 +20,7 @@ static int adfs_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const struct adfs_dir_ops *ops = ADFS_SB(sb)->s_dir; struct object_info obj; struct adfs_dir dir; @@ -128,7 +128,7 @@ adfs_match(const struct qstr *name, struct object_info *obj) static int adfs_dir_lookup_byname(struct inode *inode, const struct qstr *name, struct object_info *obj) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const struct adfs_dir_ops *ops = ADFS_SB(sb)->s_dir; struct adfs_dir dir; int ret; @@ -271,7 +271,7 @@ adfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) * This only returns NULL if get_empty_inode * fails. */ - inode = adfs_iget(dir->i_sb, ); + inode = adfs_iget(inode_sb(dir), ); if (inode) error = 0; } diff --git a/fs/adfs/inode.c b/fs/adfs/inode.c index 8dbd36f5e581..c946b072ef7f 100644 --- a/fs/adfs/inode.c +++ b/fs/adfs/inode.c @@ -23,9 +23,9 @@ adfs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh, if (block >= inode->i_blocks) goto abort_toobig; - block = __adfs_block_map(inode->i_sb, inode->i_ino, block); + block = __adfs_block_map(inode_sb(inode), inode->i_ino, block); if (block) - map_bh(bh, inode->i_sb, block); + map_bh(bh, inode_sb(inode), block); return 0; } /* don't support allocation of blocks yet */ @@ -299,7 +299,7 @@ int adfs_notify_change(struct dentry *dentry, struct iattr *attr) { struct inode *inode = d_inode(dentry); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); unsigned int ia_valid = attr->ia_valid; int error; @@ -354,7 +354,7 @@ adfs_notify_change(struct dentry *dentry, struct iattr *attr) */ int adfs_write_inode(struct inode *inode, struct writeback_control *wbc) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct object_info obj; int ret; -- 2.15.1
[PATCH 13/76] fs/affs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/affs/amigaffs.c | 10 +- fs/affs/bitmap.c | 2 +- fs/affs/dir.c | 2 +- fs/affs/file.c | 28 ++-- fs/affs/inode.c| 16 fs/affs/namei.c| 12 ++-- fs/affs/symlink.c | 4 ++-- 7 files changed, 37 insertions(+), 37 deletions(-) diff --git a/fs/affs/amigaffs.c b/fs/affs/amigaffs.c index 14a6c1b90c9f..42dacf56dd0e 100644 --- a/fs/affs/amigaffs.c +++ b/fs/affs/amigaffs.c @@ -25,7 +25,7 @@ int affs_insert_hash(struct inode *dir, struct buffer_head *bh) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct buffer_head *dir_bh; u32 ino, hash_ino; int offset; @@ -80,7 +80,7 @@ affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh) __be32 ino; int offset, retval; - sb = dir->i_sb; + sb = inode_sb(dir); rem_ino = rem_bh->b_blocknr; offset = affs_hash_name(sb, AFFS_TAIL(sb, rem_bh)->name+1, AFFS_TAIL(sb, rem_bh)->name[0]); pr_debug("%s(dir=%lu, ino=%d, hashval=%d)\n", __func__, dir->i_ino, @@ -142,7 +142,7 @@ static int affs_remove_link(struct dentry *dentry) { struct inode *dir, *inode = d_inode(dentry); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh, *link_bh = NULL; u32 link_ino, ino; int retval; @@ -233,7 +233,7 @@ affs_remove_link(struct dentry *dentry) static int affs_empty_dir(struct inode *inode) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh; int retval, size; @@ -272,7 +272,7 @@ affs_remove_header(struct dentry *dentry) int retval; dir = d_inode(dentry->d_parent); - sb = dir->i_sb; + sb = inode_sb(dir); retval = -ENOENT; inode = d_inode(dentry); diff --git a/fs/affs/bitmap.c b/fs/affs/bitmap.c index 5ba9ef2742f6..b6f7955680c4 100644 --- a/fs/affs/bitmap.c +++ b/fs/affs/bitmap.c @@ -122,7 +122,7 @@ affs_alloc_block(struct inode *inode, u32 goal) u32 blk, bmap, bit, mask, mask2, tmp; int i; - sb = inode->i_sb; + sb = inode_sb(inode); sbi = AFFS_SB(sb); pr_debug("balloc(inode=%lu,goal=%u): ", inode->i_ino, goal); diff --git a/fs/affs/dir.c b/fs/affs/dir.c index b2bf7016e1b3..098b52a09634 100644 --- a/fs/affs/dir.c +++ b/fs/affs/dir.c @@ -45,7 +45,7 @@ static int affs_readdir(struct file *file, struct dir_context *ctx) { struct inode*inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *dir_bh = NULL; struct buffer_head *fh_bh = NULL; unsigned char *name; diff --git a/fs/affs/file.c b/fs/affs/file.c index a85817f54483..e253f1137921 100644 --- a/fs/affs/file.c +++ b/fs/affs/file.c @@ -47,7 +47,7 @@ affs_file_release(struct inode *inode, struct file *filp) static int affs_grow_extcache(struct inode *inode, u32 lc_idx) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh; u32 lc_max; int i, j, key; @@ -117,7 +117,7 @@ affs_grow_extcache(struct inode *inode, u32 lc_idx) static struct buffer_head * affs_alloc_extblock(struct inode *inode, struct buffer_head *bh, u32 ext) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *new_bh; u32 blocknr, tmp; @@ -169,7 +169,7 @@ affs_get_extblock(struct inode *inode, u32 ext) static struct buffer_head * affs_get_extblock_slow(struct inode *inode, u32 ext) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh; u32 ext_key; u32 lc_idx, lc_off, ac_idx; @@ -294,7 +294,7 @@ affs_get_extblock_slow(struct inode *inode, u32 ext) static int affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_result, int create) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *ext_bh; u32 ext; @@ -353,7 +353,7 @@ affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_resul return 0; err_big: - affs_error(inode->i_sb, "get_block", "strange block request %llu", + affs_error(inode_sb(inode), "get_block", "strange block request %llu", (unsigned long long)block); return -EIO; err_ext: @@ -451,7 +451,7 @@ affs_bread_ino(struct inode *inode, int block, int create)
[PATCH 13/76] fs/affs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/affs/amigaffs.c | 10 +- fs/affs/bitmap.c | 2 +- fs/affs/dir.c | 2 +- fs/affs/file.c | 28 ++-- fs/affs/inode.c| 16 fs/affs/namei.c| 12 ++-- fs/affs/symlink.c | 4 ++-- 7 files changed, 37 insertions(+), 37 deletions(-) diff --git a/fs/affs/amigaffs.c b/fs/affs/amigaffs.c index 14a6c1b90c9f..42dacf56dd0e 100644 --- a/fs/affs/amigaffs.c +++ b/fs/affs/amigaffs.c @@ -25,7 +25,7 @@ int affs_insert_hash(struct inode *dir, struct buffer_head *bh) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct buffer_head *dir_bh; u32 ino, hash_ino; int offset; @@ -80,7 +80,7 @@ affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh) __be32 ino; int offset, retval; - sb = dir->i_sb; + sb = inode_sb(dir); rem_ino = rem_bh->b_blocknr; offset = affs_hash_name(sb, AFFS_TAIL(sb, rem_bh)->name+1, AFFS_TAIL(sb, rem_bh)->name[0]); pr_debug("%s(dir=%lu, ino=%d, hashval=%d)\n", __func__, dir->i_ino, @@ -142,7 +142,7 @@ static int affs_remove_link(struct dentry *dentry) { struct inode *dir, *inode = d_inode(dentry); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh, *link_bh = NULL; u32 link_ino, ino; int retval; @@ -233,7 +233,7 @@ affs_remove_link(struct dentry *dentry) static int affs_empty_dir(struct inode *inode) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh; int retval, size; @@ -272,7 +272,7 @@ affs_remove_header(struct dentry *dentry) int retval; dir = d_inode(dentry->d_parent); - sb = dir->i_sb; + sb = inode_sb(dir); retval = -ENOENT; inode = d_inode(dentry); diff --git a/fs/affs/bitmap.c b/fs/affs/bitmap.c index 5ba9ef2742f6..b6f7955680c4 100644 --- a/fs/affs/bitmap.c +++ b/fs/affs/bitmap.c @@ -122,7 +122,7 @@ affs_alloc_block(struct inode *inode, u32 goal) u32 blk, bmap, bit, mask, mask2, tmp; int i; - sb = inode->i_sb; + sb = inode_sb(inode); sbi = AFFS_SB(sb); pr_debug("balloc(inode=%lu,goal=%u): ", inode->i_ino, goal); diff --git a/fs/affs/dir.c b/fs/affs/dir.c index b2bf7016e1b3..098b52a09634 100644 --- a/fs/affs/dir.c +++ b/fs/affs/dir.c @@ -45,7 +45,7 @@ static int affs_readdir(struct file *file, struct dir_context *ctx) { struct inode*inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *dir_bh = NULL; struct buffer_head *fh_bh = NULL; unsigned char *name; diff --git a/fs/affs/file.c b/fs/affs/file.c index a85817f54483..e253f1137921 100644 --- a/fs/affs/file.c +++ b/fs/affs/file.c @@ -47,7 +47,7 @@ affs_file_release(struct inode *inode, struct file *filp) static int affs_grow_extcache(struct inode *inode, u32 lc_idx) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh; u32 lc_max; int i, j, key; @@ -117,7 +117,7 @@ affs_grow_extcache(struct inode *inode, u32 lc_idx) static struct buffer_head * affs_alloc_extblock(struct inode *inode, struct buffer_head *bh, u32 ext) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *new_bh; u32 blocknr, tmp; @@ -169,7 +169,7 @@ affs_get_extblock(struct inode *inode, u32 ext) static struct buffer_head * affs_get_extblock_slow(struct inode *inode, u32 ext) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *bh; u32 ext_key; u32 lc_idx, lc_off, ac_idx; @@ -294,7 +294,7 @@ affs_get_extblock_slow(struct inode *inode, u32 ext) static int affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_result, int create) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct buffer_head *ext_bh; u32 ext; @@ -353,7 +353,7 @@ affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_resul return 0; err_big: - affs_error(inode->i_sb, "get_block", "strange block request %llu", + affs_error(inode_sb(inode), "get_block", "strange block request %llu", (unsigned long long)block); return -EIO; err_ext: @@ -451,7 +451,7 @@ affs_bread_ino(struct inode *inode, int block, int create) tmp_bh.b_state = 0;
[PATCH 14/76] fs/afs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/afs/callback.c | 2 +- fs/afs/dir.c | 8 fs/afs/file.c | 2 +- fs/afs/write.c| 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fs/afs/callback.c b/fs/afs/callback.c index f4291b576054..73371c83b646 100644 --- a/fs/afs/callback.c +++ b/fs/afs/callback.c @@ -63,7 +63,7 @@ int afs_register_server_cb_interest(struct afs_vnode *vnode, return -ENOMEM; refcount_set(>usage, 1); - new->sb = vnode->vfs_inode.i_sb; + new->sb = vnode->vfs_inode.i_view->v_sb; new->vid = vnode->volume->vid; new->server = afs_get_server(server); INIT_LIST_HEAD(>cb_link); diff --git a/fs/afs/dir.c b/fs/afs/dir.c index ba2b458b36d1..1a828b1da90f 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -453,7 +453,7 @@ static int afs_lookup_filldir(struct dir_context *ctx, const char *name, static int afs_do_lookup(struct inode *dir, struct dentry *dentry, struct afs_fid *fid, struct key *key) { - struct afs_super_info *as = dir->i_sb->s_fs_info; + struct afs_super_info *as = inode_sb(dir)->s_fs_info; struct afs_lookup_cookie cookie = { .ctx.actor = afs_lookup_filldir, .name = dentry->d_name, @@ -533,7 +533,7 @@ static struct inode *afs_try_auto_mntpt(struct dentry *dentry, if (ret < 0) goto out; - inode = afs_iget_pseudo_dir(dir->i_sb, false); + inode = afs_iget_pseudo_dir(inode_sb(dir), false); if (IS_ERR(inode)) { ret = PTR_ERR(inode); goto out; @@ -614,7 +614,7 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry, dentry->d_fsdata = (void *)(unsigned long) vnode->status.data_version; /* instantiate the dentry */ - inode = afs_iget(dir->i_sb, key, , NULL, NULL, NULL); + inode = afs_iget(inode_sb(dir), key, , NULL, NULL, NULL); key_put(key); if (IS_ERR(inode)) { _leave(" = %ld", PTR_ERR(inode)); @@ -861,7 +861,7 @@ static void afs_vnode_new_inode(struct afs_fs_cursor *fc, d_drop(new_dentry); - inode = afs_iget(fc->vnode->vfs_inode.i_sb, fc->key, + inode = afs_iget(fc->vnode->vfs_inode.i_view->v_sb, fc->key, newfid, newstatus, newcb, fc->cbi); if (IS_ERR(inode)) { /* ENOMEM or EINTR at a really inconvenient time - just abandon diff --git a/fs/afs/file.c b/fs/afs/file.c index a39192ced99e..1abbe9f37163 100644 --- a/fs/afs/file.c +++ b/fs/afs/file.c @@ -376,7 +376,7 @@ static int afs_readpage(struct file *file, struct page *page) ret = afs_page_filler(key, page); } else { struct inode *inode = page->mapping->host; - key = afs_request_key(AFS_FS_S(inode->i_sb)->cell); + key = afs_request_key(AFS_FS_S(inode_sb(inode))->cell); if (IS_ERR(key)) { ret = PTR_ERR(key); } else { diff --git a/fs/afs/write.c b/fs/afs/write.c index 9370e2feb999..df5a30e0d46e 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -761,7 +761,7 @@ int afs_page_mkwrite(struct vm_fault *vmf) _enter("{{%x:%u}},{%lx}", vnode->fid.vid, vnode->fid.vnode, vmf->page->index); - sb_start_pagefault(inode->i_sb); + sb_start_pagefault(inode_sb(inode)); /* Wait for the page to be written to the cache before we allow it to * be modified. We then assume the entire page will need writing back. @@ -790,7 +790,7 @@ int afs_page_mkwrite(struct vm_fault *vmf) SetPagePrivate(vmf->page); set_page_private(vmf->page, priv); - sb_end_pagefault(inode->i_sb); + sb_end_pagefault(inode_sb(inode)); return VM_FAULT_LOCKED; } -- 2.15.1
[PATCH 14/76] fs/afs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/afs/callback.c | 2 +- fs/afs/dir.c | 8 fs/afs/file.c | 2 +- fs/afs/write.c| 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fs/afs/callback.c b/fs/afs/callback.c index f4291b576054..73371c83b646 100644 --- a/fs/afs/callback.c +++ b/fs/afs/callback.c @@ -63,7 +63,7 @@ int afs_register_server_cb_interest(struct afs_vnode *vnode, return -ENOMEM; refcount_set(>usage, 1); - new->sb = vnode->vfs_inode.i_sb; + new->sb = vnode->vfs_inode.i_view->v_sb; new->vid = vnode->volume->vid; new->server = afs_get_server(server); INIT_LIST_HEAD(>cb_link); diff --git a/fs/afs/dir.c b/fs/afs/dir.c index ba2b458b36d1..1a828b1da90f 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -453,7 +453,7 @@ static int afs_lookup_filldir(struct dir_context *ctx, const char *name, static int afs_do_lookup(struct inode *dir, struct dentry *dentry, struct afs_fid *fid, struct key *key) { - struct afs_super_info *as = dir->i_sb->s_fs_info; + struct afs_super_info *as = inode_sb(dir)->s_fs_info; struct afs_lookup_cookie cookie = { .ctx.actor = afs_lookup_filldir, .name = dentry->d_name, @@ -533,7 +533,7 @@ static struct inode *afs_try_auto_mntpt(struct dentry *dentry, if (ret < 0) goto out; - inode = afs_iget_pseudo_dir(dir->i_sb, false); + inode = afs_iget_pseudo_dir(inode_sb(dir), false); if (IS_ERR(inode)) { ret = PTR_ERR(inode); goto out; @@ -614,7 +614,7 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry, dentry->d_fsdata = (void *)(unsigned long) vnode->status.data_version; /* instantiate the dentry */ - inode = afs_iget(dir->i_sb, key, , NULL, NULL, NULL); + inode = afs_iget(inode_sb(dir), key, , NULL, NULL, NULL); key_put(key); if (IS_ERR(inode)) { _leave(" = %ld", PTR_ERR(inode)); @@ -861,7 +861,7 @@ static void afs_vnode_new_inode(struct afs_fs_cursor *fc, d_drop(new_dentry); - inode = afs_iget(fc->vnode->vfs_inode.i_sb, fc->key, + inode = afs_iget(fc->vnode->vfs_inode.i_view->v_sb, fc->key, newfid, newstatus, newcb, fc->cbi); if (IS_ERR(inode)) { /* ENOMEM or EINTR at a really inconvenient time - just abandon diff --git a/fs/afs/file.c b/fs/afs/file.c index a39192ced99e..1abbe9f37163 100644 --- a/fs/afs/file.c +++ b/fs/afs/file.c @@ -376,7 +376,7 @@ static int afs_readpage(struct file *file, struct page *page) ret = afs_page_filler(key, page); } else { struct inode *inode = page->mapping->host; - key = afs_request_key(AFS_FS_S(inode->i_sb)->cell); + key = afs_request_key(AFS_FS_S(inode_sb(inode))->cell); if (IS_ERR(key)) { ret = PTR_ERR(key); } else { diff --git a/fs/afs/write.c b/fs/afs/write.c index 9370e2feb999..df5a30e0d46e 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -761,7 +761,7 @@ int afs_page_mkwrite(struct vm_fault *vmf) _enter("{{%x:%u}},{%lx}", vnode->fid.vid, vnode->fid.vnode, vmf->page->index); - sb_start_pagefault(inode->i_sb); + sb_start_pagefault(inode_sb(inode)); /* Wait for the page to be written to the cache before we allow it to * be modified. We then assume the entire page will need writing back. @@ -790,7 +790,7 @@ int afs_page_mkwrite(struct vm_fault *vmf) SetPagePrivate(vmf->page); set_page_private(vmf->page, priv); - sb_end_pagefault(inode->i_sb); + sb_end_pagefault(inode_sb(inode)); return VM_FAULT_LOCKED; } -- 2.15.1
[PATCH 08/76] mm: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- mm/cleancache.c | 10 +- mm/filemap.c| 12 ++-- mm/hugetlb.c| 2 +- mm/memory-failure.c | 2 +- mm/shmem.c | 29 +++-- mm/swapfile.c | 4 ++-- 6 files changed, 30 insertions(+), 29 deletions(-) diff --git a/mm/cleancache.c b/mm/cleancache.c index f7b9fdc79d97..b4cabc316aea 100644 --- a/mm/cleancache.c +++ b/mm/cleancache.c @@ -147,7 +147,7 @@ static int cleancache_get_key(struct inode *inode, { int (*fhfn)(struct inode *, __u32 *fh, int *, struct inode *); int len = 0, maxlen = CLEANCACHE_KEY_MAX; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); key->u.ino = inode->i_ino; if (sb->s_export_op != NULL) { @@ -186,7 +186,7 @@ int __cleancache_get_page(struct page *page) } VM_BUG_ON_PAGE(!PageLocked(page), page); - pool_id = page->mapping->host->i_sb->cleancache_poolid; + pool_id = inode_sb(page->mapping->host)->cleancache_poolid; if (pool_id < 0) goto out; @@ -224,7 +224,7 @@ void __cleancache_put_page(struct page *page) } VM_BUG_ON_PAGE(!PageLocked(page), page); - pool_id = page->mapping->host->i_sb->cleancache_poolid; + pool_id = inode_sb(page->mapping->host)->cleancache_poolid; if (pool_id >= 0 && cleancache_get_key(page->mapping->host, ) >= 0) { cleancache_ops->put_page(pool_id, key, page->index, page); @@ -245,7 +245,7 @@ void __cleancache_invalidate_page(struct address_space *mapping, struct page *page) { /* careful... page->mapping is NULL sometimes when this is called */ - int pool_id = mapping->host->i_sb->cleancache_poolid; + int pool_id = inode_sb(mapping->host)->cleancache_poolid; struct cleancache_filekey key = { .u.key = { 0 } }; if (!cleancache_ops) @@ -273,7 +273,7 @@ EXPORT_SYMBOL(__cleancache_invalidate_page); */ void __cleancache_invalidate_inode(struct address_space *mapping) { - int pool_id = mapping->host->i_sb->cleancache_poolid; + int pool_id = inode_sb(mapping->host)->cleancache_poolid; struct cleancache_filekey key = { .u.key = { 0 } }; if (!cleancache_ops) diff --git a/mm/filemap.c b/mm/filemap.c index 693f62212a59..c81943b5ab3d 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2064,9 +2064,9 @@ static ssize_t generic_file_buffered_read(struct kiocb *iocb, unsigned int prev_offset; int error = 0; - if (unlikely(*ppos >= inode->i_sb->s_maxbytes)) + if (unlikely(*ppos >= inode_sb(inode)->s_maxbytes)) return 0; - iov_iter_truncate(iter, inode->i_sb->s_maxbytes); + iov_iter_truncate(iter, inode_sb(inode)->s_maxbytes); index = *ppos >> PAGE_SHIFT; prev_index = ra->prev_pos >> PAGE_SHIFT; @@ -2702,7 +2702,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf) struct inode *inode = file_inode(vmf->vma->vm_file); int ret = VM_FAULT_LOCKED; - sb_start_pagefault(inode->i_sb); + sb_start_pagefault(inode_sb(inode)); file_update_time(vmf->vma->vm_file); lock_page(page); if (page->mapping != inode->i_mapping) { @@ -2718,7 +2718,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf) set_page_dirty(page); wait_for_stable_page(page); out: - sb_end_pagefault(inode->i_sb); + sb_end_pagefault(inode_sb(inode)); return ret; } EXPORT_SYMBOL(filemap_page_mkwrite); @@ -2965,10 +2965,10 @@ inline ssize_t generic_write_checks(struct kiocb *iocb, struct iov_iter *from) * exceeded without writing data we send a signal and return EFBIG. * Linus frestrict idea will clean these up nicely.. */ - if (unlikely(pos >= inode->i_sb->s_maxbytes)) + if (unlikely(pos >= inode_sb(inode)->s_maxbytes)) return -EFBIG; - iov_iter_truncate(from, inode->i_sb->s_maxbytes - pos); + iov_iter_truncate(from, inode_sb(inode)->s_maxbytes - pos); return iov_iter_count(from); } EXPORT_SYMBOL(generic_write_checks); diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 976bbc5646fe..350ca2f2a05e 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -209,7 +209,7 @@ static long hugepage_subpool_put_pages(struct hugepage_subpool *spool, static inline struct hugepage_subpool *subpool_inode(struct inode *inode) { - return HUGETLBFS_SB(inode->i_sb)->spool; + return HUGETLBFS_SB(inode_sb(inode))->spool; } static inline struct hugepage_subpool *subpool_vma(struct vm_area_struct *vma) diff --git a/mm/memory-failure.c b/mm/memory-f
[PATCH 08/76] mm: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- mm/cleancache.c | 10 +- mm/filemap.c| 12 ++-- mm/hugetlb.c| 2 +- mm/memory-failure.c | 2 +- mm/shmem.c | 29 +++-- mm/swapfile.c | 4 ++-- 6 files changed, 30 insertions(+), 29 deletions(-) diff --git a/mm/cleancache.c b/mm/cleancache.c index f7b9fdc79d97..b4cabc316aea 100644 --- a/mm/cleancache.c +++ b/mm/cleancache.c @@ -147,7 +147,7 @@ static int cleancache_get_key(struct inode *inode, { int (*fhfn)(struct inode *, __u32 *fh, int *, struct inode *); int len = 0, maxlen = CLEANCACHE_KEY_MAX; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); key->u.ino = inode->i_ino; if (sb->s_export_op != NULL) { @@ -186,7 +186,7 @@ int __cleancache_get_page(struct page *page) } VM_BUG_ON_PAGE(!PageLocked(page), page); - pool_id = page->mapping->host->i_sb->cleancache_poolid; + pool_id = inode_sb(page->mapping->host)->cleancache_poolid; if (pool_id < 0) goto out; @@ -224,7 +224,7 @@ void __cleancache_put_page(struct page *page) } VM_BUG_ON_PAGE(!PageLocked(page), page); - pool_id = page->mapping->host->i_sb->cleancache_poolid; + pool_id = inode_sb(page->mapping->host)->cleancache_poolid; if (pool_id >= 0 && cleancache_get_key(page->mapping->host, ) >= 0) { cleancache_ops->put_page(pool_id, key, page->index, page); @@ -245,7 +245,7 @@ void __cleancache_invalidate_page(struct address_space *mapping, struct page *page) { /* careful... page->mapping is NULL sometimes when this is called */ - int pool_id = mapping->host->i_sb->cleancache_poolid; + int pool_id = inode_sb(mapping->host)->cleancache_poolid; struct cleancache_filekey key = { .u.key = { 0 } }; if (!cleancache_ops) @@ -273,7 +273,7 @@ EXPORT_SYMBOL(__cleancache_invalidate_page); */ void __cleancache_invalidate_inode(struct address_space *mapping) { - int pool_id = mapping->host->i_sb->cleancache_poolid; + int pool_id = inode_sb(mapping->host)->cleancache_poolid; struct cleancache_filekey key = { .u.key = { 0 } }; if (!cleancache_ops) diff --git a/mm/filemap.c b/mm/filemap.c index 693f62212a59..c81943b5ab3d 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2064,9 +2064,9 @@ static ssize_t generic_file_buffered_read(struct kiocb *iocb, unsigned int prev_offset; int error = 0; - if (unlikely(*ppos >= inode->i_sb->s_maxbytes)) + if (unlikely(*ppos >= inode_sb(inode)->s_maxbytes)) return 0; - iov_iter_truncate(iter, inode->i_sb->s_maxbytes); + iov_iter_truncate(iter, inode_sb(inode)->s_maxbytes); index = *ppos >> PAGE_SHIFT; prev_index = ra->prev_pos >> PAGE_SHIFT; @@ -2702,7 +2702,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf) struct inode *inode = file_inode(vmf->vma->vm_file); int ret = VM_FAULT_LOCKED; - sb_start_pagefault(inode->i_sb); + sb_start_pagefault(inode_sb(inode)); file_update_time(vmf->vma->vm_file); lock_page(page); if (page->mapping != inode->i_mapping) { @@ -2718,7 +2718,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf) set_page_dirty(page); wait_for_stable_page(page); out: - sb_end_pagefault(inode->i_sb); + sb_end_pagefault(inode_sb(inode)); return ret; } EXPORT_SYMBOL(filemap_page_mkwrite); @@ -2965,10 +2965,10 @@ inline ssize_t generic_write_checks(struct kiocb *iocb, struct iov_iter *from) * exceeded without writing data we send a signal and return EFBIG. * Linus frestrict idea will clean these up nicely.. */ - if (unlikely(pos >= inode->i_sb->s_maxbytes)) + if (unlikely(pos >= inode_sb(inode)->s_maxbytes)) return -EFBIG; - iov_iter_truncate(from, inode->i_sb->s_maxbytes - pos); + iov_iter_truncate(from, inode_sb(inode)->s_maxbytes - pos); return iov_iter_count(from); } EXPORT_SYMBOL(generic_write_checks); diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 976bbc5646fe..350ca2f2a05e 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -209,7 +209,7 @@ static long hugepage_subpool_put_pages(struct hugepage_subpool *spool, static inline struct hugepage_subpool *subpool_inode(struct inode *inode) { - return HUGETLBFS_SB(inode->i_sb)->spool; + return HUGETLBFS_SB(inode_sb(inode))->spool; } static inline struct hugepage_subpool *subpool_vma(struct vm_area_struct *vma) diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 8291b75f42c8..08e236798
[PATCH 16/76] fs/befs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/befs/linuxvfs.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index af2832aaeec5..fc997025b9a0 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c @@ -131,7 +131,7 @@ static int befs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_result, int create) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); befs_data_stream *ds = _I(inode)->i_data.ds; befs_block_run run = BAD_IADDR; int res; @@ -157,7 +157,7 @@ befs_get_block(struct inode *inode, sector_t block, disk_off = (ulong) iaddr2blockno(sb, ); - map_bh(bh_result, inode->i_sb, disk_off); + map_bh(bh_result, inode_sb(inode), disk_off); befs_debug(sb, "<--- %s for inode %lu, block %ld, disk address %lu", __func__, (unsigned long)inode->i_ino, (long)block, @@ -170,7 +170,7 @@ static struct dentry * befs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) { struct inode *inode; - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); const befs_data_stream *ds = _I(dir)->i_data.ds; befs_off_t offset; int ret; @@ -206,7 +206,7 @@ befs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) return ERR_PTR(-ENODATA); } - inode = befs_iget(dir->i_sb, (ino_t) offset); + inode = befs_iget(inode_sb(dir), (ino_t) offset); if (IS_ERR(inode)) return ERR_CAST(inode); @@ -221,7 +221,7 @@ static int befs_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const befs_data_stream *ds = _I(inode)->i_data.ds; befs_off_t value; int result; @@ -482,7 +482,7 @@ befs_destroy_inodecache(void) static int befs_symlink_readpage(struct file *unused, struct page *page) { struct inode *inode = page->mapping->host; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct befs_inode_info *befs_ino = BEFS_I(inode); befs_data_stream *data = _ino->i_data.ds; befs_off_t len = data->size; -- 2.15.1
[PATCH 16/76] fs/befs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/befs/linuxvfs.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index af2832aaeec5..fc997025b9a0 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c @@ -131,7 +131,7 @@ static int befs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_result, int create) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); befs_data_stream *ds = _I(inode)->i_data.ds; befs_block_run run = BAD_IADDR; int res; @@ -157,7 +157,7 @@ befs_get_block(struct inode *inode, sector_t block, disk_off = (ulong) iaddr2blockno(sb, ); - map_bh(bh_result, inode->i_sb, disk_off); + map_bh(bh_result, inode_sb(inode), disk_off); befs_debug(sb, "<--- %s for inode %lu, block %ld, disk address %lu", __func__, (unsigned long)inode->i_ino, (long)block, @@ -170,7 +170,7 @@ static struct dentry * befs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) { struct inode *inode; - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); const befs_data_stream *ds = _I(dir)->i_data.ds; befs_off_t offset; int ret; @@ -206,7 +206,7 @@ befs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) return ERR_PTR(-ENODATA); } - inode = befs_iget(dir->i_sb, (ino_t) offset); + inode = befs_iget(inode_sb(dir), (ino_t) offset); if (IS_ERR(inode)) return ERR_CAST(inode); @@ -221,7 +221,7 @@ static int befs_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const befs_data_stream *ds = _I(inode)->i_data.ds; befs_off_t value; int result; @@ -482,7 +482,7 @@ befs_destroy_inodecache(void) static int befs_symlink_readpage(struct file *unused, struct page *page) { struct inode *inode = page->mapping->host; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct befs_inode_info *befs_ino = BEFS_I(inode); befs_data_stream *data = _ino->i_data.ds; befs_off_t len = data->size; -- 2.15.1
[PATCH 19/76] fs/ceph: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/ceph/addr.c | 2 +- fs/ceph/caps.c | 16 fs/ceph/dir.c| 24 fs/ceph/file.c | 16 fs/ceph/inode.c | 16 fs/ceph/ioctl.c | 6 +++--- fs/ceph/locks.c | 2 +- fs/ceph/mds_client.c | 2 +- fs/ceph/snap.c | 2 +- fs/ceph/super.h | 2 +- fs/ceph/xattr.c | 8 11 files changed, 48 insertions(+), 48 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index b4336b42ce3b..8741e928fca0 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -776,7 +776,7 @@ static void writepages_finish(struct ceph_osd_request *req) osd_data = osd_req_op_extent_osd_data(req, 0); if (osd_data->pages_from_pool) mempool_free(osd_data->pages, -ceph_sb_to_client(inode->i_sb)->wb_pagevec_pool); + ceph_sb_to_client(inode_sb(inode))->wb_pagevec_pool); else kfree(osd_data->pages); ceph_osdc_put_request(req); diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 0e5bd3e3344e..d92e6e9ff6e2 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -977,7 +977,7 @@ static void drop_inode_snap_realm(struct ceph_inode_info *ci) ci->i_snap_realm_counter++; ci->i_snap_realm = NULL; spin_unlock(>inodes_with_caps_lock); - ceph_put_snap_realm(ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc, + ceph_put_snap_realm(ceph_sb_to_client(inode_sb(>vfs_inode))->mdsc, realm); } @@ -992,7 +992,7 @@ void __ceph_remove_cap(struct ceph_cap *cap, bool queue_release) struct ceph_mds_session *session = cap->session; struct ceph_inode_info *ci = cap->ci; struct ceph_mds_client *mdsc = - ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; + ceph_sb_to_client(inode_sb(>vfs_inode))->mdsc; int removed = 0; dout("__ceph_remove_cap %p from %p\n", cap, >vfs_inode); @@ -1551,7 +1551,7 @@ int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask, struct ceph_cap_flush **pcf) { struct ceph_mds_client *mdsc = - ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; + ceph_sb_to_client(inode_sb(>vfs_inode))->mdsc; struct inode *inode = >vfs_inode; int was = ci->i_dirty_caps; int dirty = 0; @@ -1660,7 +1660,7 @@ static int __mark_caps_flushing(struct inode *inode, struct ceph_mds_session *session, bool wake, u64 *flush_tid, u64 *oldest_flush_tid) { - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; struct ceph_inode_info *ci = ceph_inode(inode); struct ceph_cap_flush *cf = NULL; int flushing; @@ -2029,7 +2029,7 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags, */ static int try_flush_caps(struct inode *inode, u64 *ptid) { - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; struct ceph_inode_info *ci = ceph_inode(inode); struct ceph_mds_session *session = NULL; int flushing = 0; @@ -2217,7 +2217,7 @@ int ceph_write_inode(struct inode *inode, struct writeback_control *wbc) caps_are_flushed(inode, flush_tid)); } else { struct ceph_mds_client *mdsc = - ceph_sb_to_client(inode->i_sb)->mdsc; + ceph_sb_to_client(inode_sb(inode))->mdsc; spin_lock(>i_ceph_lock); if (__ceph_caps_dirty(ci)) @@ -3228,7 +3228,7 @@ static void handle_cap_flush_ack(struct inode *inode, u64 flush_tid, __releases(ci->i_ceph_lock) { struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; struct ceph_cap_flush *cf, *tmp_cf; LIST_HEAD(to_remove); unsigned seq = le32_to_cpu(m->seq); @@ -3331,7 +3331,7 @@ static void handle_cap_flushsnap_ack(struct inode *inode, u64 flush_tid, struct ceph_mds_session *session) { struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; u64 follows = le64_to_cpu(m->snap_follows); struct ceph_cap_snap *capsnap; bool flushed = false; di
[PATCH 19/76] fs/ceph: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/ceph/addr.c | 2 +- fs/ceph/caps.c | 16 fs/ceph/dir.c| 24 fs/ceph/file.c | 16 fs/ceph/inode.c | 16 fs/ceph/ioctl.c | 6 +++--- fs/ceph/locks.c | 2 +- fs/ceph/mds_client.c | 2 +- fs/ceph/snap.c | 2 +- fs/ceph/super.h | 2 +- fs/ceph/xattr.c | 8 11 files changed, 48 insertions(+), 48 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index b4336b42ce3b..8741e928fca0 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -776,7 +776,7 @@ static void writepages_finish(struct ceph_osd_request *req) osd_data = osd_req_op_extent_osd_data(req, 0); if (osd_data->pages_from_pool) mempool_free(osd_data->pages, -ceph_sb_to_client(inode->i_sb)->wb_pagevec_pool); + ceph_sb_to_client(inode_sb(inode))->wb_pagevec_pool); else kfree(osd_data->pages); ceph_osdc_put_request(req); diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 0e5bd3e3344e..d92e6e9ff6e2 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -977,7 +977,7 @@ static void drop_inode_snap_realm(struct ceph_inode_info *ci) ci->i_snap_realm_counter++; ci->i_snap_realm = NULL; spin_unlock(>inodes_with_caps_lock); - ceph_put_snap_realm(ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc, + ceph_put_snap_realm(ceph_sb_to_client(inode_sb(>vfs_inode))->mdsc, realm); } @@ -992,7 +992,7 @@ void __ceph_remove_cap(struct ceph_cap *cap, bool queue_release) struct ceph_mds_session *session = cap->session; struct ceph_inode_info *ci = cap->ci; struct ceph_mds_client *mdsc = - ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; + ceph_sb_to_client(inode_sb(>vfs_inode))->mdsc; int removed = 0; dout("__ceph_remove_cap %p from %p\n", cap, >vfs_inode); @@ -1551,7 +1551,7 @@ int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask, struct ceph_cap_flush **pcf) { struct ceph_mds_client *mdsc = - ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; + ceph_sb_to_client(inode_sb(>vfs_inode))->mdsc; struct inode *inode = >vfs_inode; int was = ci->i_dirty_caps; int dirty = 0; @@ -1660,7 +1660,7 @@ static int __mark_caps_flushing(struct inode *inode, struct ceph_mds_session *session, bool wake, u64 *flush_tid, u64 *oldest_flush_tid) { - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; struct ceph_inode_info *ci = ceph_inode(inode); struct ceph_cap_flush *cf = NULL; int flushing; @@ -2029,7 +2029,7 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags, */ static int try_flush_caps(struct inode *inode, u64 *ptid) { - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; struct ceph_inode_info *ci = ceph_inode(inode); struct ceph_mds_session *session = NULL; int flushing = 0; @@ -2217,7 +2217,7 @@ int ceph_write_inode(struct inode *inode, struct writeback_control *wbc) caps_are_flushed(inode, flush_tid)); } else { struct ceph_mds_client *mdsc = - ceph_sb_to_client(inode->i_sb)->mdsc; + ceph_sb_to_client(inode_sb(inode))->mdsc; spin_lock(>i_ceph_lock); if (__ceph_caps_dirty(ci)) @@ -3228,7 +3228,7 @@ static void handle_cap_flush_ack(struct inode *inode, u64 flush_tid, __releases(ci->i_ceph_lock) { struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; struct ceph_cap_flush *cf, *tmp_cf; LIST_HEAD(to_remove); unsigned seq = le32_to_cpu(m->seq); @@ -3331,7 +3331,7 @@ static void handle_cap_flushsnap_ack(struct inode *inode, u64 flush_tid, struct ceph_mds_session *session) { struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; + struct ceph_mds_client *mdsc = ceph_sb_to_client(inode_sb(inode))->mdsc; u64 follows = le64_to_cpu(m->snap_follows); struct ceph_cap_snap *capsnap; bool flushed = false; diff --git a/fs/ceph/dir.c b/fs/c
[PATCH 18/76] fs/btrfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/btrfs/compression.c | 4 +- fs/btrfs/ctree.h| 2 +- fs/btrfs/delayed-inode.c| 4 +- fs/btrfs/disk-io.c | 8 +-- fs/btrfs/export.c | 4 +- fs/btrfs/extent-tree.c | 14 ++--- fs/btrfs/extent_io.c| 24 fs/btrfs/file-item.c| 10 ++-- fs/btrfs/file.c | 30 +- fs/btrfs/free-space-cache.c | 6 +- fs/btrfs/inode.c| 133 ++-- fs/btrfs/ioctl.c| 72 fs/btrfs/ordered-data.c | 12 ++-- fs/btrfs/relocation.c | 6 +- fs/btrfs/tree-log.c | 8 +-- 15 files changed, 169 insertions(+), 168 deletions(-) diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 07d049c0c20f..63ac953b18c3 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -312,7 +312,7 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start, unsigned long nr_pages, unsigned int write_flags) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(inode)); struct bio *bio = NULL; struct compressed_bio *cb; unsigned long bytes_left; @@ -547,7 +547,7 @@ static noinline int add_ra_bio_pages(struct inode *inode, blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, int mirror_num, unsigned long bio_flags) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(inode)); struct extent_io_tree *tree; struct extent_map_tree *em_tree; struct compressed_bio *cb; diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index da308774b8a4..a3cca35642e2 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -1271,7 +1271,7 @@ struct btrfs_file_private { static inline u32 btrfs_inode_sectorsize(const struct inode *inode) { - return btrfs_sb(inode->i_sb)->sectorsize; + return btrfs_sb(inode_sb(inode))->sectorsize; } static inline u32 BTRFS_LEAF_DATA_SIZE(const struct btrfs_fs_info *info) diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 0530f6f2e4ba..adc07604156e 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c @@ -1214,7 +1214,7 @@ int btrfs_commit_inode_delayed_items(struct btrfs_trans_handle *trans, int btrfs_commit_inode_delayed_inode(struct btrfs_inode *inode) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(>vfs_inode)); struct btrfs_trans_handle *trans; struct btrfs_delayed_node *delayed_node = btrfs_get_delayed_node(inode); struct btrfs_path *path; @@ -1829,7 +1829,7 @@ int btrfs_delayed_update_inode(struct btrfs_trans_handle *trans, int btrfs_delayed_delete_inode_ref(struct btrfs_inode *inode) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(>vfs_inode)); struct btrfs_delayed_node *delayed_node; /* diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 21f34ad0d411..334234da997c 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -226,7 +226,7 @@ struct extent_map *btree_get_extent(struct btrfs_inode *inode, struct page *page, size_t pg_offset, u64 start, u64 len, int create) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(>vfs_inode)); struct extent_map_tree *em_tree = >extent_tree; struct extent_map *em; int ret; @@ -829,7 +829,7 @@ static blk_status_t __btree_submit_bio_done(void *private_data, struct bio *bio, * when we're called for a write, we're already in the async * submission context. Just jump into btrfs_map_bio */ - ret = btrfs_map_bio(btrfs_sb(inode->i_sb), bio, mirror_num, 1); + ret = btrfs_map_bio(btrfs_sb(inode_sb(inode)), bio, mirror_num, 1); if (ret) { bio->bi_status = ret; bio_endio(bio); @@ -853,7 +853,7 @@ static blk_status_t btree_submit_bio_hook(void *private_data, struct bio *bio, u64 bio_offset) { struct inode *inode = private_data; - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(inode)); int async = check_async_write(BTRFS_I(inode)); blk_status_t ret; @@ -4438,7 +4438,7 @@ static int btrfs_cleanup_transaction(struct btrfs_fs_info *fs_info) static struct btrfs_fs_info *btree_fs_info(void *private_data) { struct inode *
[PATCH 18/76] fs/btrfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/btrfs/compression.c | 4 +- fs/btrfs/ctree.h| 2 +- fs/btrfs/delayed-inode.c| 4 +- fs/btrfs/disk-io.c | 8 +-- fs/btrfs/export.c | 4 +- fs/btrfs/extent-tree.c | 14 ++--- fs/btrfs/extent_io.c| 24 fs/btrfs/file-item.c| 10 ++-- fs/btrfs/file.c | 30 +- fs/btrfs/free-space-cache.c | 6 +- fs/btrfs/inode.c| 133 ++-- fs/btrfs/ioctl.c| 72 fs/btrfs/ordered-data.c | 12 ++-- fs/btrfs/relocation.c | 6 +- fs/btrfs/tree-log.c | 8 +-- 15 files changed, 169 insertions(+), 168 deletions(-) diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 07d049c0c20f..63ac953b18c3 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -312,7 +312,7 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start, unsigned long nr_pages, unsigned int write_flags) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(inode)); struct bio *bio = NULL; struct compressed_bio *cb; unsigned long bytes_left; @@ -547,7 +547,7 @@ static noinline int add_ra_bio_pages(struct inode *inode, blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, int mirror_num, unsigned long bio_flags) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(inode)); struct extent_io_tree *tree; struct extent_map_tree *em_tree; struct compressed_bio *cb; diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index da308774b8a4..a3cca35642e2 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -1271,7 +1271,7 @@ struct btrfs_file_private { static inline u32 btrfs_inode_sectorsize(const struct inode *inode) { - return btrfs_sb(inode->i_sb)->sectorsize; + return btrfs_sb(inode_sb(inode))->sectorsize; } static inline u32 BTRFS_LEAF_DATA_SIZE(const struct btrfs_fs_info *info) diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 0530f6f2e4ba..adc07604156e 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c @@ -1214,7 +1214,7 @@ int btrfs_commit_inode_delayed_items(struct btrfs_trans_handle *trans, int btrfs_commit_inode_delayed_inode(struct btrfs_inode *inode) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(>vfs_inode)); struct btrfs_trans_handle *trans; struct btrfs_delayed_node *delayed_node = btrfs_get_delayed_node(inode); struct btrfs_path *path; @@ -1829,7 +1829,7 @@ int btrfs_delayed_update_inode(struct btrfs_trans_handle *trans, int btrfs_delayed_delete_inode_ref(struct btrfs_inode *inode) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(>vfs_inode)); struct btrfs_delayed_node *delayed_node; /* diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 21f34ad0d411..334234da997c 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -226,7 +226,7 @@ struct extent_map *btree_get_extent(struct btrfs_inode *inode, struct page *page, size_t pg_offset, u64 start, u64 len, int create) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(>vfs_inode)); struct extent_map_tree *em_tree = >extent_tree; struct extent_map *em; int ret; @@ -829,7 +829,7 @@ static blk_status_t __btree_submit_bio_done(void *private_data, struct bio *bio, * when we're called for a write, we're already in the async * submission context. Just jump into btrfs_map_bio */ - ret = btrfs_map_bio(btrfs_sb(inode->i_sb), bio, mirror_num, 1); + ret = btrfs_map_bio(btrfs_sb(inode_sb(inode)), bio, mirror_num, 1); if (ret) { bio->bi_status = ret; bio_endio(bio); @@ -853,7 +853,7 @@ static blk_status_t btree_submit_bio_hook(void *private_data, struct bio *bio, u64 bio_offset) { struct inode *inode = private_data; - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); + struct btrfs_fs_info *fs_info = btrfs_sb(inode_sb(inode)); int async = check_async_write(BTRFS_I(inode)); blk_status_t ret; @@ -4438,7 +4438,7 @@ static int btrfs_cleanup_transaction(struct btrfs_fs_info *fs_info) static struct btrfs_fs_info *btree_fs_info(void *private_data) { struct inode *inode = priv
[PATCH 20/76] fs/cifs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/cifs/cifsacl.c | 4 ++-- fs/cifs/cifsfs.c| 4 ++-- fs/cifs/cifsglob.h | 2 +- fs/cifs/dir.c | 29 - fs/cifs/file.c | 42 ++ fs/cifs/fscache.c | 4 ++-- fs/cifs/inode.c | 43 +++ fs/cifs/ioctl.c | 2 +- fs/cifs/link.c | 10 +- fs/cifs/readdir.c | 2 +- fs/cifs/smb1ops.c | 4 ++-- fs/cifs/smb2inode.c | 2 +- fs/cifs/smb2ops.c | 4 ++-- 13 files changed, 80 insertions(+), 72 deletions(-) diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c index 13a8a77322c9..d7b37ff7d57f 100644 --- a/fs/cifs/cifsacl.c +++ b/fs/cifs/cifsacl.c @@ -1081,7 +1081,7 @@ int set_cifs_acl(struct cifs_ntsd *pnntsd, __u32 acllen, unsigned int xid; int rc, access_flags, create_options = 0; struct cifs_tcon *tcon; - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); struct cifs_fid fid; struct cifs_open_parms oparms; @@ -1178,7 +1178,7 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode, __u32 secdesclen = 0; struct cifs_ntsd *pntsd = NULL; /* acl obtained from server */ struct cifs_ntsd *pnntsd = NULL; /* modified acl to be sent to server */ - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); struct smb_version_operations *ops; diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 32cdea67bbfd..54741739c5e6 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -231,7 +231,7 @@ static int cifs_permission(struct inode *inode, int mask) { struct cifs_sb_info *cifs_sb; - cifs_sb = CIFS_SB(inode->i_sb); + cifs_sb = CIFS_SB(inode_sb(inode)); if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) { if ((mask & MAY_EXEC) && !execute_ok(inode)) @@ -581,7 +581,7 @@ static int cifs_remount(struct super_block *sb, int *flags, char *data) static int cifs_drop_inode(struct inode *inode) { - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); /* no serverino => unconditional eviction */ return !(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) || diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 48f7c197cd2d..35910ece3526 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -1265,7 +1265,7 @@ CIFS_SB(struct super_block *sb) static inline struct cifs_sb_info * CIFS_FILE_SB(struct file *file) { - return CIFS_SB(file_inode(file)->i_sb); + return CIFS_SB(inode_sb(file_inode(file))); } static inline char CIFS_DIR_SEP(const struct cifs_sb_info *cifs_sb) diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 81ba6e0d88d8..201ec5c3d4fe 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -231,7 +231,7 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, int rc = -ENOENT; int create_options = CREATE_NOT_DIR; int desired_access; - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); struct cifs_tcon *tcon = tlink_tcon(tlink); char *full_path = NULL; FILE_ALL_INFO *buf = NULL; @@ -253,7 +253,8 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, if (tcon->unix_ext && cap_unix(tcon->ses) && !tcon->broken_posix_open && (CIFS_UNIX_POSIX_PATH_OPS_CAP & le64_to_cpu(tcon->fsUnixInfo.Capability))) { - rc = cifs_posix_open(full_path, , inode->i_sb, mode, + rc = cifs_posix_open(full_path, , inode_sb(inode), +mode, oflags, oplock, >netfid, xid); switch (rc) { case 0: @@ -414,10 +415,12 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, cifs_create_get_file_info: /* server might mask mode so we have to query for it */ if (tcon->unix_ext) - rc = cifs_get_inode_info_unix(, full_path, inode->i_sb, + rc = cifs_get_inode_info_unix(, full_path, + inode_sb(inode), xid); else { - rc = cifs_get_inode_info(, full_path, buf, inode->i_sb, + rc = cifs_get_inode_info(, full_path, buf, +inode_sb(inode), xid, fi
[PATCH 20/76] fs/cifs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/cifs/cifsacl.c | 4 ++-- fs/cifs/cifsfs.c| 4 ++-- fs/cifs/cifsglob.h | 2 +- fs/cifs/dir.c | 29 - fs/cifs/file.c | 42 ++ fs/cifs/fscache.c | 4 ++-- fs/cifs/inode.c | 43 +++ fs/cifs/ioctl.c | 2 +- fs/cifs/link.c | 10 +- fs/cifs/readdir.c | 2 +- fs/cifs/smb1ops.c | 4 ++-- fs/cifs/smb2inode.c | 2 +- fs/cifs/smb2ops.c | 4 ++-- 13 files changed, 80 insertions(+), 72 deletions(-) diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c index 13a8a77322c9..d7b37ff7d57f 100644 --- a/fs/cifs/cifsacl.c +++ b/fs/cifs/cifsacl.c @@ -1081,7 +1081,7 @@ int set_cifs_acl(struct cifs_ntsd *pnntsd, __u32 acllen, unsigned int xid; int rc, access_flags, create_options = 0; struct cifs_tcon *tcon; - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); struct cifs_fid fid; struct cifs_open_parms oparms; @@ -1178,7 +1178,7 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode, __u32 secdesclen = 0; struct cifs_ntsd *pntsd = NULL; /* acl obtained from server */ struct cifs_ntsd *pnntsd = NULL; /* modified acl to be sent to server */ - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); struct smb_version_operations *ops; diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 32cdea67bbfd..54741739c5e6 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -231,7 +231,7 @@ static int cifs_permission(struct inode *inode, int mask) { struct cifs_sb_info *cifs_sb; - cifs_sb = CIFS_SB(inode->i_sb); + cifs_sb = CIFS_SB(inode_sb(inode)); if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) { if ((mask & MAY_EXEC) && !execute_ok(inode)) @@ -581,7 +581,7 @@ static int cifs_remount(struct super_block *sb, int *flags, char *data) static int cifs_drop_inode(struct inode *inode) { - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); /* no serverino => unconditional eviction */ return !(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) || diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 48f7c197cd2d..35910ece3526 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -1265,7 +1265,7 @@ CIFS_SB(struct super_block *sb) static inline struct cifs_sb_info * CIFS_FILE_SB(struct file *file) { - return CIFS_SB(file_inode(file)->i_sb); + return CIFS_SB(inode_sb(file_inode(file))); } static inline char CIFS_DIR_SEP(const struct cifs_sb_info *cifs_sb) diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 81ba6e0d88d8..201ec5c3d4fe 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -231,7 +231,7 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, int rc = -ENOENT; int create_options = CREATE_NOT_DIR; int desired_access; - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct cifs_sb_info *cifs_sb = CIFS_SB(inode_sb(inode)); struct cifs_tcon *tcon = tlink_tcon(tlink); char *full_path = NULL; FILE_ALL_INFO *buf = NULL; @@ -253,7 +253,8 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, if (tcon->unix_ext && cap_unix(tcon->ses) && !tcon->broken_posix_open && (CIFS_UNIX_POSIX_PATH_OPS_CAP & le64_to_cpu(tcon->fsUnixInfo.Capability))) { - rc = cifs_posix_open(full_path, , inode->i_sb, mode, + rc = cifs_posix_open(full_path, , inode_sb(inode), +mode, oflags, oplock, >netfid, xid); switch (rc) { case 0: @@ -414,10 +415,12 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, cifs_create_get_file_info: /* server might mask mode so we have to query for it */ if (tcon->unix_ext) - rc = cifs_get_inode_info_unix(, full_path, inode->i_sb, + rc = cifs_get_inode_info_unix(, full_path, + inode_sb(inode), xid); else { - rc = cifs_get_inode_info(, full_path, buf, inode->i_sb, + rc = cifs_get_inode_info(, full_path, buf, +inode_sb(inode), xid, fid); if (newinode)
[PATCH 17/76] fs/bfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/bfs/dir.c | 23 --- fs/bfs/file.c | 4 ++-- fs/bfs/inode.c | 16 +--- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/fs/bfs/dir.c b/fs/bfs/dir.c index ee832ca5f734..124c1eedb53c 100644 --- a/fs/bfs/dir.c +++ b/fs/bfs/dir.c @@ -38,14 +38,14 @@ static int bfs_readdir(struct file *f, struct dir_context *ctx) if (ctx->pos & (BFS_DIRENT_SIZE - 1)) { printf("Bad f_pos=%08lx for %s:%08lx\n", (unsigned long)ctx->pos, - dir->i_sb->s_id, dir->i_ino); + inode_sb(dir)->s_id, dir->i_ino); return -EINVAL; } while (ctx->pos < dir->i_size) { offset = ctx->pos & (BFS_BSIZE - 1); block = BFS_I(dir)->i_sblock + (ctx->pos >> BFS_BSIZE_BITS); - bh = sb_bread(dir->i_sb, block); + bh = sb_bread(inode_sb(dir), block); if (!bh) { ctx->pos += BFS_BSIZE - offset; continue; @@ -81,7 +81,7 @@ static int bfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, { int err; struct inode *inode; - struct super_block *s = dir->i_sb; + struct super_block *s = inode_sb(dir); struct bfs_sb_info *info = BFS_SB(s); unsigned long ino; @@ -130,7 +130,7 @@ static struct dentry *bfs_lookup(struct inode *dir, struct dentry *dentry, struct inode *inode = NULL; struct buffer_head *bh; struct bfs_dirent *de; - struct bfs_sb_info *info = BFS_SB(dir->i_sb); + struct bfs_sb_info *info = BFS_SB(inode_sb(dir)); if (dentry->d_name.len > BFS_NAMELEN) return ERR_PTR(-ENAMETOOLONG); @@ -140,7 +140,7 @@ static struct dentry *bfs_lookup(struct inode *dir, struct dentry *dentry, if (bh) { unsigned long ino = (unsigned long)le16_to_cpu(de->ino); brelse(bh); - inode = bfs_iget(dir->i_sb, ino); + inode = bfs_iget(inode_sb(dir), ino); if (IS_ERR(inode)) { mutex_unlock(>bfs_lock); return ERR_CAST(inode); @@ -155,7 +155,7 @@ static int bfs_link(struct dentry *old, struct inode *dir, struct dentry *new) { struct inode *inode = d_inode(old); - struct bfs_sb_info *info = BFS_SB(inode->i_sb); + struct bfs_sb_info *info = BFS_SB(inode_sb(inode)); int err; mutex_lock(>bfs_lock); @@ -180,7 +180,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry) struct inode *inode = d_inode(dentry); struct buffer_head *bh; struct bfs_dirent *de; - struct bfs_sb_info *info = BFS_SB(inode->i_sb); + struct bfs_sb_info *info = BFS_SB(inode_sb(inode)); mutex_lock(>bfs_lock); bh = bfs_find_entry(dir, dentry->d_name.name, dentry->d_name.len, ); @@ -189,7 +189,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry) if (!inode->i_nlink) { printf("unlinking non-existent file %s:%lu (nlink=%d)\n", - inode->i_sb->s_id, inode->i_ino, + inode_sb(inode)->s_id, inode->i_ino, inode->i_nlink); set_nlink(inode, 1); } @@ -225,7 +225,7 @@ static int bfs_rename(struct inode *old_dir, struct dentry *old_dentry, if (S_ISDIR(old_inode->i_mode)) return -EINVAL; - info = BFS_SB(old_inode->i_sb); + info = BFS_SB(inode_sb(old_inode)); mutex_lock(>bfs_lock); old_bh = bfs_find_entry(old_dir, @@ -296,7 +296,7 @@ static int bfs_add_entry(struct inode *dir, const unsigned char *name, sblock = BFS_I(dir)->i_sblock; eblock = BFS_I(dir)->i_eblock; for (block = sblock; block <= eblock; block++) { - bh = sb_bread(dir->i_sb, block); + bh = sb_bread(inode_sb(dir), block); if (!bh) return -EIO; for (off = 0; off < BFS_BSIZE; off += BFS_DIRENT_SIZE) { @@ -345,7 +345,8 @@ static struct buffer_head *bfs_find_entry(struct inode *dir, while (block * BFS_BSIZE + offset < dir->i_size) { if (!bh) { - bh = sb_bread(dir->i_sb, BFS_I(dir)->i_sblock + block); + bh = sb_bread(inode_sb(dir), + BFS_I(dir)->i_sblock + block); if (!bh) { block++;
[PATCH 17/76] fs/bfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/bfs/dir.c | 23 --- fs/bfs/file.c | 4 ++-- fs/bfs/inode.c | 16 +--- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/fs/bfs/dir.c b/fs/bfs/dir.c index ee832ca5f734..124c1eedb53c 100644 --- a/fs/bfs/dir.c +++ b/fs/bfs/dir.c @@ -38,14 +38,14 @@ static int bfs_readdir(struct file *f, struct dir_context *ctx) if (ctx->pos & (BFS_DIRENT_SIZE - 1)) { printf("Bad f_pos=%08lx for %s:%08lx\n", (unsigned long)ctx->pos, - dir->i_sb->s_id, dir->i_ino); + inode_sb(dir)->s_id, dir->i_ino); return -EINVAL; } while (ctx->pos < dir->i_size) { offset = ctx->pos & (BFS_BSIZE - 1); block = BFS_I(dir)->i_sblock + (ctx->pos >> BFS_BSIZE_BITS); - bh = sb_bread(dir->i_sb, block); + bh = sb_bread(inode_sb(dir), block); if (!bh) { ctx->pos += BFS_BSIZE - offset; continue; @@ -81,7 +81,7 @@ static int bfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, { int err; struct inode *inode; - struct super_block *s = dir->i_sb; + struct super_block *s = inode_sb(dir); struct bfs_sb_info *info = BFS_SB(s); unsigned long ino; @@ -130,7 +130,7 @@ static struct dentry *bfs_lookup(struct inode *dir, struct dentry *dentry, struct inode *inode = NULL; struct buffer_head *bh; struct bfs_dirent *de; - struct bfs_sb_info *info = BFS_SB(dir->i_sb); + struct bfs_sb_info *info = BFS_SB(inode_sb(dir)); if (dentry->d_name.len > BFS_NAMELEN) return ERR_PTR(-ENAMETOOLONG); @@ -140,7 +140,7 @@ static struct dentry *bfs_lookup(struct inode *dir, struct dentry *dentry, if (bh) { unsigned long ino = (unsigned long)le16_to_cpu(de->ino); brelse(bh); - inode = bfs_iget(dir->i_sb, ino); + inode = bfs_iget(inode_sb(dir), ino); if (IS_ERR(inode)) { mutex_unlock(>bfs_lock); return ERR_CAST(inode); @@ -155,7 +155,7 @@ static int bfs_link(struct dentry *old, struct inode *dir, struct dentry *new) { struct inode *inode = d_inode(old); - struct bfs_sb_info *info = BFS_SB(inode->i_sb); + struct bfs_sb_info *info = BFS_SB(inode_sb(inode)); int err; mutex_lock(>bfs_lock); @@ -180,7 +180,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry) struct inode *inode = d_inode(dentry); struct buffer_head *bh; struct bfs_dirent *de; - struct bfs_sb_info *info = BFS_SB(inode->i_sb); + struct bfs_sb_info *info = BFS_SB(inode_sb(inode)); mutex_lock(>bfs_lock); bh = bfs_find_entry(dir, dentry->d_name.name, dentry->d_name.len, ); @@ -189,7 +189,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry) if (!inode->i_nlink) { printf("unlinking non-existent file %s:%lu (nlink=%d)\n", - inode->i_sb->s_id, inode->i_ino, + inode_sb(inode)->s_id, inode->i_ino, inode->i_nlink); set_nlink(inode, 1); } @@ -225,7 +225,7 @@ static int bfs_rename(struct inode *old_dir, struct dentry *old_dentry, if (S_ISDIR(old_inode->i_mode)) return -EINVAL; - info = BFS_SB(old_inode->i_sb); + info = BFS_SB(inode_sb(old_inode)); mutex_lock(>bfs_lock); old_bh = bfs_find_entry(old_dir, @@ -296,7 +296,7 @@ static int bfs_add_entry(struct inode *dir, const unsigned char *name, sblock = BFS_I(dir)->i_sblock; eblock = BFS_I(dir)->i_eblock; for (block = sblock; block <= eblock; block++) { - bh = sb_bread(dir->i_sb, block); + bh = sb_bread(inode_sb(dir), block); if (!bh) return -EIO; for (off = 0; off < BFS_BSIZE; off += BFS_DIRENT_SIZE) { @@ -345,7 +345,8 @@ static struct buffer_head *bfs_find_entry(struct inode *dir, while (block * BFS_BSIZE + offset < dir->i_size) { if (!bh) { - bh = sb_bread(dir->i_sb, BFS_I(dir)->i_sblock + block); + bh = sb_bread(inode_sb(dir), + BFS_I(dir)->i_sblock + block); if (!bh) { block++; continue;
[PATCH 21/76] fs/coda: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/coda/dir.c | 25 + fs/coda/file.c| 7 --- fs/coda/inode.c | 4 ++-- fs/coda/pioctl.c | 4 ++-- fs/coda/symlink.c | 2 +- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/fs/coda/dir.c b/fs/coda/dir.c index 00876ddadb43..89deb3532f5e 100644 --- a/fs/coda/dir.c +++ b/fs/coda/dir.c @@ -40,7 +40,7 @@ static int coda_return_EIO(void) /* access routines: lookup, readlink, permission */ static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, unsigned int flags) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); const char *name = entry->d_name.name; size_t length = entry->d_name.len; struct inode *inode; @@ -91,7 +91,7 @@ int coda_permission(struct inode *inode, int mask) if (coda_cache_check(inode, mask)) return 0; - error = venus_access(inode->i_sb, coda_i2f(inode), mask); + error = venus_access(inode_sb(inode), coda_i2f(inode), mask); if (!error) coda_cache_enter(inode, mask); @@ -144,12 +144,12 @@ static int coda_create(struct inode *dir, struct dentry *de, umode_t mode, bool if (is_root_inode(dir) && coda_iscontrol(name, length)) return -EPERM; - error = venus_create(dir->i_sb, coda_i2f(dir), name, length, + error = venus_create(inode_sb(dir), coda_i2f(dir), name, length, 0, mode, , ); if (error) goto err_out; - inode = coda_iget(dir->i_sb, , ); + inode = coda_iget(inode_sb(dir), , ); if (IS_ERR(inode)) { error = PTR_ERR(inode); goto err_out; @@ -177,12 +177,12 @@ static int coda_mkdir(struct inode *dir, struct dentry *de, umode_t mode) return -EPERM; attrs.va_mode = mode; - error = venus_mkdir(dir->i_sb, coda_i2f(dir), + error = venus_mkdir(inode_sb(dir), coda_i2f(dir), name, len, , ); if (error) goto err_out; - inode = coda_iget(dir->i_sb, , ); + inode = coda_iget(inode_sb(dir), , ); if (IS_ERR(inode)) { error = PTR_ERR(inode); goto err_out; @@ -210,7 +210,7 @@ static int coda_link(struct dentry *source_de, struct inode *dir_inode, if (is_root_inode(dir_inode) && coda_iscontrol(name, len)) return -EPERM; - error = venus_link(dir_inode->i_sb, coda_i2f(inode), + error = venus_link(inode_sb(dir_inode), coda_i2f(inode), coda_i2f(dir_inode), (const char *)name, len); if (error) { d_drop(de); @@ -245,7 +245,8 @@ static int coda_symlink(struct inode *dir_inode, struct dentry *de, * an inode for the entry we have to drop it. */ d_drop(de); - error = venus_symlink(dir_inode->i_sb, coda_i2f(dir_inode), name, len, + error = venus_symlink(inode_sb(dir_inode), coda_i2f(dir_inode), name, + len, symname, symlen); /* mtime is no good anymore */ @@ -262,7 +263,7 @@ static int coda_unlink(struct inode *dir, struct dentry *de) const char *name = de->d_name.name; int len = de->d_name.len; - error = venus_remove(dir->i_sb, coda_i2f(dir), name, len); + error = venus_remove(inode_sb(dir), coda_i2f(dir), name, len); if (error) return error; @@ -277,7 +278,7 @@ static int coda_rmdir(struct inode *dir, struct dentry *de) int len = de->d_name.len; int error; - error = venus_rmdir(dir->i_sb, coda_i2f(dir), name, len); + error = venus_rmdir(inode_sb(dir), coda_i2f(dir), name, len); if (!error) { /* VFS may delete the child */ if (d_really_is_positive(de)) @@ -304,7 +305,7 @@ static int coda_rename(struct inode *old_dir, struct dentry *old_dentry, if (flags) return -EINVAL; - error = venus_rename(old_dir->i_sb, coda_i2f(old_dir), + error = venus_rename(inode_sb(old_dir), coda_i2f(old_dir), coda_i2f(new_dir), old_length, new_length, (const char *) old_name, (const char *)new_name); if (!error) { @@ -529,7 +530,7 @@ int coda_revalidate_inode(struct inode *inode) return 0; if (cii->c_flags & (C_VATTR | C_PURGE | C_FLUSH)) { - error = venus_getattr(inode->i_sb, &(cii->c_fid), ); + error = venus_getattr(inode_sb(inode), &(cii->c_fid), ); if (error) return -EIO; diff --git a/fs/coda/file.c b/fs/coda/file.c index 1cbc1f2298ee..6f84de9d1197 100644 --- a/fs/coda/file.
[PATCH 21/76] fs/coda: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/coda/dir.c | 25 + fs/coda/file.c| 7 --- fs/coda/inode.c | 4 ++-- fs/coda/pioctl.c | 4 ++-- fs/coda/symlink.c | 2 +- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/fs/coda/dir.c b/fs/coda/dir.c index 00876ddadb43..89deb3532f5e 100644 --- a/fs/coda/dir.c +++ b/fs/coda/dir.c @@ -40,7 +40,7 @@ static int coda_return_EIO(void) /* access routines: lookup, readlink, permission */ static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, unsigned int flags) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); const char *name = entry->d_name.name; size_t length = entry->d_name.len; struct inode *inode; @@ -91,7 +91,7 @@ int coda_permission(struct inode *inode, int mask) if (coda_cache_check(inode, mask)) return 0; - error = venus_access(inode->i_sb, coda_i2f(inode), mask); + error = venus_access(inode_sb(inode), coda_i2f(inode), mask); if (!error) coda_cache_enter(inode, mask); @@ -144,12 +144,12 @@ static int coda_create(struct inode *dir, struct dentry *de, umode_t mode, bool if (is_root_inode(dir) && coda_iscontrol(name, length)) return -EPERM; - error = venus_create(dir->i_sb, coda_i2f(dir), name, length, + error = venus_create(inode_sb(dir), coda_i2f(dir), name, length, 0, mode, , ); if (error) goto err_out; - inode = coda_iget(dir->i_sb, , ); + inode = coda_iget(inode_sb(dir), , ); if (IS_ERR(inode)) { error = PTR_ERR(inode); goto err_out; @@ -177,12 +177,12 @@ static int coda_mkdir(struct inode *dir, struct dentry *de, umode_t mode) return -EPERM; attrs.va_mode = mode; - error = venus_mkdir(dir->i_sb, coda_i2f(dir), + error = venus_mkdir(inode_sb(dir), coda_i2f(dir), name, len, , ); if (error) goto err_out; - inode = coda_iget(dir->i_sb, , ); + inode = coda_iget(inode_sb(dir), , ); if (IS_ERR(inode)) { error = PTR_ERR(inode); goto err_out; @@ -210,7 +210,7 @@ static int coda_link(struct dentry *source_de, struct inode *dir_inode, if (is_root_inode(dir_inode) && coda_iscontrol(name, len)) return -EPERM; - error = venus_link(dir_inode->i_sb, coda_i2f(inode), + error = venus_link(inode_sb(dir_inode), coda_i2f(inode), coda_i2f(dir_inode), (const char *)name, len); if (error) { d_drop(de); @@ -245,7 +245,8 @@ static int coda_symlink(struct inode *dir_inode, struct dentry *de, * an inode for the entry we have to drop it. */ d_drop(de); - error = venus_symlink(dir_inode->i_sb, coda_i2f(dir_inode), name, len, + error = venus_symlink(inode_sb(dir_inode), coda_i2f(dir_inode), name, + len, symname, symlen); /* mtime is no good anymore */ @@ -262,7 +263,7 @@ static int coda_unlink(struct inode *dir, struct dentry *de) const char *name = de->d_name.name; int len = de->d_name.len; - error = venus_remove(dir->i_sb, coda_i2f(dir), name, len); + error = venus_remove(inode_sb(dir), coda_i2f(dir), name, len); if (error) return error; @@ -277,7 +278,7 @@ static int coda_rmdir(struct inode *dir, struct dentry *de) int len = de->d_name.len; int error; - error = venus_rmdir(dir->i_sb, coda_i2f(dir), name, len); + error = venus_rmdir(inode_sb(dir), coda_i2f(dir), name, len); if (!error) { /* VFS may delete the child */ if (d_really_is_positive(de)) @@ -304,7 +305,7 @@ static int coda_rename(struct inode *old_dir, struct dentry *old_dentry, if (flags) return -EINVAL; - error = venus_rename(old_dir->i_sb, coda_i2f(old_dir), + error = venus_rename(inode_sb(old_dir), coda_i2f(old_dir), coda_i2f(new_dir), old_length, new_length, (const char *) old_name, (const char *)new_name); if (!error) { @@ -529,7 +530,7 @@ int coda_revalidate_inode(struct inode *inode) return 0; if (cii->c_flags & (C_VATTR | C_PURGE | C_FLUSH)) { - error = venus_getattr(inode->i_sb, &(cii->c_fid), ); + error = venus_getattr(inode_sb(inode), &(cii->c_fid), ); if (error) return -EIO; diff --git a/fs/coda/file.c b/fs/coda/file.c index 1cbc1f2298ee..6f84de9d1197 100644 --- a/fs/coda/file.c +++ b/fs/coda/fi
[PATCH 24/76] fs/crypto: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/crypto/bio.c | 10 +- fs/crypto/crypto.c | 4 ++-- fs/crypto/fname.c | 4 ++-- fs/crypto/keyinfo.c | 8 fs/crypto/policy.c | 12 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c index 0d5e6a569d58..0f7daacfa3de 100644 --- a/fs/crypto/bio.c +++ b/fs/crypto/bio.c @@ -92,7 +92,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk, struct bio *bio; int ret, err = 0; - BUG_ON(inode->i_sb->s_blocksize != PAGE_SIZE); + BUG_ON(inode_sb(inode)->s_blocksize != PAGE_SIZE); ctx = fscrypt_get_ctx(inode, GFP_NOFS); if (IS_ERR(ctx)) @@ -116,13 +116,13 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk, err = -ENOMEM; goto errout; } - bio_set_dev(bio, inode->i_sb->s_bdev); + bio_set_dev(bio, inode_sb(inode)->s_bdev); bio->bi_iter.bi_sector = - pblk << (inode->i_sb->s_blocksize_bits - 9); + pblk << (inode_sb(inode)->s_blocksize_bits - 9); bio_set_op_attrs(bio, REQ_OP_WRITE, 0); ret = bio_add_page(bio, ciphertext_page, - inode->i_sb->s_blocksize, 0); - if (ret != inode->i_sb->s_blocksize) { + inode_sb(inode)->s_blocksize, 0); + if (ret != inode_sb(inode)->s_blocksize) { /* should never happen! */ WARN_ON(1); bio_put(bio); diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c index ce654526c0fb..94b88687fe3f 100644 --- a/fs/crypto/crypto.c +++ b/fs/crypto/crypto.c @@ -240,7 +240,7 @@ struct page *fscrypt_encrypt_page(const struct inode *inode, BUG_ON(len % FS_CRYPTO_BLOCK_SIZE != 0); - if (inode->i_sb->s_cop->flags & FS_CFLG_OWN_PAGES) { + if (inode_sb(inode)->s_cop->flags & FS_CFLG_OWN_PAGES) { /* with inplace-encryption we just encrypt the page */ err = fscrypt_do_page_crypto(inode, FS_ENCRYPT, lblk_num, page, ciphertext_page, len, offs, @@ -299,7 +299,7 @@ EXPORT_SYMBOL(fscrypt_encrypt_page); int fscrypt_decrypt_page(const struct inode *inode, struct page *page, unsigned int len, unsigned int offs, u64 lblk_num) { - if (!(inode->i_sb->s_cop->flags & FS_CFLG_OWN_PAGES)) + if (!(inode_sb(inode)->s_cop->flags & FS_CFLG_OWN_PAGES)) BUG_ON(!PageLocked(page)); return fscrypt_do_page_crypto(inode, FS_DECRYPT, lblk_num, page, page, diff --git a/fs/crypto/fname.c b/fs/crypto/fname.c index e33f3d3c5ade..cc0e7632e2d6 100644 --- a/fs/crypto/fname.c +++ b/fs/crypto/fname.c @@ -102,7 +102,7 @@ static int fname_decrypt(struct inode *inode, char iv[FS_CRYPTO_BLOCK_SIZE]; unsigned lim; - lim = inode->i_sb->s_cop->max_namelen(inode); + lim = inode_sb(inode)->s_cop->max_namelen(inode); if (iname->len <= 0 || iname->len > lim) return -EIO; @@ -346,7 +346,7 @@ int fscrypt_setup_filename(struct inode *dir, const struct qstr *iname, if (dir->i_crypt_info) { if (!fscrypt_fname_encrypted_size(dir, iname->len, - dir->i_sb->s_cop->max_namelen(dir), + inode_sb(dir)->s_cop->max_namelen(dir), >crypto_buf.len)) return -ENAMETOOLONG; fname->crypto_buf.name = kmalloc(fname->crypto_buf.len, diff --git a/fs/crypto/keyinfo.c b/fs/crypto/keyinfo.c index 05f5ee1f0705..13beafec4355 100644 --- a/fs/crypto/keyinfo.c +++ b/fs/crypto/keyinfo.c @@ -253,11 +253,11 @@ int fscrypt_get_encryption_info(struct inode *inode) if (inode->i_crypt_info) return 0; - res = fscrypt_initialize(inode->i_sb->s_cop->flags); + res = fscrypt_initialize(inode_sb(inode)->s_cop->flags); if (res) return res; - res = inode->i_sb->s_cop->get_context(inode, , sizeof(ctx)); + res = inode_sb(inode)->s_cop->get_context(inode, , sizeof(ctx)); if (res < 0) { if (!fscrypt_dummy_context_enabled(inode) || IS_ENCRYPTED(inode)) @@ -305,9 +305,9 @@ int fscrypt_get_encryption_info(struct inode *inode) res = validate_user_key(crypt_info, , raw_key, FS_KEY_DESC_PREFIX, keysize); - if (res && inode->i_sb->s_
[PATCH 24/76] fs/crypto: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/crypto/bio.c | 10 +- fs/crypto/crypto.c | 4 ++-- fs/crypto/fname.c | 4 ++-- fs/crypto/keyinfo.c | 8 fs/crypto/policy.c | 12 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c index 0d5e6a569d58..0f7daacfa3de 100644 --- a/fs/crypto/bio.c +++ b/fs/crypto/bio.c @@ -92,7 +92,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk, struct bio *bio; int ret, err = 0; - BUG_ON(inode->i_sb->s_blocksize != PAGE_SIZE); + BUG_ON(inode_sb(inode)->s_blocksize != PAGE_SIZE); ctx = fscrypt_get_ctx(inode, GFP_NOFS); if (IS_ERR(ctx)) @@ -116,13 +116,13 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk, err = -ENOMEM; goto errout; } - bio_set_dev(bio, inode->i_sb->s_bdev); + bio_set_dev(bio, inode_sb(inode)->s_bdev); bio->bi_iter.bi_sector = - pblk << (inode->i_sb->s_blocksize_bits - 9); + pblk << (inode_sb(inode)->s_blocksize_bits - 9); bio_set_op_attrs(bio, REQ_OP_WRITE, 0); ret = bio_add_page(bio, ciphertext_page, - inode->i_sb->s_blocksize, 0); - if (ret != inode->i_sb->s_blocksize) { + inode_sb(inode)->s_blocksize, 0); + if (ret != inode_sb(inode)->s_blocksize) { /* should never happen! */ WARN_ON(1); bio_put(bio); diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c index ce654526c0fb..94b88687fe3f 100644 --- a/fs/crypto/crypto.c +++ b/fs/crypto/crypto.c @@ -240,7 +240,7 @@ struct page *fscrypt_encrypt_page(const struct inode *inode, BUG_ON(len % FS_CRYPTO_BLOCK_SIZE != 0); - if (inode->i_sb->s_cop->flags & FS_CFLG_OWN_PAGES) { + if (inode_sb(inode)->s_cop->flags & FS_CFLG_OWN_PAGES) { /* with inplace-encryption we just encrypt the page */ err = fscrypt_do_page_crypto(inode, FS_ENCRYPT, lblk_num, page, ciphertext_page, len, offs, @@ -299,7 +299,7 @@ EXPORT_SYMBOL(fscrypt_encrypt_page); int fscrypt_decrypt_page(const struct inode *inode, struct page *page, unsigned int len, unsigned int offs, u64 lblk_num) { - if (!(inode->i_sb->s_cop->flags & FS_CFLG_OWN_PAGES)) + if (!(inode_sb(inode)->s_cop->flags & FS_CFLG_OWN_PAGES)) BUG_ON(!PageLocked(page)); return fscrypt_do_page_crypto(inode, FS_DECRYPT, lblk_num, page, page, diff --git a/fs/crypto/fname.c b/fs/crypto/fname.c index e33f3d3c5ade..cc0e7632e2d6 100644 --- a/fs/crypto/fname.c +++ b/fs/crypto/fname.c @@ -102,7 +102,7 @@ static int fname_decrypt(struct inode *inode, char iv[FS_CRYPTO_BLOCK_SIZE]; unsigned lim; - lim = inode->i_sb->s_cop->max_namelen(inode); + lim = inode_sb(inode)->s_cop->max_namelen(inode); if (iname->len <= 0 || iname->len > lim) return -EIO; @@ -346,7 +346,7 @@ int fscrypt_setup_filename(struct inode *dir, const struct qstr *iname, if (dir->i_crypt_info) { if (!fscrypt_fname_encrypted_size(dir, iname->len, - dir->i_sb->s_cop->max_namelen(dir), + inode_sb(dir)->s_cop->max_namelen(dir), >crypto_buf.len)) return -ENAMETOOLONG; fname->crypto_buf.name = kmalloc(fname->crypto_buf.len, diff --git a/fs/crypto/keyinfo.c b/fs/crypto/keyinfo.c index 05f5ee1f0705..13beafec4355 100644 --- a/fs/crypto/keyinfo.c +++ b/fs/crypto/keyinfo.c @@ -253,11 +253,11 @@ int fscrypt_get_encryption_info(struct inode *inode) if (inode->i_crypt_info) return 0; - res = fscrypt_initialize(inode->i_sb->s_cop->flags); + res = fscrypt_initialize(inode_sb(inode)->s_cop->flags); if (res) return res; - res = inode->i_sb->s_cop->get_context(inode, , sizeof(ctx)); + res = inode_sb(inode)->s_cop->get_context(inode, , sizeof(ctx)); if (res < 0) { if (!fscrypt_dummy_context_enabled(inode) || IS_ENCRYPTED(inode)) @@ -305,9 +305,9 @@ int fscrypt_get_encryption_info(struct inode *inode) res = validate_user_key(crypt_info, , raw_key, FS_KEY_DESC_PREFIX, keysize); - if (res && inode->i_sb->s_cop-&g
[PATCH 22/76] fs/configfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/configfs/inode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/configfs/inode.c b/fs/configfs/inode.c index ad718e5e37bb..4f28a7445336 100644 --- a/fs/configfs/inode.c +++ b/fs/configfs/inode.c @@ -91,13 +91,13 @@ int configfs_setattr(struct dentry * dentry, struct iattr * iattr) sd_iattr->ia_gid = iattr->ia_gid; if (ia_valid & ATTR_ATIME) sd_iattr->ia_atime = timespec_trunc(iattr->ia_atime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MTIME) sd_iattr->ia_mtime = timespec_trunc(iattr->ia_mtime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_CTIME) sd_iattr->ia_ctime = timespec_trunc(iattr->ia_ctime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MODE) { umode_t mode = iattr->ia_mode; -- 2.15.1
[PATCH 22/76] fs/configfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/configfs/inode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/configfs/inode.c b/fs/configfs/inode.c index ad718e5e37bb..4f28a7445336 100644 --- a/fs/configfs/inode.c +++ b/fs/configfs/inode.c @@ -91,13 +91,13 @@ int configfs_setattr(struct dentry * dentry, struct iattr * iattr) sd_iattr->ia_gid = iattr->ia_gid; if (ia_valid & ATTR_ATIME) sd_iattr->ia_atime = timespec_trunc(iattr->ia_atime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MTIME) sd_iattr->ia_mtime = timespec_trunc(iattr->ia_mtime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_CTIME) sd_iattr->ia_ctime = timespec_trunc(iattr->ia_ctime, - inode->i_sb->s_time_gran); + inode_sb(inode)->s_time_gran); if (ia_valid & ATTR_MODE) { umode_t mode = iattr->ia_mode; -- 2.15.1
[PATCH 25/76] fs/ecryptfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/ecryptfs/crypto.c | 5 ++--- fs/ecryptfs/file.c | 5 ++--- fs/ecryptfs/inode.c | 15 +++ 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 846ca150d52e..ae979420d9d1 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c @@ -800,8 +800,7 @@ int ecryptfs_new_file_context(struct inode *ecryptfs_inode) struct ecryptfs_crypt_stat *crypt_stat = _inode_to_private(ecryptfs_inode)->crypt_stat; struct ecryptfs_mount_crypt_stat *mount_crypt_stat = - _superblock_to_private( - ecryptfs_inode->i_sb)->mount_crypt_stat; + _superblock_to_private(inode_sb(ecryptfs_inode))->mount_crypt_stat; int cipher_name_len; int rc = 0; @@ -1263,7 +1262,7 @@ void ecryptfs_i_size_init(const char *page_virt, struct inode *inode) crypt_stat = _inode_to_private(inode)->crypt_stat; mount_crypt_stat = - _superblock_to_private(inode->i_sb)->mount_crypt_stat; + _superblock_to_private(inode_sb(inode))->mount_crypt_stat; if (mount_crypt_stat->flags & ECRYPTFS_ENCRYPTED_VIEW_ENABLED) { file_size = i_size_read(ecryptfs_inode_to_lower(inode)); if (crypt_stat->flags & ECRYPTFS_METADATA_IN_XATTR) diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index c74ed3ca3372..0fa5050bcbc2 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c @@ -109,7 +109,7 @@ static int ecryptfs_readdir(struct file *file, struct dir_context *ctx) struct ecryptfs_getdents_callback buf = { .ctx.actor = ecryptfs_filldir, .caller = ctx, - .sb = inode->i_sb, + .sb = inode_sb(inode), }; lower_file = ecryptfs_file_to_lower(file); rc = iterate_dir(lower_file, ); @@ -135,8 +135,7 @@ static int read_or_initialize_metadata(struct dentry *dentry) int rc; crypt_stat = _inode_to_private(inode)->crypt_stat; - mount_crypt_stat = _superblock_to_private( - inode->i_sb)->mount_crypt_stat; + mount_crypt_stat = _superblock_to_private(inode_sb(inode))->mount_crypt_stat; mutex_lock(_stat->cs_mutex); if (crypt_stat->flags & ECRYPTFS_POLICY_APPLIED && diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 847904aa63a9..ea205c666f5b 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -88,7 +88,7 @@ static struct inode *__ecryptfs_get_inode(struct inode *lower_inode, { struct inode *inode; - if (lower_inode->i_sb != ecryptfs_superblock_to_lower(sb)) + if (inode_sb(lower_inode) != ecryptfs_superblock_to_lower(sb)) return ERR_PTR(-EXDEV); if (!igrab(lower_inode)) return ERR_PTR(-ESTALE); @@ -194,7 +194,7 @@ ecryptfs_do_create(struct inode *directory_inode, goto out_lock; } inode = __ecryptfs_get_inode(d_inode(lower_dentry), -directory_inode->i_sb); +inode_sb(directory_inode)); if (IS_ERR(inode)) { vfs_unlink(d_inode(lower_dir_dentry), lower_dentry, NULL); goto out_lock; @@ -441,7 +441,7 @@ static int ecryptfs_link(struct dentry *old_dentry, struct inode *dir, lower_new_dentry, NULL); if (rc || d_really_is_negative(lower_new_dentry)) goto out_lock; - rc = ecryptfs_interpose(lower_new_dentry, new_dentry, dir->i_sb); + rc = ecryptfs_interpose(lower_new_dentry, new_dentry, inode_sb(dir)); if (rc) goto out_lock; fsstack_copy_attr_times(dir, d_inode(lower_dir_dentry)); @@ -474,8 +474,7 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry, lower_dentry = ecryptfs_dentry_to_lower(dentry); dget(lower_dentry); lower_dir_dentry = lock_parent(lower_dentry); - mount_crypt_stat = _superblock_to_private( - dir->i_sb)->mount_crypt_stat; + mount_crypt_stat = _superblock_to_private(inode_sb(dir))->mount_crypt_stat; rc = ecryptfs_encrypt_and_encode_filename(_symname, _symlen, mount_crypt_stat, symname, @@ -487,7 +486,7 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry, kfree(encoded_symname); if (rc || d_really_is_negative(lower_dentry)) goto out_lock; - rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb); + rc = ecryptfs_interpose(lower_dentry, dentry, inode_sb(dir)); if (rc) goto out_lock; fsstack_copy_attr_times(dir, d_inode(lower_dir
[PATCH 25/76] fs/ecryptfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/ecryptfs/crypto.c | 5 ++--- fs/ecryptfs/file.c | 5 ++--- fs/ecryptfs/inode.c | 15 +++ 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 846ca150d52e..ae979420d9d1 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c @@ -800,8 +800,7 @@ int ecryptfs_new_file_context(struct inode *ecryptfs_inode) struct ecryptfs_crypt_stat *crypt_stat = _inode_to_private(ecryptfs_inode)->crypt_stat; struct ecryptfs_mount_crypt_stat *mount_crypt_stat = - _superblock_to_private( - ecryptfs_inode->i_sb)->mount_crypt_stat; + _superblock_to_private(inode_sb(ecryptfs_inode))->mount_crypt_stat; int cipher_name_len; int rc = 0; @@ -1263,7 +1262,7 @@ void ecryptfs_i_size_init(const char *page_virt, struct inode *inode) crypt_stat = _inode_to_private(inode)->crypt_stat; mount_crypt_stat = - _superblock_to_private(inode->i_sb)->mount_crypt_stat; + _superblock_to_private(inode_sb(inode))->mount_crypt_stat; if (mount_crypt_stat->flags & ECRYPTFS_ENCRYPTED_VIEW_ENABLED) { file_size = i_size_read(ecryptfs_inode_to_lower(inode)); if (crypt_stat->flags & ECRYPTFS_METADATA_IN_XATTR) diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index c74ed3ca3372..0fa5050bcbc2 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c @@ -109,7 +109,7 @@ static int ecryptfs_readdir(struct file *file, struct dir_context *ctx) struct ecryptfs_getdents_callback buf = { .ctx.actor = ecryptfs_filldir, .caller = ctx, - .sb = inode->i_sb, + .sb = inode_sb(inode), }; lower_file = ecryptfs_file_to_lower(file); rc = iterate_dir(lower_file, ); @@ -135,8 +135,7 @@ static int read_or_initialize_metadata(struct dentry *dentry) int rc; crypt_stat = _inode_to_private(inode)->crypt_stat; - mount_crypt_stat = _superblock_to_private( - inode->i_sb)->mount_crypt_stat; + mount_crypt_stat = _superblock_to_private(inode_sb(inode))->mount_crypt_stat; mutex_lock(_stat->cs_mutex); if (crypt_stat->flags & ECRYPTFS_POLICY_APPLIED && diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 847904aa63a9..ea205c666f5b 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -88,7 +88,7 @@ static struct inode *__ecryptfs_get_inode(struct inode *lower_inode, { struct inode *inode; - if (lower_inode->i_sb != ecryptfs_superblock_to_lower(sb)) + if (inode_sb(lower_inode) != ecryptfs_superblock_to_lower(sb)) return ERR_PTR(-EXDEV); if (!igrab(lower_inode)) return ERR_PTR(-ESTALE); @@ -194,7 +194,7 @@ ecryptfs_do_create(struct inode *directory_inode, goto out_lock; } inode = __ecryptfs_get_inode(d_inode(lower_dentry), -directory_inode->i_sb); +inode_sb(directory_inode)); if (IS_ERR(inode)) { vfs_unlink(d_inode(lower_dir_dentry), lower_dentry, NULL); goto out_lock; @@ -441,7 +441,7 @@ static int ecryptfs_link(struct dentry *old_dentry, struct inode *dir, lower_new_dentry, NULL); if (rc || d_really_is_negative(lower_new_dentry)) goto out_lock; - rc = ecryptfs_interpose(lower_new_dentry, new_dentry, dir->i_sb); + rc = ecryptfs_interpose(lower_new_dentry, new_dentry, inode_sb(dir)); if (rc) goto out_lock; fsstack_copy_attr_times(dir, d_inode(lower_dir_dentry)); @@ -474,8 +474,7 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry, lower_dentry = ecryptfs_dentry_to_lower(dentry); dget(lower_dentry); lower_dir_dentry = lock_parent(lower_dentry); - mount_crypt_stat = _superblock_to_private( - dir->i_sb)->mount_crypt_stat; + mount_crypt_stat = _superblock_to_private(inode_sb(dir))->mount_crypt_stat; rc = ecryptfs_encrypt_and_encode_filename(_symname, _symlen, mount_crypt_stat, symname, @@ -487,7 +486,7 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry, kfree(encoded_symname); if (rc || d_really_is_negative(lower_dentry)) goto out_lock; - rc = ecryptfs_interpose(lower_dentry, dentry, dir->i_sb); + rc = ecryptfs_interpose(lower_dentry, dentry, inode_sb(dir)); if (rc) goto out_lock; fsstack_copy_attr_times(dir, d_inode(lower_dir_dentry)); @@ -511,7
[PATCH 26/76] fs/efivarfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/efivarfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/efivarfs/inode.c b/fs/efivarfs/inode.c index 71ff317e..5e0de72476bf 100644 --- a/fs/efivarfs/inode.c +++ b/fs/efivarfs/inode.c @@ -92,7 +92,7 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, dentry->d_name.name, namelen)) is_removable = true; - inode = efivarfs_get_inode(dir->i_sb, dir, mode, 0, is_removable); + inode = efivarfs_get_inode(inode_sb(dir), dir, mode, 0, is_removable); if (!inode) { err = -ENOMEM; goto out; -- 2.15.1
[PATCH 26/76] fs/efivarfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/efivarfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/efivarfs/inode.c b/fs/efivarfs/inode.c index 71ff317e..5e0de72476bf 100644 --- a/fs/efivarfs/inode.c +++ b/fs/efivarfs/inode.c @@ -92,7 +92,7 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, dentry->d_name.name, namelen)) is_removable = true; - inode = efivarfs_get_inode(dir->i_sb, dir, mode, 0, is_removable); + inode = efivarfs_get_inode(inode_sb(dir), dir, mode, 0, is_removable); if (!inode) { err = -ENOMEM; goto out; -- 2.15.1
[PATCH 29/76] fs/exportfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/exportfs/expfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c index 329a5d103846..d0ce48374bda 100644 --- a/fs/exportfs/expfs.c +++ b/fs/exportfs/expfs.c @@ -383,7 +383,7 @@ static int export_encode_fh(struct inode *inode, struct fid *fid, int exportfs_encode_inode_fh(struct inode *inode, struct fid *fid, int *max_len, struct inode *parent) { - const struct export_operations *nop = inode->i_sb->s_export_op; + const struct export_operations *nop = inode_sb(inode)->s_export_op; if (nop && nop->encode_fh) return nop->encode_fh(inode, fid->raw, max_len, parent); -- 2.15.1
[PATCH 30/76] fs/ext2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/ext2/balloc.c | 10 +++ fs/ext2/dir.c| 32 ++-- fs/ext2/file.c | 6 ++-- fs/ext2/ialloc.c | 16 +- fs/ext2/inode.c | 82 +++- fs/ext2/ioctl.c | 4 +-- fs/ext2/namei.c | 14 - fs/ext2/xattr.c | 59 ++--- fs/ext2/xattr_user.c | 4 +-- 9 files changed, 115 insertions(+), 112 deletions(-) diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 33db13365c5e..0ac54114ea9a 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c @@ -413,7 +413,7 @@ void ext2_init_block_alloc_info(struct inode *inode) { struct ext2_inode_info *ei = EXT2_I(inode); struct ext2_block_alloc_info *block_i; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); block_i = kmalloc(sizeof(*block_i), GFP_NOFS); if (block_i) { @@ -455,7 +455,7 @@ void ext2_discard_reservation(struct inode *inode) struct ext2_inode_info *ei = EXT2_I(inode); struct ext2_block_alloc_info *block_i = ei->i_block_alloc_info; struct ext2_reserve_window_node *rsv; - spinlock_t *rsv_lock = _SB(inode->i_sb)->s_rsv_window_lock; + spinlock_t *rsv_lock = _SB(inode_sb(inode))->s_rsv_window_lock; if (!block_i) return; @@ -464,7 +464,7 @@ void ext2_discard_reservation(struct inode *inode) if (!rsv_is_empty(>rsv_window)) { spin_lock(rsv_lock); if (!rsv_is_empty(>rsv_window)) - rsv_window_remove(inode->i_sb, rsv); + rsv_window_remove(inode_sb(inode), rsv); spin_unlock(rsv_lock); } } @@ -484,7 +484,7 @@ void ext2_free_blocks (struct inode * inode, unsigned long block, unsigned long bit; unsigned long i; unsigned long overflow; - struct super_block * sb = inode->i_sb; + struct super_block * sb = inode_sb(inode); struct ext2_sb_info * sbi = EXT2_SB(sb); struct ext2_group_desc * desc; struct ext2_super_block * es = sbi->s_es; @@ -1255,7 +1255,7 @@ ext2_fsblk_t ext2_new_blocks(struct inode *inode, ext2_fsblk_t goal, int ret; *errp = -ENOSPC; - sb = inode->i_sb; + sb = inode_sb(inode); /* * Check quota for allocation of this block. diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c index 3b8114def693..b9565d7b86e8 100644 --- a/fs/ext2/dir.c +++ b/fs/ext2/dir.c @@ -63,7 +63,7 @@ static inline __le16 ext2_rec_len_to_disk(unsigned len) */ static inline unsigned ext2_chunk_size(struct inode *inode) { - return inode->i_sb->s_blocksize; + return inode_sb(inode)->s_blocksize; } static inline void ext2_put_page(struct page *page) @@ -115,7 +115,7 @@ static int ext2_commit_chunk(struct page *page, loff_t pos, unsigned len) static bool ext2_check_page(struct page *page, int quiet) { struct inode *dir = page->mapping->host; - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); unsigned chunk_size = ext2_chunk_size(dir); char *kaddr = page_address(page); u32 max_inumber = le32_to_cpu(EXT2_SB(sb)->s_es->s_inodes_count); @@ -277,7 +277,7 @@ static unsigned char ext2_type_by_mode[S_IFMT >> S_SHIFT] = { static inline void ext2_set_de_type(ext2_dirent *de, struct inode *inode) { umode_t mode = inode->i_mode; - if (EXT2_HAS_INCOMPAT_FEATURE(inode->i_sb, EXT2_FEATURE_INCOMPAT_FILETYPE)) + if (EXT2_HAS_INCOMPAT_FEATURE(inode_sb(inode), EXT2_FEATURE_INCOMPAT_FILETYPE)) de->file_type = ext2_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; else de->file_type = 0; @@ -288,7 +288,7 @@ ext2_readdir(struct file *file, struct dir_context *ctx) { loff_t pos = ctx->pos; struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); unsigned int offset = pos & ~PAGE_MASK; unsigned long n = pos >> PAGE_SHIFT; unsigned long npages = dir_pages(inode); @@ -392,8 +392,8 @@ struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir, kaddr += ext2_last_byte(dir, n) - reclen; while ((char *) de <= kaddr) { if (de->rec_len == 0) { - ext2_error(dir->i_sb, __func__, - "zero-length directory entry"); + ext2_error(inode_sb(dir), __func__, + "zero-length directory entry"); ext2_put_page(
[PATCH 29/76] fs/exportfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/exportfs/expfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c index 329a5d103846..d0ce48374bda 100644 --- a/fs/exportfs/expfs.c +++ b/fs/exportfs/expfs.c @@ -383,7 +383,7 @@ static int export_encode_fh(struct inode *inode, struct fid *fid, int exportfs_encode_inode_fh(struct inode *inode, struct fid *fid, int *max_len, struct inode *parent) { - const struct export_operations *nop = inode->i_sb->s_export_op; + const struct export_operations *nop = inode_sb(inode)->s_export_op; if (nop && nop->encode_fh) return nop->encode_fh(inode, fid->raw, max_len, parent); -- 2.15.1
[PATCH 30/76] fs/ext2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/ext2/balloc.c | 10 +++ fs/ext2/dir.c| 32 ++-- fs/ext2/file.c | 6 ++-- fs/ext2/ialloc.c | 16 +- fs/ext2/inode.c | 82 +++- fs/ext2/ioctl.c | 4 +-- fs/ext2/namei.c | 14 - fs/ext2/xattr.c | 59 ++--- fs/ext2/xattr_user.c | 4 +-- 9 files changed, 115 insertions(+), 112 deletions(-) diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 33db13365c5e..0ac54114ea9a 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c @@ -413,7 +413,7 @@ void ext2_init_block_alloc_info(struct inode *inode) { struct ext2_inode_info *ei = EXT2_I(inode); struct ext2_block_alloc_info *block_i; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); block_i = kmalloc(sizeof(*block_i), GFP_NOFS); if (block_i) { @@ -455,7 +455,7 @@ void ext2_discard_reservation(struct inode *inode) struct ext2_inode_info *ei = EXT2_I(inode); struct ext2_block_alloc_info *block_i = ei->i_block_alloc_info; struct ext2_reserve_window_node *rsv; - spinlock_t *rsv_lock = _SB(inode->i_sb)->s_rsv_window_lock; + spinlock_t *rsv_lock = _SB(inode_sb(inode))->s_rsv_window_lock; if (!block_i) return; @@ -464,7 +464,7 @@ void ext2_discard_reservation(struct inode *inode) if (!rsv_is_empty(>rsv_window)) { spin_lock(rsv_lock); if (!rsv_is_empty(>rsv_window)) - rsv_window_remove(inode->i_sb, rsv); + rsv_window_remove(inode_sb(inode), rsv); spin_unlock(rsv_lock); } } @@ -484,7 +484,7 @@ void ext2_free_blocks (struct inode * inode, unsigned long block, unsigned long bit; unsigned long i; unsigned long overflow; - struct super_block * sb = inode->i_sb; + struct super_block * sb = inode_sb(inode); struct ext2_sb_info * sbi = EXT2_SB(sb); struct ext2_group_desc * desc; struct ext2_super_block * es = sbi->s_es; @@ -1255,7 +1255,7 @@ ext2_fsblk_t ext2_new_blocks(struct inode *inode, ext2_fsblk_t goal, int ret; *errp = -ENOSPC; - sb = inode->i_sb; + sb = inode_sb(inode); /* * Check quota for allocation of this block. diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c index 3b8114def693..b9565d7b86e8 100644 --- a/fs/ext2/dir.c +++ b/fs/ext2/dir.c @@ -63,7 +63,7 @@ static inline __le16 ext2_rec_len_to_disk(unsigned len) */ static inline unsigned ext2_chunk_size(struct inode *inode) { - return inode->i_sb->s_blocksize; + return inode_sb(inode)->s_blocksize; } static inline void ext2_put_page(struct page *page) @@ -115,7 +115,7 @@ static int ext2_commit_chunk(struct page *page, loff_t pos, unsigned len) static bool ext2_check_page(struct page *page, int quiet) { struct inode *dir = page->mapping->host; - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); unsigned chunk_size = ext2_chunk_size(dir); char *kaddr = page_address(page); u32 max_inumber = le32_to_cpu(EXT2_SB(sb)->s_es->s_inodes_count); @@ -277,7 +277,7 @@ static unsigned char ext2_type_by_mode[S_IFMT >> S_SHIFT] = { static inline void ext2_set_de_type(ext2_dirent *de, struct inode *inode) { umode_t mode = inode->i_mode; - if (EXT2_HAS_INCOMPAT_FEATURE(inode->i_sb, EXT2_FEATURE_INCOMPAT_FILETYPE)) + if (EXT2_HAS_INCOMPAT_FEATURE(inode_sb(inode), EXT2_FEATURE_INCOMPAT_FILETYPE)) de->file_type = ext2_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; else de->file_type = 0; @@ -288,7 +288,7 @@ ext2_readdir(struct file *file, struct dir_context *ctx) { loff_t pos = ctx->pos; struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); unsigned int offset = pos & ~PAGE_MASK; unsigned long n = pos >> PAGE_SHIFT; unsigned long npages = dir_pages(inode); @@ -392,8 +392,8 @@ struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir, kaddr += ext2_last_byte(dir, n) - reclen; while ((char *) de <= kaddr) { if (de->rec_len == 0) { - ext2_error(dir->i_sb, __func__, - "zero-length directory entry"); + ext2_error(inode_sb(dir), __func__, + "zero-length directory entry"); ext2_put_page(page);
[PATCH 32/76] fs/f2fs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/f2fs/data.c | 6 +++--- fs/f2fs/f2fs.h | 2 +- fs/f2fs/file.c | 36 ++-- fs/f2fs/inline.c | 4 ++-- fs/f2fs/inode.c| 6 +++--- fs/f2fs/namei.c| 11 ++- fs/f2fs/recovery.c | 11 ++- fs/f2fs/super.c| 6 +++--- fs/f2fs/trace.c| 7 --- fs/f2fs/xattr.c| 4 ++-- 10 files changed, 48 insertions(+), 45 deletions(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 7578ed1a85e0..f3e29f386f6e 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1129,7 +1129,7 @@ static int __get_data_block(struct inode *inode, sector_t iblock, err = f2fs_map_blocks(inode, , create, flag); if (!err) { - map_bh(bh, inode->i_sb, map.m_pblk); + map_bh(bh, inode_sb(inode), map.m_pblk); bh->b_state = (bh->b_state & ~F2FS_MAP_FLAGS) | map.m_flags; bh->b_size = (u64)map.m_len << inode->i_blkbits; } @@ -1225,7 +1225,7 @@ static int f2fs_xattr_fiemap(struct inode *inode, get_node_info(sbi, xnid, ); phys = (__u64)blk_to_logical(inode, ni.blk_addr); - len = inode->i_sb->s_blocksize; + len = inode_sb(inode)->s_blocksize; f2fs_put_page(page, 1); @@ -2272,7 +2272,7 @@ static int f2fs_write_end(struct file *file, static int check_direct_IO(struct inode *inode, struct iov_iter *iter, loff_t offset) { - unsigned blocksize_mask = inode->i_sb->s_blocksize - 1; + unsigned blocksize_mask = inode_sb(inode)->s_blocksize - 1; if (offset & blocksize_mask) return -EINVAL; diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 6300ac5bcbe4..504c84b68636 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -1331,7 +1331,7 @@ static inline struct f2fs_sb_info *F2FS_SB(struct super_block *sb) static inline struct f2fs_sb_info *F2FS_I_SB(struct inode *inode) { - return F2FS_SB(inode->i_sb); + return F2FS_SB(inode_sb(inode)); } static inline struct f2fs_sb_info *F2FS_M_SB(struct address_space *mapping) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 672a542e5464..837333b9153d 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -58,7 +58,7 @@ static int f2fs_vm_page_mkwrite(struct vm_fault *vmf) goto err; } - sb_start_pagefault(inode->i_sb); + sb_start_pagefault(inode_sb(inode)); f2fs_bug_on(sbi, f2fs_has_inline_data(inode)); @@ -117,7 +117,7 @@ static int f2fs_vm_page_mkwrite(struct vm_fault *vmf) out_sem: up_read(_I(inode)->i_mmap_sem); out: - sb_end_pagefault(inode->i_sb); + sb_end_pagefault(inode_sb(inode)); f2fs_update_time(sbi, REQ_TIME); err: return block_page_mkwrite_return(err); @@ -211,7 +211,7 @@ static int f2fs_do_sync_file(struct file *file, loff_t start, loff_t end, .for_reclaim = 0, }; - if (unlikely(f2fs_readonly(inode->i_sb))) + if (unlikely(f2fs_readonly(inode_sb(inode return 0; trace_f2fs_sync_file_enter(inode); @@ -259,7 +259,7 @@ static int f2fs_do_sync_file(struct file *file, loff_t start, loff_t end, if (cp_reason) { /* all the dirty node pages should be flushed for POR */ - ret = f2fs_sync_fs(inode->i_sb, 1); + ret = f2fs_sync_fs(inode_sb(inode), 1); /* * We've secured consistency through sync_fs. Following pino @@ -365,7 +365,7 @@ static bool __found_offset(block_t blkaddr, pgoff_t dirty, pgoff_t pgofs, static loff_t f2fs_seek_block(struct file *file, loff_t offset, int whence) { struct inode *inode = file->f_mapping->host; - loff_t maxbytes = inode->i_sb->s_maxbytes; + loff_t maxbytes = inode_sb(inode)->s_maxbytes; struct dnode_of_data dn; pgoff_t pgofs, end_offset, dirty; loff_t data_ofs = offset; @@ -437,7 +437,7 @@ static loff_t f2fs_seek_block(struct file *file, loff_t offset, int whence) static loff_t f2fs_llseek(struct file *file, loff_t offset, int whence) { struct inode *inode = file->f_mapping->host; - loff_t maxbytes = inode->i_sb->s_maxbytes; + loff_t maxbytes = inode_sb(inode)->s_maxbytes; switch (whence) { case SEEK_SET: @@ -569,7 +569,7 @@ static int truncate_partial_data_page(struct inode *inode, u64 from, int truncate_blocks(struct inode *inode, u64 from, bool lock) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); - unsigned int blocksize = inode->i_sb->s_blocksize; + unsigned int blocksize = inode_sb(inode)->s_blocksize; struct dnode_of_data dn; pgoff_t free_from; int count = 0, err = 0; @@ -676,7 +676,7 @@ int f2fs_getattr(con
[PATCH 32/76] fs/f2fs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/f2fs/data.c | 6 +++--- fs/f2fs/f2fs.h | 2 +- fs/f2fs/file.c | 36 ++-- fs/f2fs/inline.c | 4 ++-- fs/f2fs/inode.c| 6 +++--- fs/f2fs/namei.c| 11 ++- fs/f2fs/recovery.c | 11 ++- fs/f2fs/super.c| 6 +++--- fs/f2fs/trace.c| 7 --- fs/f2fs/xattr.c| 4 ++-- 10 files changed, 48 insertions(+), 45 deletions(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 7578ed1a85e0..f3e29f386f6e 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1129,7 +1129,7 @@ static int __get_data_block(struct inode *inode, sector_t iblock, err = f2fs_map_blocks(inode, , create, flag); if (!err) { - map_bh(bh, inode->i_sb, map.m_pblk); + map_bh(bh, inode_sb(inode), map.m_pblk); bh->b_state = (bh->b_state & ~F2FS_MAP_FLAGS) | map.m_flags; bh->b_size = (u64)map.m_len << inode->i_blkbits; } @@ -1225,7 +1225,7 @@ static int f2fs_xattr_fiemap(struct inode *inode, get_node_info(sbi, xnid, ); phys = (__u64)blk_to_logical(inode, ni.blk_addr); - len = inode->i_sb->s_blocksize; + len = inode_sb(inode)->s_blocksize; f2fs_put_page(page, 1); @@ -2272,7 +2272,7 @@ static int f2fs_write_end(struct file *file, static int check_direct_IO(struct inode *inode, struct iov_iter *iter, loff_t offset) { - unsigned blocksize_mask = inode->i_sb->s_blocksize - 1; + unsigned blocksize_mask = inode_sb(inode)->s_blocksize - 1; if (offset & blocksize_mask) return -EINVAL; diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 6300ac5bcbe4..504c84b68636 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -1331,7 +1331,7 @@ static inline struct f2fs_sb_info *F2FS_SB(struct super_block *sb) static inline struct f2fs_sb_info *F2FS_I_SB(struct inode *inode) { - return F2FS_SB(inode->i_sb); + return F2FS_SB(inode_sb(inode)); } static inline struct f2fs_sb_info *F2FS_M_SB(struct address_space *mapping) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 672a542e5464..837333b9153d 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -58,7 +58,7 @@ static int f2fs_vm_page_mkwrite(struct vm_fault *vmf) goto err; } - sb_start_pagefault(inode->i_sb); + sb_start_pagefault(inode_sb(inode)); f2fs_bug_on(sbi, f2fs_has_inline_data(inode)); @@ -117,7 +117,7 @@ static int f2fs_vm_page_mkwrite(struct vm_fault *vmf) out_sem: up_read(_I(inode)->i_mmap_sem); out: - sb_end_pagefault(inode->i_sb); + sb_end_pagefault(inode_sb(inode)); f2fs_update_time(sbi, REQ_TIME); err: return block_page_mkwrite_return(err); @@ -211,7 +211,7 @@ static int f2fs_do_sync_file(struct file *file, loff_t start, loff_t end, .for_reclaim = 0, }; - if (unlikely(f2fs_readonly(inode->i_sb))) + if (unlikely(f2fs_readonly(inode_sb(inode return 0; trace_f2fs_sync_file_enter(inode); @@ -259,7 +259,7 @@ static int f2fs_do_sync_file(struct file *file, loff_t start, loff_t end, if (cp_reason) { /* all the dirty node pages should be flushed for POR */ - ret = f2fs_sync_fs(inode->i_sb, 1); + ret = f2fs_sync_fs(inode_sb(inode), 1); /* * We've secured consistency through sync_fs. Following pino @@ -365,7 +365,7 @@ static bool __found_offset(block_t blkaddr, pgoff_t dirty, pgoff_t pgofs, static loff_t f2fs_seek_block(struct file *file, loff_t offset, int whence) { struct inode *inode = file->f_mapping->host; - loff_t maxbytes = inode->i_sb->s_maxbytes; + loff_t maxbytes = inode_sb(inode)->s_maxbytes; struct dnode_of_data dn; pgoff_t pgofs, end_offset, dirty; loff_t data_ofs = offset; @@ -437,7 +437,7 @@ static loff_t f2fs_seek_block(struct file *file, loff_t offset, int whence) static loff_t f2fs_llseek(struct file *file, loff_t offset, int whence) { struct inode *inode = file->f_mapping->host; - loff_t maxbytes = inode->i_sb->s_maxbytes; + loff_t maxbytes = inode_sb(inode)->s_maxbytes; switch (whence) { case SEEK_SET: @@ -569,7 +569,7 @@ static int truncate_partial_data_page(struct inode *inode, u64 from, int truncate_blocks(struct inode *inode, u64 from, bool lock) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); - unsigned int blocksize = inode->i_sb->s_blocksize; + unsigned int blocksize = inode_sb(inode)->s_blocksize; struct dnode_of_data dn; pgoff_t free_from; int count = 0, err = 0; @@ -676,7 +676,7 @@ int f2fs_getattr(const str
[PATCH 33/76] fs/fat: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/fat/cache.c | 12 ++-- fs/fat/dir.c | 26 +- fs/fat/fat.h | 2 +- fs/fat/fatent.c | 10 +- fs/fat/file.c| 24 fs/fat/inode.c | 28 ++-- fs/fat/misc.c| 2 +- fs/fat/namei_msdos.c | 22 +++--- fs/fat/namei_vfat.c | 18 +- fs/fat/nfs.c | 4 ++-- 10 files changed, 74 insertions(+), 74 deletions(-) diff --git a/fs/fat/cache.c b/fs/fat/cache.c index e9bed49df6b7..bfe99b4a9ef8 100644 --- a/fs/fat/cache.c +++ b/fs/fat/cache.c @@ -224,7 +224,7 @@ static inline void cache_init(struct fat_cache_id *cid, int fclus, int dclus) int fat_get_cluster(struct inode *inode, int cluster, int *fclus, int *dclus) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const int limit = sb->s_maxbytes >> MSDOS_SB(sb)->cluster_bits; struct fat_entry fatent; struct fat_cache_id cid; @@ -285,7 +285,7 @@ int fat_get_cluster(struct inode *inode, int cluster, int *fclus, int *dclus) static int fat_bmap_cluster(struct inode *inode, int cluster) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); int ret, fclus, dclus; if (MSDOS_I(inode)->i_start == 0) @@ -306,7 +306,7 @@ int fat_get_mapped_cluster(struct inode *inode, sector_t sector, sector_t last_block, unsigned long *mapped_blocks, sector_t *bmap) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct msdos_sb_info *sbi = MSDOS_SB(sb); int cluster, offset; @@ -328,7 +328,7 @@ int fat_get_mapped_cluster(struct inode *inode, sector_t sector, static int is_exceed_eof(struct inode *inode, sector_t sector, sector_t *last_block, int create) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const unsigned long blocksize = sb->s_blocksize; const unsigned char blocksize_bits = sb->s_blocksize_bits; @@ -353,7 +353,7 @@ static int is_exceed_eof(struct inode *inode, sector_t sector, int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, unsigned long *mapped_blocks, int create, bool from_bmap) { - struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb); + struct msdos_sb_info *sbi = MSDOS_SB(inode_sb(inode)); sector_t last_block; *phys = 0; @@ -371,7 +371,7 @@ int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, return 0; } else { last_block = inode->i_blocks >> - (inode->i_sb->s_blocksize_bits - 9); + (inode_sb(inode)->s_blocksize_bits - 9); if (sector >= last_block) return 0; } diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 8e100c3bf72c..dce4b9f0c754 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c @@ -48,7 +48,7 @@ static inline loff_t fat_make_i_pos(struct super_block *sb, static inline void fat_dir_readahead(struct inode *dir, sector_t iblock, sector_t phys) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct msdos_sb_info *sbi = MSDOS_SB(sb); struct buffer_head *bh; int sec; @@ -81,7 +81,7 @@ static inline void fat_dir_readahead(struct inode *dir, sector_t iblock, static int fat__get_entry(struct inode *dir, loff_t *pos, struct buffer_head **bh, struct msdos_dir_entry **de) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); sector_t phys, iblock; unsigned long mapped_blocks; int err, offset; @@ -121,7 +121,7 @@ static inline int fat_get_entry(struct inode *dir, loff_t *pos, /* Fast stuff first */ if (*bh && *de && (*de - (struct msdos_dir_entry *)(*bh)->b_data) < - MSDOS_SB(dir->i_sb)->dir_per_block - 1) { + MSDOS_SB(inode_sb(dir))->dir_per_block - 1) { *pos += sizeof(struct msdos_dir_entry); (*de)++; return 0; @@ -462,7 +462,7 @@ static int fat_parse_short(struct super_block *sb, int fat_search_long(struct inode *inode, const unsigned char *name, int name_len, struct fat_slot_info *sinfo) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct msdos_sb_info *sbi = MSDOS_SB(sb); struct buffer_head *bh = NULL; struct msdos_dir_entry *de; @@ -553,7 +553
[PATCH 33/76] fs/fat: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/fat/cache.c | 12 ++-- fs/fat/dir.c | 26 +- fs/fat/fat.h | 2 +- fs/fat/fatent.c | 10 +- fs/fat/file.c| 24 fs/fat/inode.c | 28 ++-- fs/fat/misc.c| 2 +- fs/fat/namei_msdos.c | 22 +++--- fs/fat/namei_vfat.c | 18 +- fs/fat/nfs.c | 4 ++-- 10 files changed, 74 insertions(+), 74 deletions(-) diff --git a/fs/fat/cache.c b/fs/fat/cache.c index e9bed49df6b7..bfe99b4a9ef8 100644 --- a/fs/fat/cache.c +++ b/fs/fat/cache.c @@ -224,7 +224,7 @@ static inline void cache_init(struct fat_cache_id *cid, int fclus, int dclus) int fat_get_cluster(struct inode *inode, int cluster, int *fclus, int *dclus) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const int limit = sb->s_maxbytes >> MSDOS_SB(sb)->cluster_bits; struct fat_entry fatent; struct fat_cache_id cid; @@ -285,7 +285,7 @@ int fat_get_cluster(struct inode *inode, int cluster, int *fclus, int *dclus) static int fat_bmap_cluster(struct inode *inode, int cluster) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); int ret, fclus, dclus; if (MSDOS_I(inode)->i_start == 0) @@ -306,7 +306,7 @@ int fat_get_mapped_cluster(struct inode *inode, sector_t sector, sector_t last_block, unsigned long *mapped_blocks, sector_t *bmap) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct msdos_sb_info *sbi = MSDOS_SB(sb); int cluster, offset; @@ -328,7 +328,7 @@ int fat_get_mapped_cluster(struct inode *inode, sector_t sector, static int is_exceed_eof(struct inode *inode, sector_t sector, sector_t *last_block, int create) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); const unsigned long blocksize = sb->s_blocksize; const unsigned char blocksize_bits = sb->s_blocksize_bits; @@ -353,7 +353,7 @@ static int is_exceed_eof(struct inode *inode, sector_t sector, int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, unsigned long *mapped_blocks, int create, bool from_bmap) { - struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb); + struct msdos_sb_info *sbi = MSDOS_SB(inode_sb(inode)); sector_t last_block; *phys = 0; @@ -371,7 +371,7 @@ int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, return 0; } else { last_block = inode->i_blocks >> - (inode->i_sb->s_blocksize_bits - 9); + (inode_sb(inode)->s_blocksize_bits - 9); if (sector >= last_block) return 0; } diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 8e100c3bf72c..dce4b9f0c754 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c @@ -48,7 +48,7 @@ static inline loff_t fat_make_i_pos(struct super_block *sb, static inline void fat_dir_readahead(struct inode *dir, sector_t iblock, sector_t phys) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct msdos_sb_info *sbi = MSDOS_SB(sb); struct buffer_head *bh; int sec; @@ -81,7 +81,7 @@ static inline void fat_dir_readahead(struct inode *dir, sector_t iblock, static int fat__get_entry(struct inode *dir, loff_t *pos, struct buffer_head **bh, struct msdos_dir_entry **de) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); sector_t phys, iblock; unsigned long mapped_blocks; int err, offset; @@ -121,7 +121,7 @@ static inline int fat_get_entry(struct inode *dir, loff_t *pos, /* Fast stuff first */ if (*bh && *de && (*de - (struct msdos_dir_entry *)(*bh)->b_data) < - MSDOS_SB(dir->i_sb)->dir_per_block - 1) { + MSDOS_SB(inode_sb(dir))->dir_per_block - 1) { *pos += sizeof(struct msdos_dir_entry); (*de)++; return 0; @@ -462,7 +462,7 @@ static int fat_parse_short(struct super_block *sb, int fat_search_long(struct inode *inode, const unsigned char *name, int name_len, struct fat_slot_info *sinfo) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct msdos_sb_info *sbi = MSDOS_SB(sb); struct buffer_head *bh = NULL; struct msdos_dir_entry *de; @@ -553,7 +553,7 @@ static int __fat_readd
[PATCH 28/76] fs/exofs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/exofs/dir.c | 6 +++--- fs/exofs/inode.c | 12 ++-- fs/exofs/namei.c | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fs/exofs/dir.c b/fs/exofs/dir.c index f0138674c1ed..592471362243 100644 --- a/fs/exofs/dir.c +++ b/fs/exofs/dir.c @@ -36,7 +36,7 @@ static inline unsigned exofs_chunk_size(struct inode *inode) { - return inode->i_sb->s_blocksize; + return inode_sb(inode)->s_blocksize; } static inline void exofs_put_page(struct page *page) @@ -430,7 +430,7 @@ int exofs_add_link(struct dentry *dentry, struct inode *inode) unsigned reclen = EXOFS_DIR_REC_LEN(namelen); unsigned short rec_len, name_len; struct page *page = NULL; - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; struct exofs_dir_entry *de; unsigned long npages = dir_pages(dir); unsigned long n; @@ -520,7 +520,7 @@ int exofs_delete_entry(struct exofs_dir_entry *dir, struct page *page) { struct address_space *mapping = page->mapping; struct inode *inode = mapping->host; - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; char *kaddr = page_address(page); unsigned from = ((char *)dir - kaddr) & ~(exofs_chunk_size(inode)-1); unsigned to = ((char *)dir - kaddr) + le16_to_cpu(dir->rec_len); diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c index 0ac62811b341..c52a83f76a7a 100644 --- a/fs/exofs/inode.c +++ b/fs/exofs/inode.c @@ -66,7 +66,7 @@ struct page_collect { static void _pcol_init(struct page_collect *pcol, unsigned expected_pages, struct inode *inode) { - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; pcol->sbi = sbi; pcol->inode = inode; @@ -996,7 +996,7 @@ static inline int exofs_inode_is_fast_symlink(struct inode *inode) static int _do_truncate(struct inode *inode, loff_t newsize) { struct exofs_i_info *oi = exofs_i(inode); - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; int ret; inode->i_mtime = inode->i_ctime = current_time(inode); @@ -1256,7 +1256,7 @@ static void create_done(struct ore_io_state *ios, void *p) { struct inode *inode = p; struct exofs_i_info *oi = exofs_i(inode); - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; int ret; ret = ore_check_io(ios, NULL); @@ -1286,7 +1286,7 @@ static void create_done(struct ore_io_state *ios, void *p) */ struct inode *exofs_new_inode(struct inode *dir, umode_t mode) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct exofs_sb_info *sbi = sb->s_fs_info; struct inode *inode; struct exofs_i_info *oi; @@ -1366,7 +1366,7 @@ static void updatei_done(struct ore_io_state *ios, void *p) static int exofs_update_inode(struct inode *inode, int do_sync) { struct exofs_i_info *oi = exofs_i(inode); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct exofs_sb_info *sbi = sb->s_fs_info; struct ore_io_state *ios; struct osd_attr attr; @@ -1468,7 +1468,7 @@ static void delete_done(struct ore_io_state *ios, void *p) void exofs_evict_inode(struct inode *inode) { struct exofs_i_info *oi = exofs_i(inode); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct exofs_sb_info *sbi = sb->s_fs_info; struct ore_io_state *ios; int ret; diff --git a/fs/exofs/namei.c b/fs/exofs/namei.c index 7295cd722770..655400486da5 100644 --- a/fs/exofs/namei.c +++ b/fs/exofs/namei.c @@ -55,7 +55,7 @@ static struct dentry *exofs_lookup(struct inode *dir, struct dentry *dentry, return ERR_PTR(-ENAMETOOLONG); ino = exofs_inode_by_name(dir, dentry); - inode = ino ? exofs_iget(dir->i_sb, ino) : NULL; + inode = ino ? exofs_iget(inode_sb(dir), ino) : NULL; return d_splice_alias(inode, dentry); } @@ -93,7 +93,7 @@ static int exofs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, static int exofs_symlink(struct inode *dir, struct dentry *dentry, const char *symname) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); int err = -ENAMETOOLONG; unsigned l = strlen(symname)+1; struct inode *inode; -- 2.15.1
[PATCH 28/76] fs/exofs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/exofs/dir.c | 6 +++--- fs/exofs/inode.c | 12 ++-- fs/exofs/namei.c | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fs/exofs/dir.c b/fs/exofs/dir.c index f0138674c1ed..592471362243 100644 --- a/fs/exofs/dir.c +++ b/fs/exofs/dir.c @@ -36,7 +36,7 @@ static inline unsigned exofs_chunk_size(struct inode *inode) { - return inode->i_sb->s_blocksize; + return inode_sb(inode)->s_blocksize; } static inline void exofs_put_page(struct page *page) @@ -430,7 +430,7 @@ int exofs_add_link(struct dentry *dentry, struct inode *inode) unsigned reclen = EXOFS_DIR_REC_LEN(namelen); unsigned short rec_len, name_len; struct page *page = NULL; - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; struct exofs_dir_entry *de; unsigned long npages = dir_pages(dir); unsigned long n; @@ -520,7 +520,7 @@ int exofs_delete_entry(struct exofs_dir_entry *dir, struct page *page) { struct address_space *mapping = page->mapping; struct inode *inode = mapping->host; - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; char *kaddr = page_address(page); unsigned from = ((char *)dir - kaddr) & ~(exofs_chunk_size(inode)-1); unsigned to = ((char *)dir - kaddr) + le16_to_cpu(dir->rec_len); diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c index 0ac62811b341..c52a83f76a7a 100644 --- a/fs/exofs/inode.c +++ b/fs/exofs/inode.c @@ -66,7 +66,7 @@ struct page_collect { static void _pcol_init(struct page_collect *pcol, unsigned expected_pages, struct inode *inode) { - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; pcol->sbi = sbi; pcol->inode = inode; @@ -996,7 +996,7 @@ static inline int exofs_inode_is_fast_symlink(struct inode *inode) static int _do_truncate(struct inode *inode, loff_t newsize) { struct exofs_i_info *oi = exofs_i(inode); - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; int ret; inode->i_mtime = inode->i_ctime = current_time(inode); @@ -1256,7 +1256,7 @@ static void create_done(struct ore_io_state *ios, void *p) { struct inode *inode = p; struct exofs_i_info *oi = exofs_i(inode); - struct exofs_sb_info *sbi = inode->i_sb->s_fs_info; + struct exofs_sb_info *sbi = inode_sb(inode)->s_fs_info; int ret; ret = ore_check_io(ios, NULL); @@ -1286,7 +1286,7 @@ static void create_done(struct ore_io_state *ios, void *p) */ struct inode *exofs_new_inode(struct inode *dir, umode_t mode) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct exofs_sb_info *sbi = sb->s_fs_info; struct inode *inode; struct exofs_i_info *oi; @@ -1366,7 +1366,7 @@ static void updatei_done(struct ore_io_state *ios, void *p) static int exofs_update_inode(struct inode *inode, int do_sync) { struct exofs_i_info *oi = exofs_i(inode); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct exofs_sb_info *sbi = sb->s_fs_info; struct ore_io_state *ios; struct osd_attr attr; @@ -1468,7 +1468,7 @@ static void delete_done(struct ore_io_state *ios, void *p) void exofs_evict_inode(struct inode *inode) { struct exofs_i_info *oi = exofs_i(inode); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct exofs_sb_info *sbi = sb->s_fs_info; struct ore_io_state *ios; int ret; diff --git a/fs/exofs/namei.c b/fs/exofs/namei.c index 7295cd722770..655400486da5 100644 --- a/fs/exofs/namei.c +++ b/fs/exofs/namei.c @@ -55,7 +55,7 @@ static struct dentry *exofs_lookup(struct inode *dir, struct dentry *dentry, return ERR_PTR(-ENAMETOOLONG); ino = exofs_inode_by_name(dir, dentry); - inode = ino ? exofs_iget(dir->i_sb, ino) : NULL; + inode = ino ? exofs_iget(inode_sb(dir), ino) : NULL; return d_splice_alias(inode, dentry); } @@ -93,7 +93,7 @@ static int exofs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, static int exofs_symlink(struct inode *dir, struct dentry *dentry, const char *symname) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); int err = -ENAMETOOLONG; unsigned l = strlen(symname)+1; struct inode *inode; -- 2.15.1
[PATCH 34/76] fs/freevxfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/freevxfs/vxfs_bmap.c | 14 +++--- fs/freevxfs/vxfs_inode.c | 2 +- fs/freevxfs/vxfs_lookup.c | 10 +- fs/freevxfs/vxfs_subr.c | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/fs/freevxfs/vxfs_bmap.c b/fs/freevxfs/vxfs_bmap.c index 1fd41cf98b9f..55cfb03efb35 100644 --- a/fs/freevxfs/vxfs_bmap.c +++ b/fs/freevxfs/vxfs_bmap.c @@ -66,7 +66,7 @@ vxfs_typdump(struct vxfs_typed *typ) static daddr_t vxfs_bmap_ext4(struct inode *ip, long bn) { - struct super_block *sb = ip->i_sb; + struct super_block *sb = inode_sb(ip); struct vxfs_inode_info *vip = VXFS_INO(ip); struct vxfs_sb_info *sbi = VXFS_SBI(sb); unsigned long bsize = sb->s_blocksize; @@ -130,22 +130,22 @@ vxfs_bmap_ext4(struct inode *ip, long bn) static daddr_t vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) { - struct vxfs_sb_info *sbi = VXFS_SBI(ip->i_sb); + struct vxfs_sb_info *sbi = VXFS_SBI(inode_sb(ip)); struct buffer_head *bp = NULL; daddr_t pblock = 0; int i; - for (i = 0; i < size * VXFS_TYPED_PER_BLOCK(ip->i_sb); i++) { + for (i = 0; i < size * VXFS_TYPED_PER_BLOCK(inode_sb(ip)); i++) { struct vxfs_typed *typ; int64_t off; - bp = sb_bread(ip->i_sb, - indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); + bp = sb_bread(inode_sb(ip), + indir + (i / VXFS_TYPED_PER_BLOCK(inode_sb(ip; if (!bp || !buffer_mapped(bp)) return 0; typ = ((struct vxfs_typed *)bp->b_data) + - (i % VXFS_TYPED_PER_BLOCK(ip->i_sb)); + (i % VXFS_TYPED_PER_BLOCK(inode_sb(ip))); off = fs64_to_cpu(sbi, typ->vt_hdr) & VXFS_TYPED_OFFSETMASK; if (block < off) { @@ -210,7 +210,7 @@ static daddr_t vxfs_bmap_typed(struct inode *ip, long iblock) { struct vxfs_inode_info *vip = VXFS_INO(ip); - struct vxfs_sb_info *sbi = VXFS_SBI(ip->i_sb); + struct vxfs_sb_info *sbi = VXFS_SBI(inode_sb(ip)); daddr_t pblock = 0; int i; diff --git a/fs/freevxfs/vxfs_inode.c b/fs/freevxfs/vxfs_inode.c index 1f41b25ef38b..fdb36340a25f 100644 --- a/fs/freevxfs/vxfs_inode.c +++ b/fs/freevxfs/vxfs_inode.c @@ -221,7 +221,7 @@ __vxfs_iget(struct inode *ilistp, struct vxfs_inode_info *vip, ino_t ino) caddr_t kaddr = (char *)page_address(pp); dip = (struct vxfs_dinode *)(kaddr + offset); - dip2vip_cpy(VXFS_SBI(ilistp->i_sb), vip, dip); + dip2vip_cpy(VXFS_SBI(inode_sb(ilistp)), vip, dip); vip->vfs_inode.i_mapping->a_ops = _aops; #ifdef DIAGNOSTIC vxfs_dumpi(vip, ino); diff --git a/fs/freevxfs/vxfs_lookup.c b/fs/freevxfs/vxfs_lookup.c index ce4785fd81c6..f2011edf525c 100644 --- a/fs/freevxfs/vxfs_lookup.c +++ b/fs/freevxfs/vxfs_lookup.c @@ -80,13 +80,13 @@ const struct file_operations vxfs_dir_operations = { static struct vxfs_direct * vxfs_find_entry(struct inode *ip, struct dentry *dp, struct page **ppp) { - u_long bsize = ip->i_sb->s_blocksize; + u_long bsize = inode_sb(ip)->s_blocksize; const char *name = dp->d_name.name; int namelen = dp->d_name.len; loff_t limit = VXFS_DIRROUND(ip->i_size); struct vxfs_direct *de_exit = NULL; loff_t pos = 0; - struct vxfs_sb_info *sbi = VXFS_SBI(ip->i_sb); + struct vxfs_sb_info *sbi = VXFS_SBI(inode_sb(ip)); while (pos < limit) { struct page *pp; @@ -161,7 +161,7 @@ vxfs_inode_by_name(struct inode *dip, struct dentry *dp) de = vxfs_find_entry(dip, dp, ); if (de) { - ino = fs32_to_cpu(VXFS_SBI(dip->i_sb), de->d_ino); + ino = fs32_to_cpu(VXFS_SBI(inode_sb(dip)), de->d_ino); kunmap(pp); put_page(pp); } @@ -194,7 +194,7 @@ vxfs_lookup(struct inode *dip, struct dentry *dp, unsigned int flags) ino = vxfs_inode_by_name(dip, dp); if (ino) { - ip = vxfs_iget(dip->i_sb, ino); + ip = vxfs_iget(inode_sb(dip), ino); if (IS_ERR(ip)) return ERR_CAST(ip); } @@ -219,7 +219,7 @@ static int vxfs_readdir(struct file *fp, struct dir_context *ctx) { struct inode*ip = file_inode(fp); - struct super_block *sbp = ip->i_sb; + struct super_block *sbp = inode_sb(i
[PATCH 34/76] fs/freevxfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/freevxfs/vxfs_bmap.c | 14 +++--- fs/freevxfs/vxfs_inode.c | 2 +- fs/freevxfs/vxfs_lookup.c | 10 +- fs/freevxfs/vxfs_subr.c | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/fs/freevxfs/vxfs_bmap.c b/fs/freevxfs/vxfs_bmap.c index 1fd41cf98b9f..55cfb03efb35 100644 --- a/fs/freevxfs/vxfs_bmap.c +++ b/fs/freevxfs/vxfs_bmap.c @@ -66,7 +66,7 @@ vxfs_typdump(struct vxfs_typed *typ) static daddr_t vxfs_bmap_ext4(struct inode *ip, long bn) { - struct super_block *sb = ip->i_sb; + struct super_block *sb = inode_sb(ip); struct vxfs_inode_info *vip = VXFS_INO(ip); struct vxfs_sb_info *sbi = VXFS_SBI(sb); unsigned long bsize = sb->s_blocksize; @@ -130,22 +130,22 @@ vxfs_bmap_ext4(struct inode *ip, long bn) static daddr_t vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) { - struct vxfs_sb_info *sbi = VXFS_SBI(ip->i_sb); + struct vxfs_sb_info *sbi = VXFS_SBI(inode_sb(ip)); struct buffer_head *bp = NULL; daddr_t pblock = 0; int i; - for (i = 0; i < size * VXFS_TYPED_PER_BLOCK(ip->i_sb); i++) { + for (i = 0; i < size * VXFS_TYPED_PER_BLOCK(inode_sb(ip)); i++) { struct vxfs_typed *typ; int64_t off; - bp = sb_bread(ip->i_sb, - indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); + bp = sb_bread(inode_sb(ip), + indir + (i / VXFS_TYPED_PER_BLOCK(inode_sb(ip; if (!bp || !buffer_mapped(bp)) return 0; typ = ((struct vxfs_typed *)bp->b_data) + - (i % VXFS_TYPED_PER_BLOCK(ip->i_sb)); + (i % VXFS_TYPED_PER_BLOCK(inode_sb(ip))); off = fs64_to_cpu(sbi, typ->vt_hdr) & VXFS_TYPED_OFFSETMASK; if (block < off) { @@ -210,7 +210,7 @@ static daddr_t vxfs_bmap_typed(struct inode *ip, long iblock) { struct vxfs_inode_info *vip = VXFS_INO(ip); - struct vxfs_sb_info *sbi = VXFS_SBI(ip->i_sb); + struct vxfs_sb_info *sbi = VXFS_SBI(inode_sb(ip)); daddr_t pblock = 0; int i; diff --git a/fs/freevxfs/vxfs_inode.c b/fs/freevxfs/vxfs_inode.c index 1f41b25ef38b..fdb36340a25f 100644 --- a/fs/freevxfs/vxfs_inode.c +++ b/fs/freevxfs/vxfs_inode.c @@ -221,7 +221,7 @@ __vxfs_iget(struct inode *ilistp, struct vxfs_inode_info *vip, ino_t ino) caddr_t kaddr = (char *)page_address(pp); dip = (struct vxfs_dinode *)(kaddr + offset); - dip2vip_cpy(VXFS_SBI(ilistp->i_sb), vip, dip); + dip2vip_cpy(VXFS_SBI(inode_sb(ilistp)), vip, dip); vip->vfs_inode.i_mapping->a_ops = _aops; #ifdef DIAGNOSTIC vxfs_dumpi(vip, ino); diff --git a/fs/freevxfs/vxfs_lookup.c b/fs/freevxfs/vxfs_lookup.c index ce4785fd81c6..f2011edf525c 100644 --- a/fs/freevxfs/vxfs_lookup.c +++ b/fs/freevxfs/vxfs_lookup.c @@ -80,13 +80,13 @@ const struct file_operations vxfs_dir_operations = { static struct vxfs_direct * vxfs_find_entry(struct inode *ip, struct dentry *dp, struct page **ppp) { - u_long bsize = ip->i_sb->s_blocksize; + u_long bsize = inode_sb(ip)->s_blocksize; const char *name = dp->d_name.name; int namelen = dp->d_name.len; loff_t limit = VXFS_DIRROUND(ip->i_size); struct vxfs_direct *de_exit = NULL; loff_t pos = 0; - struct vxfs_sb_info *sbi = VXFS_SBI(ip->i_sb); + struct vxfs_sb_info *sbi = VXFS_SBI(inode_sb(ip)); while (pos < limit) { struct page *pp; @@ -161,7 +161,7 @@ vxfs_inode_by_name(struct inode *dip, struct dentry *dp) de = vxfs_find_entry(dip, dp, ); if (de) { - ino = fs32_to_cpu(VXFS_SBI(dip->i_sb), de->d_ino); + ino = fs32_to_cpu(VXFS_SBI(inode_sb(dip)), de->d_ino); kunmap(pp); put_page(pp); } @@ -194,7 +194,7 @@ vxfs_lookup(struct inode *dip, struct dentry *dp, unsigned int flags) ino = vxfs_inode_by_name(dip, dp); if (ino) { - ip = vxfs_iget(dip->i_sb, ino); + ip = vxfs_iget(inode_sb(dip), ino); if (IS_ERR(ip)) return ERR_CAST(ip); } @@ -219,7 +219,7 @@ static int vxfs_readdir(struct file *fp, struct dir_context *ctx) { struct inode*ip = file_inode(fp); - struct super_block *sbp = ip->i_sb; + struct super_block *sbp = inode_sb(ip); u
[PATCH 35/76] fs/fuse: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/fuse/dir.c| 13 +++-- fs/fuse/file.c | 6 +++--- fs/fuse/fuse_i.h | 2 +- fs/fuse/inode.c | 7 --- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 24967382a7b1..b68adb3bd70d 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -357,7 +357,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry, bool outarg_valid = true; fuse_lock_inode(dir); - err = fuse_lookup_name(dir->i_sb, get_node_id(dir), >d_name, + err = fuse_lookup_name(inode_sb(dir), get_node_id(dir), + >d_name, , ); fuse_unlock_inode(dir); if (err == -ENOENT) { @@ -456,7 +457,7 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, ff->fh = outopen.fh; ff->nodeid = outentry.nodeid; ff->open_flags = outopen.open_flags; - inode = fuse_iget(dir->i_sb, outentry.nodeid, outentry.generation, + inode = fuse_iget(inode_sb(dir), outentry.nodeid, outentry.generation, , entry_attr_timeout(), 0); if (!inode) { flags &= ~(O_CREAT | O_EXCL | O_TRUNC); @@ -562,7 +563,7 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_args *args, if ((outarg.attr.mode ^ mode) & S_IFMT) goto out_put_forget_req; - inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation, + inode = fuse_iget(inode_sb(dir), outarg.nodeid, outarg.generation, , entry_attr_timeout(), 0); if (!inode) { fuse_queue_forget(fc, forget, outarg.nodeid, 1); @@ -854,7 +855,7 @@ static void fuse_fillattr(struct inode *inode, struct fuse_attr *attr, attr->ctimensec = inode->i_ctime.tv_nsec; } - stat->dev = inode->i_sb->s_dev; + stat->dev = inode_sb(inode)->s_dev; stat->ino = attr->ino; stat->mode = (inode->i_mode & S_IFMT) | (attr->mode & 0); stat->nlink = attr->nlink; @@ -873,7 +874,7 @@ static void fuse_fillattr(struct inode *inode, struct fuse_attr *attr, if (attr->blksize != 0) blkbits = ilog2(attr->blksize); else - blkbits = inode->i_sb->s_blocksize_bits; + blkbits = inode_sb(inode)->s_blocksize_bits; stat->blksize = 1 << blkbits; } @@ -1255,7 +1256,7 @@ static int fuse_direntplus_link(struct file *file, * which bumps nlookup inside */ } else { - inode = fuse_iget(dir->i_sb, o->nodeid, o->generation, + inode = fuse_iget(inode_sb(dir), o->nodeid, o->generation, >attr, entry_attr_timeout(o), attr_version); if (!inode) diff --git a/fs/fuse/file.c b/fs/fuse/file.c index a201fb0ac64f..14e55c348da7 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -2250,12 +2250,12 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block) struct fuse_bmap_out outarg; int err; - if (!inode->i_sb->s_bdev || fc->no_bmap) + if (!inode_sb(inode)->s_bdev || fc->no_bmap) return 0; memset(, 0, sizeof(inarg)); inarg.block = block; - inarg.blocksize = inode->i_sb->s_blocksize; + inarg.blocksize = inode_sb(inode)->s_blocksize; args.in.h.opcode = FUSE_BMAP; args.in.h.nodeid = get_node_id(inode); args.in.numargs = 1; @@ -2305,7 +2305,7 @@ static loff_t fuse_lseek(struct file *file, loff_t offset, int whence) return err; } - return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes); + return vfs_setpos(file, outarg.offset, inode_sb(inode)->s_maxbytes); fallback: err = fuse_update_attributes(inode, file); diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index c4c093bbf456..5ea9ddb9fa19 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -674,7 +674,7 @@ static inline struct fuse_conn *get_fuse_conn_super(struct super_block *sb) static inline struct fuse_conn *get_fuse_conn(struct inode *inode) { - return get_fuse_conn_super(inode->i_sb); + return get_fuse_conn_super(inode_sb(inode)); } static inline struct fuse_inode *get_fuse_inode(struct inode *inode) diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 624f18bbfd2b..d6d2fbe6c3ec 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -130,7 +130,7 @@ static void fuse_evict_inode(struct inode *inode) { truncate_inode_pages_final(>i_data); clear_inode(inode); - if (inode->i_sb->s_flags & SB_ACTIVE) { + if (inode_sb(inode)->s_flags & SB_
[PATCH 35/76] fs/fuse: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/fuse/dir.c| 13 +++-- fs/fuse/file.c | 6 +++--- fs/fuse/fuse_i.h | 2 +- fs/fuse/inode.c | 7 --- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 24967382a7b1..b68adb3bd70d 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -357,7 +357,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry, bool outarg_valid = true; fuse_lock_inode(dir); - err = fuse_lookup_name(dir->i_sb, get_node_id(dir), >d_name, + err = fuse_lookup_name(inode_sb(dir), get_node_id(dir), + >d_name, , ); fuse_unlock_inode(dir); if (err == -ENOENT) { @@ -456,7 +457,7 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, ff->fh = outopen.fh; ff->nodeid = outentry.nodeid; ff->open_flags = outopen.open_flags; - inode = fuse_iget(dir->i_sb, outentry.nodeid, outentry.generation, + inode = fuse_iget(inode_sb(dir), outentry.nodeid, outentry.generation, , entry_attr_timeout(), 0); if (!inode) { flags &= ~(O_CREAT | O_EXCL | O_TRUNC); @@ -562,7 +563,7 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_args *args, if ((outarg.attr.mode ^ mode) & S_IFMT) goto out_put_forget_req; - inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation, + inode = fuse_iget(inode_sb(dir), outarg.nodeid, outarg.generation, , entry_attr_timeout(), 0); if (!inode) { fuse_queue_forget(fc, forget, outarg.nodeid, 1); @@ -854,7 +855,7 @@ static void fuse_fillattr(struct inode *inode, struct fuse_attr *attr, attr->ctimensec = inode->i_ctime.tv_nsec; } - stat->dev = inode->i_sb->s_dev; + stat->dev = inode_sb(inode)->s_dev; stat->ino = attr->ino; stat->mode = (inode->i_mode & S_IFMT) | (attr->mode & 0); stat->nlink = attr->nlink; @@ -873,7 +874,7 @@ static void fuse_fillattr(struct inode *inode, struct fuse_attr *attr, if (attr->blksize != 0) blkbits = ilog2(attr->blksize); else - blkbits = inode->i_sb->s_blocksize_bits; + blkbits = inode_sb(inode)->s_blocksize_bits; stat->blksize = 1 << blkbits; } @@ -1255,7 +1256,7 @@ static int fuse_direntplus_link(struct file *file, * which bumps nlookup inside */ } else { - inode = fuse_iget(dir->i_sb, o->nodeid, o->generation, + inode = fuse_iget(inode_sb(dir), o->nodeid, o->generation, >attr, entry_attr_timeout(o), attr_version); if (!inode) diff --git a/fs/fuse/file.c b/fs/fuse/file.c index a201fb0ac64f..14e55c348da7 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -2250,12 +2250,12 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block) struct fuse_bmap_out outarg; int err; - if (!inode->i_sb->s_bdev || fc->no_bmap) + if (!inode_sb(inode)->s_bdev || fc->no_bmap) return 0; memset(, 0, sizeof(inarg)); inarg.block = block; - inarg.blocksize = inode->i_sb->s_blocksize; + inarg.blocksize = inode_sb(inode)->s_blocksize; args.in.h.opcode = FUSE_BMAP; args.in.h.nodeid = get_node_id(inode); args.in.numargs = 1; @@ -2305,7 +2305,7 @@ static loff_t fuse_lseek(struct file *file, loff_t offset, int whence) return err; } - return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes); + return vfs_setpos(file, outarg.offset, inode_sb(inode)->s_maxbytes); fallback: err = fuse_update_attributes(inode, file); diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index c4c093bbf456..5ea9ddb9fa19 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -674,7 +674,7 @@ static inline struct fuse_conn *get_fuse_conn_super(struct super_block *sb) static inline struct fuse_conn *get_fuse_conn(struct inode *inode) { - return get_fuse_conn_super(inode->i_sb); + return get_fuse_conn_super(inode_sb(inode)); } static inline struct fuse_inode *get_fuse_inode(struct inode *inode) diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 624f18bbfd2b..d6d2fbe6c3ec 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -130,7 +130,7 @@ static void fuse_evict_inode(struct inode *inode) { truncate_inode_pages_final(>i_data); clear_inode(inode); - if (inode->i_sb->s_flags & SB_ACTIVE) { + if (inode_sb(inode)->s_flags & SB_ACTIVE) {
[PATCH 37/76] fs/hfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/hfs/attr.c| 4 ++-- fs/hfs/catalog.c | 10 +- fs/hfs/dir.c | 11 ++- fs/hfs/extent.c | 10 +- fs/hfs/inode.c | 32 5 files changed, 34 insertions(+), 33 deletions(-) diff --git a/fs/hfs/attr.c b/fs/hfs/attr.c index 74fa62643136..60075ee27192 100644 --- a/fs/hfs/attr.c +++ b/fs/hfs/attr.c @@ -30,7 +30,7 @@ static int __hfs_setxattr(struct inode *inode, enum hfs_xattr_type type, if (!S_ISREG(inode->i_mode) || HFS_IS_RSRC(inode)) return -EOPNOTSUPP; - res = hfs_find_init(HFS_SB(inode->i_sb)->cat_tree, ); + res = hfs_find_init(HFS_SB(inode_sb(inode))->cat_tree, ); if (res) return res; fd.search_key->cat = HFS_I(inode)->cat_key; @@ -77,7 +77,7 @@ static ssize_t __hfs_getxattr(struct inode *inode, enum hfs_xattr_type type, return -EOPNOTSUPP; if (size) { - res = hfs_find_init(HFS_SB(inode->i_sb)->cat_tree, ); + res = hfs_find_init(HFS_SB(inode_sb(inode))->cat_tree, ); if (res) return res; fd.search_key->cat = HFS_I(inode)->cat_key; diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c index 8a66405b0f8b..790d488a2c24 100644 --- a/fs/hfs/catalog.c +++ b/fs/hfs/catalog.c @@ -56,8 +56,8 @@ static int hfs_cat_build_record(hfs_cat_rec *rec, u32 cnid, struct inode *inode) rec->file.CrDat = mtime; rec->file.MdDat = mtime; rec->file.BkDat = 0; - rec->file.UsrWds.fdType = HFS_SB(inode->i_sb)->s_type; - rec->file.UsrWds.fdCreator = HFS_SB(inode->i_sb)->s_creator; + rec->file.UsrWds.fdType = HFS_SB(inode_sb(inode))->s_type; + rec->file.UsrWds.fdCreator = HFS_SB(inode_sb(inode))->s_creator; return sizeof(struct hfs_cat_file); } } @@ -92,7 +92,7 @@ int hfs_cat_create(u32 cnid, struct inode *dir, const struct qstr *str, struct i if (dir->i_size >= HFS_MAX_VALENCE) return -ENOSPC; - sb = dir->i_sb; + sb = inode_sb(dir); err = hfs_find_init(HFS_SB(sb)->cat_tree, ); if (err) return err; @@ -218,7 +218,7 @@ int hfs_cat_delete(u32 cnid, struct inode *dir, const struct qstr *str) int res, type; hfs_dbg(CAT_MOD, "delete_cat: %s,%u\n", str ? str->name : NULL, cnid); - sb = dir->i_sb; + sb = inode_sb(dir); res = hfs_find_init(HFS_SB(sb)->cat_tree, ); if (res) return res; @@ -289,7 +289,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name, hfs_dbg(CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n", cnid, src_dir->i_ino, src_name->name, dst_dir->i_ino, dst_name->name); - sb = src_dir->i_sb; + sb = inode_sb(src_dir); err = hfs_find_init(HFS_SB(sb)->cat_tree, _fd); if (err) return err; diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c index 75b254280ff6..ae29580b3d0c 100644 --- a/fs/hfs/dir.c +++ b/fs/hfs/dir.c @@ -25,10 +25,11 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, struct inode *inode = NULL; int res; - res = hfs_find_init(HFS_SB(dir->i_sb)->cat_tree, ); + res = hfs_find_init(HFS_SB(inode_sb(dir))->cat_tree, ); if (res) return ERR_PTR(res); - hfs_cat_build_key(dir->i_sb, fd.search_key, dir->i_ino, >d_name); + hfs_cat_build_key(inode_sb(dir), fd.search_key, dir->i_ino, + >d_name); res = hfs_brec_read(, , sizeof(rec)); if (res) { hfs_find_exit(); @@ -39,7 +40,7 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, } return ERR_PTR(res); } - inode = hfs_iget(dir->i_sb, _key->cat, ); + inode = hfs_iget(inode_sb(dir), _key->cat, ); hfs_find_exit(); if (!inode) return ERR_PTR(-EACCES); @@ -54,7 +55,7 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, static int hfs_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); int len, err; char strbuf[HFS_MAX_NAMELEN]; union hfs_cat_rec entry; @@ -305,7 +306,7 @@ static int hfs_rename(struct inode *old_dir, struct dentry *old_dentry, old_dir, _dentry->d_name, new_dir, _dentry->d_name); if (!res) - hfs_cat_build_key(old_dir->i_sb, +
[PATCH 27/76] fs/efs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/efs/dir.c | 2 +- fs/efs/file.c| 2 +- fs/efs/inode.c | 6 +++--- fs/efs/namei.c | 4 ++-- fs/efs/symlink.c | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fs/efs/dir.c b/fs/efs/dir.c index f892ac7c2a35..55663c4f49ce 100644 --- a/fs/efs/dir.c +++ b/fs/efs/dir.c @@ -42,7 +42,7 @@ static int efs_readdir(struct file *file, struct dir_context *ctx) struct buffer_head *bh; /* read the dir block */ - bh = sb_bread(inode->i_sb, efs_bmap(inode, block)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, block)); if (!bh) { pr_err("%s(): failed to read dir block %d\n", diff --git a/fs/efs/file.c b/fs/efs/file.c index 9e641da6fab2..4e7cf6d70872 100644 --- a/fs/efs/file.c +++ b/fs/efs/file.c @@ -30,7 +30,7 @@ int efs_get_block(struct inode *inode, sector_t iblock, } phys = efs_map_block(inode, iblock); if (phys) - map_bh(bh_result, inode->i_sb, phys); + map_bh(bh_result, inode_sb(inode), phys); return 0; } diff --git a/fs/efs/inode.c b/fs/efs/inode.c index cdf0872382af..a62f6029fc1c 100644 --- a/fs/efs/inode.c +++ b/fs/efs/inode.c @@ -87,7 +87,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino) (EFS_BLOCKSIZE / sizeof(struct efs_dinode))) * sizeof(struct efs_dinode); - bh = sb_bread(inode->i_sb, block); + bh = sb_bread(inode_sb(inode), block); if (!bh) { pr_warn("%s() failed at block %d\n", __func__, block); goto read_inode_error; @@ -196,7 +196,7 @@ efs_extent_check(efs_extent *ptr, efs_block_t block, struct efs_sb_info *sb) { } efs_block_t efs_map_block(struct inode *inode, efs_block_t block) { - struct efs_sb_info*sb = SUPER_INFO(inode->i_sb); + struct efs_sb_info*sb = SUPER_INFO(inode_sb(inode)); struct efs_inode_info *in = INODE_INFO(inode); struct buffer_head*bh = NULL; @@ -275,7 +275,7 @@ efs_block_t efs_map_block(struct inode *inode, efs_block_t block) { if (first || lastblock != iblock) { if (bh) brelse(bh); - bh = sb_bread(inode->i_sb, iblock); + bh = sb_bread(inode_sb(inode), iblock); if (!bh) { pr_err("%s() failed at block %d\n", __func__, iblock); diff --git a/fs/efs/namei.c b/fs/efs/namei.c index 38961ee1d1af..d1f3132b50a8 100644 --- a/fs/efs/namei.c +++ b/fs/efs/namei.c @@ -30,7 +30,7 @@ static efs_ino_t efs_find_entry(struct inode *inode, const char *name, int len) for(block = 0; block < inode->i_blocks; block++) { - bh = sb_bread(inode->i_sb, efs_bmap(inode, block)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, block)); if (!bh) { pr_err("%s(): failed to read dir block %d\n", __func__, block); @@ -69,7 +69,7 @@ struct dentry *efs_lookup(struct inode *dir, struct dentry *dentry, unsigned int inodenum = efs_find_entry(dir, dentry->d_name.name, dentry->d_name.len); if (inodenum) - inode = efs_iget(dir->i_sb, inodenum); + inode = efs_iget(inode_sb(dir), inodenum); return d_splice_alias(inode, dentry); } diff --git a/fs/efs/symlink.c b/fs/efs/symlink.c index 923eb91654d5..f6b8b33e9600 100644 --- a/fs/efs/symlink.c +++ b/fs/efs/symlink.c @@ -26,13 +26,13 @@ static int efs_symlink_readpage(struct file *file, struct page *page) /* read first 512 bytes of link target */ err = -EIO; - bh = sb_bread(inode->i_sb, efs_bmap(inode, 0)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, 0)); if (!bh) goto fail; memcpy(link, bh->b_data, (size > EFS_BLOCKSIZE) ? EFS_BLOCKSIZE : size); brelse(bh); if (size > EFS_BLOCKSIZE) { - bh = sb_bread(inode->i_sb, efs_bmap(inode, 1)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, 1)); if (!bh) goto fail; memcpy(link + EFS_BLOCKSIZE, bh->b_data, size - EFS_BLOCKSIZE); -- 2.15.1
[PATCH 37/76] fs/hfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/hfs/attr.c| 4 ++-- fs/hfs/catalog.c | 10 +- fs/hfs/dir.c | 11 ++- fs/hfs/extent.c | 10 +- fs/hfs/inode.c | 32 5 files changed, 34 insertions(+), 33 deletions(-) diff --git a/fs/hfs/attr.c b/fs/hfs/attr.c index 74fa62643136..60075ee27192 100644 --- a/fs/hfs/attr.c +++ b/fs/hfs/attr.c @@ -30,7 +30,7 @@ static int __hfs_setxattr(struct inode *inode, enum hfs_xattr_type type, if (!S_ISREG(inode->i_mode) || HFS_IS_RSRC(inode)) return -EOPNOTSUPP; - res = hfs_find_init(HFS_SB(inode->i_sb)->cat_tree, ); + res = hfs_find_init(HFS_SB(inode_sb(inode))->cat_tree, ); if (res) return res; fd.search_key->cat = HFS_I(inode)->cat_key; @@ -77,7 +77,7 @@ static ssize_t __hfs_getxattr(struct inode *inode, enum hfs_xattr_type type, return -EOPNOTSUPP; if (size) { - res = hfs_find_init(HFS_SB(inode->i_sb)->cat_tree, ); + res = hfs_find_init(HFS_SB(inode_sb(inode))->cat_tree, ); if (res) return res; fd.search_key->cat = HFS_I(inode)->cat_key; diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c index 8a66405b0f8b..790d488a2c24 100644 --- a/fs/hfs/catalog.c +++ b/fs/hfs/catalog.c @@ -56,8 +56,8 @@ static int hfs_cat_build_record(hfs_cat_rec *rec, u32 cnid, struct inode *inode) rec->file.CrDat = mtime; rec->file.MdDat = mtime; rec->file.BkDat = 0; - rec->file.UsrWds.fdType = HFS_SB(inode->i_sb)->s_type; - rec->file.UsrWds.fdCreator = HFS_SB(inode->i_sb)->s_creator; + rec->file.UsrWds.fdType = HFS_SB(inode_sb(inode))->s_type; + rec->file.UsrWds.fdCreator = HFS_SB(inode_sb(inode))->s_creator; return sizeof(struct hfs_cat_file); } } @@ -92,7 +92,7 @@ int hfs_cat_create(u32 cnid, struct inode *dir, const struct qstr *str, struct i if (dir->i_size >= HFS_MAX_VALENCE) return -ENOSPC; - sb = dir->i_sb; + sb = inode_sb(dir); err = hfs_find_init(HFS_SB(sb)->cat_tree, ); if (err) return err; @@ -218,7 +218,7 @@ int hfs_cat_delete(u32 cnid, struct inode *dir, const struct qstr *str) int res, type; hfs_dbg(CAT_MOD, "delete_cat: %s,%u\n", str ? str->name : NULL, cnid); - sb = dir->i_sb; + sb = inode_sb(dir); res = hfs_find_init(HFS_SB(sb)->cat_tree, ); if (res) return res; @@ -289,7 +289,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name, hfs_dbg(CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n", cnid, src_dir->i_ino, src_name->name, dst_dir->i_ino, dst_name->name); - sb = src_dir->i_sb; + sb = inode_sb(src_dir); err = hfs_find_init(HFS_SB(sb)->cat_tree, _fd); if (err) return err; diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c index 75b254280ff6..ae29580b3d0c 100644 --- a/fs/hfs/dir.c +++ b/fs/hfs/dir.c @@ -25,10 +25,11 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, struct inode *inode = NULL; int res; - res = hfs_find_init(HFS_SB(dir->i_sb)->cat_tree, ); + res = hfs_find_init(HFS_SB(inode_sb(dir))->cat_tree, ); if (res) return ERR_PTR(res); - hfs_cat_build_key(dir->i_sb, fd.search_key, dir->i_ino, >d_name); + hfs_cat_build_key(inode_sb(dir), fd.search_key, dir->i_ino, + >d_name); res = hfs_brec_read(, , sizeof(rec)); if (res) { hfs_find_exit(); @@ -39,7 +40,7 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, } return ERR_PTR(res); } - inode = hfs_iget(dir->i_sb, _key->cat, ); + inode = hfs_iget(inode_sb(dir), _key->cat, ); hfs_find_exit(); if (!inode) return ERR_PTR(-EACCES); @@ -54,7 +55,7 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, static int hfs_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); int len, err; char strbuf[HFS_MAX_NAMELEN]; union hfs_cat_rec entry; @@ -305,7 +306,7 @@ static int hfs_rename(struct inode *old_dir, struct dentry *old_dentry, old_dir, _dentry->d_name, new_dir, _dentry->d_name); if (!res) - hfs_cat_build_key(old_dir->i_sb, + hfs_cat_
[PATCH 27/76] fs/efs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/efs/dir.c | 2 +- fs/efs/file.c| 2 +- fs/efs/inode.c | 6 +++--- fs/efs/namei.c | 4 ++-- fs/efs/symlink.c | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fs/efs/dir.c b/fs/efs/dir.c index f892ac7c2a35..55663c4f49ce 100644 --- a/fs/efs/dir.c +++ b/fs/efs/dir.c @@ -42,7 +42,7 @@ static int efs_readdir(struct file *file, struct dir_context *ctx) struct buffer_head *bh; /* read the dir block */ - bh = sb_bread(inode->i_sb, efs_bmap(inode, block)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, block)); if (!bh) { pr_err("%s(): failed to read dir block %d\n", diff --git a/fs/efs/file.c b/fs/efs/file.c index 9e641da6fab2..4e7cf6d70872 100644 --- a/fs/efs/file.c +++ b/fs/efs/file.c @@ -30,7 +30,7 @@ int efs_get_block(struct inode *inode, sector_t iblock, } phys = efs_map_block(inode, iblock); if (phys) - map_bh(bh_result, inode->i_sb, phys); + map_bh(bh_result, inode_sb(inode), phys); return 0; } diff --git a/fs/efs/inode.c b/fs/efs/inode.c index cdf0872382af..a62f6029fc1c 100644 --- a/fs/efs/inode.c +++ b/fs/efs/inode.c @@ -87,7 +87,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino) (EFS_BLOCKSIZE / sizeof(struct efs_dinode))) * sizeof(struct efs_dinode); - bh = sb_bread(inode->i_sb, block); + bh = sb_bread(inode_sb(inode), block); if (!bh) { pr_warn("%s() failed at block %d\n", __func__, block); goto read_inode_error; @@ -196,7 +196,7 @@ efs_extent_check(efs_extent *ptr, efs_block_t block, struct efs_sb_info *sb) { } efs_block_t efs_map_block(struct inode *inode, efs_block_t block) { - struct efs_sb_info*sb = SUPER_INFO(inode->i_sb); + struct efs_sb_info*sb = SUPER_INFO(inode_sb(inode)); struct efs_inode_info *in = INODE_INFO(inode); struct buffer_head*bh = NULL; @@ -275,7 +275,7 @@ efs_block_t efs_map_block(struct inode *inode, efs_block_t block) { if (first || lastblock != iblock) { if (bh) brelse(bh); - bh = sb_bread(inode->i_sb, iblock); + bh = sb_bread(inode_sb(inode), iblock); if (!bh) { pr_err("%s() failed at block %d\n", __func__, iblock); diff --git a/fs/efs/namei.c b/fs/efs/namei.c index 38961ee1d1af..d1f3132b50a8 100644 --- a/fs/efs/namei.c +++ b/fs/efs/namei.c @@ -30,7 +30,7 @@ static efs_ino_t efs_find_entry(struct inode *inode, const char *name, int len) for(block = 0; block < inode->i_blocks; block++) { - bh = sb_bread(inode->i_sb, efs_bmap(inode, block)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, block)); if (!bh) { pr_err("%s(): failed to read dir block %d\n", __func__, block); @@ -69,7 +69,7 @@ struct dentry *efs_lookup(struct inode *dir, struct dentry *dentry, unsigned int inodenum = efs_find_entry(dir, dentry->d_name.name, dentry->d_name.len); if (inodenum) - inode = efs_iget(dir->i_sb, inodenum); + inode = efs_iget(inode_sb(dir), inodenum); return d_splice_alias(inode, dentry); } diff --git a/fs/efs/symlink.c b/fs/efs/symlink.c index 923eb91654d5..f6b8b33e9600 100644 --- a/fs/efs/symlink.c +++ b/fs/efs/symlink.c @@ -26,13 +26,13 @@ static int efs_symlink_readpage(struct file *file, struct page *page) /* read first 512 bytes of link target */ err = -EIO; - bh = sb_bread(inode->i_sb, efs_bmap(inode, 0)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, 0)); if (!bh) goto fail; memcpy(link, bh->b_data, (size > EFS_BLOCKSIZE) ? EFS_BLOCKSIZE : size); brelse(bh); if (size > EFS_BLOCKSIZE) { - bh = sb_bread(inode->i_sb, efs_bmap(inode, 1)); + bh = sb_bread(inode_sb(inode), efs_bmap(inode, 1)); if (!bh) goto fail; memcpy(link + EFS_BLOCKSIZE, bh->b_data, size - EFS_BLOCKSIZE); -- 2.15.1
[PATCH 41/76] fs/hugetlbfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/hugetlbfs/inode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index b9a254dcc0e7..31d2a6051bea 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -791,7 +791,7 @@ static int hugetlbfs_mknod(struct inode *dir, struct inode *inode; int error = -ENOSPC; - inode = hugetlbfs_get_inode(dir->i_sb, dir, mode, dev); + inode = hugetlbfs_get_inode(inode_sb(dir), dir, mode, dev); if (inode) { dir->i_ctime = dir->i_mtime = current_time(dir); d_instantiate(dentry, inode); @@ -820,7 +820,7 @@ static int hugetlbfs_symlink(struct inode *dir, struct inode *inode; int error = -ENOSPC; - inode = hugetlbfs_get_inode(dir->i_sb, dir, S_IFLNK|S_IRWXUGO, 0); + inode = hugetlbfs_get_inode(inode_sb(dir), dir, S_IFLNK|S_IRWXUGO, 0); if (inode) { int l = strlen(symname)+1; error = page_symlink(inode, symname, l); @@ -1021,7 +1021,7 @@ static void hugetlbfs_i_callback(struct rcu_head *head) static void hugetlbfs_destroy_inode(struct inode *inode) { - hugetlbfs_inc_free_inodes(HUGETLBFS_SB(inode->i_sb)); + hugetlbfs_inc_free_inodes(HUGETLBFS_SB(inode_sb(inode))); mpol_free_shared_policy(_I(inode)->policy); call_rcu(>i_rcu, hugetlbfs_i_callback); } -- 2.15.1
[PATCH 39/76] fs/hostfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/hostfs/hostfs_kern.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index c148e7f4f451..b99d08b7ef34 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c @@ -570,7 +570,7 @@ static int hostfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, char *name; int error, fd; - inode = hostfs_iget(dir->i_sb); + inode = hostfs_iget(inode_sb(dir)); if (IS_ERR(inode)) { error = PTR_ERR(inode); goto out; @@ -609,7 +609,7 @@ static struct dentry *hostfs_lookup(struct inode *ino, struct dentry *dentry, char *name; int err; - inode = hostfs_iget(ino->i_sb); + inode = hostfs_iget(inode_sb(ino)); if (IS_ERR(inode)) { err = PTR_ERR(inode); goto out; @@ -717,7 +717,7 @@ static int hostfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, char *name; int err; - inode = hostfs_iget(dir->i_sb); + inode = hostfs_iget(inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); goto out; -- 2.15.1
[PATCH 39/76] fs/hostfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/hostfs/hostfs_kern.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index c148e7f4f451..b99d08b7ef34 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c @@ -570,7 +570,7 @@ static int hostfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, char *name; int error, fd; - inode = hostfs_iget(dir->i_sb); + inode = hostfs_iget(inode_sb(dir)); if (IS_ERR(inode)) { error = PTR_ERR(inode); goto out; @@ -609,7 +609,7 @@ static struct dentry *hostfs_lookup(struct inode *ino, struct dentry *dentry, char *name; int err; - inode = hostfs_iget(ino->i_sb); + inode = hostfs_iget(inode_sb(ino)); if (IS_ERR(inode)) { err = PTR_ERR(inode); goto out; @@ -717,7 +717,7 @@ static int hostfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, char *name; int err; - inode = hostfs_iget(dir->i_sb); + inode = hostfs_iget(inode_sb(dir)); if (IS_ERR(inode)) { err = PTR_ERR(inode); goto out; -- 2.15.1
[PATCH 41/76] fs/hugetlbfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/hugetlbfs/inode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index b9a254dcc0e7..31d2a6051bea 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -791,7 +791,7 @@ static int hugetlbfs_mknod(struct inode *dir, struct inode *inode; int error = -ENOSPC; - inode = hugetlbfs_get_inode(dir->i_sb, dir, mode, dev); + inode = hugetlbfs_get_inode(inode_sb(dir), dir, mode, dev); if (inode) { dir->i_ctime = dir->i_mtime = current_time(dir); d_instantiate(dentry, inode); @@ -820,7 +820,7 @@ static int hugetlbfs_symlink(struct inode *dir, struct inode *inode; int error = -ENOSPC; - inode = hugetlbfs_get_inode(dir->i_sb, dir, S_IFLNK|S_IRWXUGO, 0); + inode = hugetlbfs_get_inode(inode_sb(dir), dir, S_IFLNK|S_IRWXUGO, 0); if (inode) { int l = strlen(symname)+1; error = page_symlink(inode, symname, l); @@ -1021,7 +1021,7 @@ static void hugetlbfs_i_callback(struct rcu_head *head) static void hugetlbfs_destroy_inode(struct inode *inode) { - hugetlbfs_inc_free_inodes(HUGETLBFS_SB(inode->i_sb)); + hugetlbfs_inc_free_inodes(HUGETLBFS_SB(inode_sb(inode))); mpol_free_shared_policy(_I(inode)->policy); call_rcu(>i_rcu, hugetlbfs_i_callback); } -- 2.15.1
[PATCH 40/76] fs/hpfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/hpfs/dir.c | 76 +--- fs/hpfs/dnode.c | 176 fs/hpfs/ea.c| 2 +- fs/hpfs/file.c | 45 --- fs/hpfs/inode.c | 77 + fs/hpfs/namei.c | 130 ++--- fs/hpfs/super.c | 6 +- 7 files changed, 287 insertions(+), 225 deletions(-) diff --git a/fs/hpfs/dir.c b/fs/hpfs/dir.c index c83ece7facc5..416e6e238ee4 100644 --- a/fs/hpfs/dir.c +++ b/fs/hpfs/dir.c @@ -12,10 +12,10 @@ static int hpfs_dir_release(struct inode *inode, struct file *filp) { - hpfs_lock(inode->i_sb); + hpfs_lock(inode_sb(inode)); hpfs_del_pos(inode, >f_pos); /*hpfs_write_if_changed(inode);*/ - hpfs_unlock(inode->i_sb); + hpfs_unlock(inode_sb(inode)); return 0; } @@ -28,7 +28,7 @@ static loff_t hpfs_dir_lseek(struct file *filp, loff_t off, int whence) struct quad_buffer_head qbh; struct inode *i = file_inode(filp); struct hpfs_inode_info *hpfs_inode = hpfs_i(i); - struct super_block *s = i->i_sb; + struct super_block *s = inode_sb(i); /* Somebody else will have to figure out what to do here */ if (whence == SEEK_DATA || whence == SEEK_HOLE) @@ -74,34 +74,38 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx) int c1, c2 = 0; int ret = 0; - hpfs_lock(inode->i_sb); + hpfs_lock(inode_sb(inode)); - if (hpfs_sb(inode->i_sb)->sb_chk) { - if (hpfs_chk_sectors(inode->i_sb, inode->i_ino, 1, "dir_fnode")) { + if (hpfs_sb(inode_sb(inode))->sb_chk) { + if (hpfs_chk_sectors(inode_sb(inode), inode->i_ino, 1, "dir_fnode")) { ret = -EFSERROR; goto out; } - if (hpfs_chk_sectors(inode->i_sb, hpfs_inode->i_dno, 4, "dir_dnode")) { + if (hpfs_chk_sectors(inode_sb(inode), hpfs_inode->i_dno, 4, "dir_dnode")) { ret = -EFSERROR; goto out; } } - if (hpfs_sb(inode->i_sb)->sb_chk >= 2) { + if (hpfs_sb(inode_sb(inode))->sb_chk >= 2) { struct buffer_head *bh; struct fnode *fno; int e = 0; - if (!(fno = hpfs_map_fnode(inode->i_sb, inode->i_ino, ))) { + if (!(fno = hpfs_map_fnode(inode_sb(inode), inode->i_ino, ))) { ret = -EIOERROR; goto out; } if (!fnode_is_dir(fno)) { e = 1; - hpfs_error(inode->i_sb, "not a directory, fnode %08lx", + hpfs_error(inode_sb(inode), + "not a directory, fnode %08lx", (unsigned long)inode->i_ino); } if (hpfs_inode->i_dno != le32_to_cpu(fno->u.external[0].disk_secno)) { e = 1; - hpfs_error(inode->i_sb, "corrupted inode: i_dno == %08x, fnode -> dnode == %08x", hpfs_inode->i_dno, le32_to_cpu(fno->u.external[0].disk_secno)); + hpfs_error(inode_sb(inode), + "corrupted inode: i_dno == %08x, fnode -> dnode == %08x", + hpfs_inode->i_dno, + le32_to_cpu(fno->u.external[0].disk_secno)); } brelse(bh); if (e) { @@ -109,7 +113,7 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx) goto out; } } - lc = hpfs_sb(inode->i_sb)->sb_lowercase; + lc = hpfs_sb(inode_sb(inode))->sb_lowercase; if (ctx->pos == 12) { /* diff -r requires this (note, that diff -r */ ctx->pos = 13; /* also fails on msdos filesystem in 2.0) */ goto out; @@ -124,8 +128,8 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx) /* This won't work when cycle is longer than number of dirents accepted by filldir, but what can I do? maybe killall -9 ls helps */ - if (hpfs_sb(inode->i_sb)->sb_chk) - if (hpfs_stop_cycles(inode->i_sb, ctx->pos, , , "hpfs_readdir")) { + if (hpfs_sb(inode_sb(inode))->sb_chk) + if (hpfs_stop_cycles(inode_sb(inode), ctx->pos, , , "hpfs_readdir")) { ret = -EFSERROR; goto out;
[PATCH 40/76] fs/hpfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/hpfs/dir.c | 76 +--- fs/hpfs/dnode.c | 176 fs/hpfs/ea.c| 2 +- fs/hpfs/file.c | 45 --- fs/hpfs/inode.c | 77 + fs/hpfs/namei.c | 130 ++--- fs/hpfs/super.c | 6 +- 7 files changed, 287 insertions(+), 225 deletions(-) diff --git a/fs/hpfs/dir.c b/fs/hpfs/dir.c index c83ece7facc5..416e6e238ee4 100644 --- a/fs/hpfs/dir.c +++ b/fs/hpfs/dir.c @@ -12,10 +12,10 @@ static int hpfs_dir_release(struct inode *inode, struct file *filp) { - hpfs_lock(inode->i_sb); + hpfs_lock(inode_sb(inode)); hpfs_del_pos(inode, >f_pos); /*hpfs_write_if_changed(inode);*/ - hpfs_unlock(inode->i_sb); + hpfs_unlock(inode_sb(inode)); return 0; } @@ -28,7 +28,7 @@ static loff_t hpfs_dir_lseek(struct file *filp, loff_t off, int whence) struct quad_buffer_head qbh; struct inode *i = file_inode(filp); struct hpfs_inode_info *hpfs_inode = hpfs_i(i); - struct super_block *s = i->i_sb; + struct super_block *s = inode_sb(i); /* Somebody else will have to figure out what to do here */ if (whence == SEEK_DATA || whence == SEEK_HOLE) @@ -74,34 +74,38 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx) int c1, c2 = 0; int ret = 0; - hpfs_lock(inode->i_sb); + hpfs_lock(inode_sb(inode)); - if (hpfs_sb(inode->i_sb)->sb_chk) { - if (hpfs_chk_sectors(inode->i_sb, inode->i_ino, 1, "dir_fnode")) { + if (hpfs_sb(inode_sb(inode))->sb_chk) { + if (hpfs_chk_sectors(inode_sb(inode), inode->i_ino, 1, "dir_fnode")) { ret = -EFSERROR; goto out; } - if (hpfs_chk_sectors(inode->i_sb, hpfs_inode->i_dno, 4, "dir_dnode")) { + if (hpfs_chk_sectors(inode_sb(inode), hpfs_inode->i_dno, 4, "dir_dnode")) { ret = -EFSERROR; goto out; } } - if (hpfs_sb(inode->i_sb)->sb_chk >= 2) { + if (hpfs_sb(inode_sb(inode))->sb_chk >= 2) { struct buffer_head *bh; struct fnode *fno; int e = 0; - if (!(fno = hpfs_map_fnode(inode->i_sb, inode->i_ino, ))) { + if (!(fno = hpfs_map_fnode(inode_sb(inode), inode->i_ino, ))) { ret = -EIOERROR; goto out; } if (!fnode_is_dir(fno)) { e = 1; - hpfs_error(inode->i_sb, "not a directory, fnode %08lx", + hpfs_error(inode_sb(inode), + "not a directory, fnode %08lx", (unsigned long)inode->i_ino); } if (hpfs_inode->i_dno != le32_to_cpu(fno->u.external[0].disk_secno)) { e = 1; - hpfs_error(inode->i_sb, "corrupted inode: i_dno == %08x, fnode -> dnode == %08x", hpfs_inode->i_dno, le32_to_cpu(fno->u.external[0].disk_secno)); + hpfs_error(inode_sb(inode), + "corrupted inode: i_dno == %08x, fnode -> dnode == %08x", + hpfs_inode->i_dno, + le32_to_cpu(fno->u.external[0].disk_secno)); } brelse(bh); if (e) { @@ -109,7 +113,7 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx) goto out; } } - lc = hpfs_sb(inode->i_sb)->sb_lowercase; + lc = hpfs_sb(inode_sb(inode))->sb_lowercase; if (ctx->pos == 12) { /* diff -r requires this (note, that diff -r */ ctx->pos = 13; /* also fails on msdos filesystem in 2.0) */ goto out; @@ -124,8 +128,8 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx) /* This won't work when cycle is longer than number of dirents accepted by filldir, but what can I do? maybe killall -9 ls helps */ - if (hpfs_sb(inode->i_sb)->sb_chk) - if (hpfs_stop_cycles(inode->i_sb, ctx->pos, , , "hpfs_readdir")) { + if (hpfs_sb(inode_sb(inode))->sb_chk) + if (hpfs_stop_cycles(inode_sb(inode), ctx->pos, , , "hpfs_readdir")) { ret = -EFSERROR; goto out; } @@
[PATCH 44/76] fs/jffs2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/jffs2/dir.c | 16 fs/jffs2/file.c | 8 fs/jffs2/fs.c| 8 fs/jffs2/xattr.c | 6 +++--- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c index 0a754f38462e..e539bb4e4687 100644 --- a/fs/jffs2/dir.c +++ b/fs/jffs2/dir.c @@ -106,7 +106,7 @@ static struct dentry *jffs2_lookup(struct inode *dir_i, struct dentry *target, ino = fd->ino; mutex_unlock(_f->sem); if (ino) { - inode = jffs2_iget(dir_i->i_sb, ino); + inode = jffs2_iget(inode_sb(dir_i), ino); if (IS_ERR(inode)) pr_warn("iget() failed for ino #%u\n", ino); } @@ -170,7 +170,7 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); jffs2_dbg(1, "%s()\n", __func__); @@ -224,7 +224,7 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, static int jffs2_unlink(struct inode *dir_i, struct dentry *dentry) { - struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(dir_i)); struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i); struct jffs2_inode_info *dead_f = JFFS2_INODE_INFO(d_inode(dentry)); int ret; @@ -300,7 +300,7 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); /* Try to reserve enough space for both node and dirent. * Just the node will do for now, though @@ -459,7 +459,7 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, umode_t mode if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); /* Try to reserve enough space for both node and dirent. * Just the node will do for now, though @@ -586,7 +586,7 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, umode_t mode static int jffs2_rmdir (struct inode *dir_i, struct dentry *dentry) { - struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(dir_i)); struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i); struct jffs2_inode_info *f = JFFS2_INODE_INFO(d_inode(dentry)); struct jffs2_full_dirent *fd; @@ -627,7 +627,7 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, umode_t mode if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); if (S_ISBLK(mode) || S_ISCHR(mode)) devlen = jffs2_encode_dev(, rdev); @@ -761,7 +761,7 @@ static int jffs2_rename (struct inode *old_dir_i, struct dentry *old_dentry, unsigned int flags) { int ret; - struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(old_dir_i)); struct jffs2_inode_info *victim_f = NULL; uint8_t type; uint32_t now; diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c index bd0428bebe9b..cfab0b294897 100644 --- a/fs/jffs2/file.c +++ b/fs/jffs2/file.c @@ -32,7 +32,7 @@ static int jffs2_readpage (struct file *filp, struct page *pg); int jffs2_fsync(struct file *filp, loff_t start, loff_t end, int datasync) { struct inode *inode = filp->f_mapping->host; - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(inode)); int ret; ret = file_write_and_wait_range(filp, start, end); @@ -79,7 +79,7 @@ const struct address_space_operations jffs2_file_address_operations = static int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg) { struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(inode)); unsigned char *pg_buf; int ret; @@ -148,7 +148,7 @@ static int jffs2_write_begin(struct file *filp, struct address_space *mapping, if (pageofs > inode->i_size) { /* Make new hole frag from old EOF to new page */ - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(inode)); struct jffs2_raw_inode ri; struct jffs2_full_dnode *fn; uint32_t alloc_len; @@ -241,7 +241,7 @@ static int jffs2_write_end(struct file *filp, struct ad
[PATCH 43/76] fs/jbd2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/jbd2/journal.c | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 3fbf48ec2188..e1834a69cd41 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -1262,12 +1262,16 @@ journal_t *jbd2_journal_init_inode(struct inode *inode) } jbd_debug(1, "JBD2: inode %s/%ld, size %lld, bits %d, blksize %ld\n", - inode->i_sb->s_id, inode->i_ino, (long long) inode->i_size, - inode->i_sb->s_blocksize_bits, inode->i_sb->s_blocksize); - - journal = journal_init_common(inode->i_sb->s_bdev, inode->i_sb->s_bdev, - blocknr, inode->i_size >> inode->i_sb->s_blocksize_bits, - inode->i_sb->s_blocksize); + inode_sb(inode)->s_id, inode->i_ino, + (long long) inode->i_size, + inode_sb(inode)->s_blocksize_bits, + inode_sb(inode)->s_blocksize); + + journal = journal_init_common(inode_sb(inode)->s_bdev, + inode_sb(inode)->s_bdev, + blocknr, + inode->i_size >> inode_sb(inode)->s_blocksize_bits, + inode_sb(inode)->s_blocksize); if (!journal) return NULL; @@ -2233,7 +2237,7 @@ void jbd2_journal_ack_err(journal_t *journal) int jbd2_journal_blocks_per_page(struct inode *inode) { - return 1 << (PAGE_SHIFT - inode->i_sb->s_blocksize_bits); + return 1 << (PAGE_SHIFT - inode_sb(inode)->s_blocksize_bits); } /* -- 2.15.1
[PATCH 44/76] fs/jffs2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/jffs2/dir.c | 16 fs/jffs2/file.c | 8 fs/jffs2/fs.c| 8 fs/jffs2/xattr.c | 6 +++--- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c index 0a754f38462e..e539bb4e4687 100644 --- a/fs/jffs2/dir.c +++ b/fs/jffs2/dir.c @@ -106,7 +106,7 @@ static struct dentry *jffs2_lookup(struct inode *dir_i, struct dentry *target, ino = fd->ino; mutex_unlock(_f->sem); if (ino) { - inode = jffs2_iget(dir_i->i_sb, ino); + inode = jffs2_iget(inode_sb(dir_i), ino); if (IS_ERR(inode)) pr_warn("iget() failed for ino #%u\n", ino); } @@ -170,7 +170,7 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); jffs2_dbg(1, "%s()\n", __func__); @@ -224,7 +224,7 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, static int jffs2_unlink(struct inode *dir_i, struct dentry *dentry) { - struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(dir_i)); struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i); struct jffs2_inode_info *dead_f = JFFS2_INODE_INFO(d_inode(dentry)); int ret; @@ -300,7 +300,7 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); /* Try to reserve enough space for both node and dirent. * Just the node will do for now, though @@ -459,7 +459,7 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, umode_t mode if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); /* Try to reserve enough space for both node and dirent. * Just the node will do for now, though @@ -586,7 +586,7 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, umode_t mode static int jffs2_rmdir (struct inode *dir_i, struct dentry *dentry) { - struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(dir_i)); struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i); struct jffs2_inode_info *f = JFFS2_INODE_INFO(d_inode(dentry)); struct jffs2_full_dirent *fd; @@ -627,7 +627,7 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, umode_t mode if (!ri) return -ENOMEM; - c = JFFS2_SB_INFO(dir_i->i_sb); + c = JFFS2_SB_INFO(inode_sb(dir_i)); if (S_ISBLK(mode) || S_ISCHR(mode)) devlen = jffs2_encode_dev(, rdev); @@ -761,7 +761,7 @@ static int jffs2_rename (struct inode *old_dir_i, struct dentry *old_dentry, unsigned int flags) { int ret; - struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(old_dir_i)); struct jffs2_inode_info *victim_f = NULL; uint8_t type; uint32_t now; diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c index bd0428bebe9b..cfab0b294897 100644 --- a/fs/jffs2/file.c +++ b/fs/jffs2/file.c @@ -32,7 +32,7 @@ static int jffs2_readpage (struct file *filp, struct page *pg); int jffs2_fsync(struct file *filp, loff_t start, loff_t end, int datasync) { struct inode *inode = filp->f_mapping->host; - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(inode)); int ret; ret = file_write_and_wait_range(filp, start, end); @@ -79,7 +79,7 @@ const struct address_space_operations jffs2_file_address_operations = static int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg) { struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(inode)); unsigned char *pg_buf; int ret; @@ -148,7 +148,7 @@ static int jffs2_write_begin(struct file *filp, struct address_space *mapping, if (pageofs > inode->i_size) { /* Make new hole frag from old EOF to new page */ - struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb); + struct jffs2_sb_info *c = JFFS2_SB_INFO(inode_sb(inode)); struct jffs2_raw_inode ri; struct jffs2_full_dnode *fn; uint32_t alloc_len; @@ -241,7 +241,7 @@ static int jffs2_write_end(struct file *filp, struct address_space *mapping,
[PATCH 43/76] fs/jbd2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/jbd2/journal.c | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 3fbf48ec2188..e1834a69cd41 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -1262,12 +1262,16 @@ journal_t *jbd2_journal_init_inode(struct inode *inode) } jbd_debug(1, "JBD2: inode %s/%ld, size %lld, bits %d, blksize %ld\n", - inode->i_sb->s_id, inode->i_ino, (long long) inode->i_size, - inode->i_sb->s_blocksize_bits, inode->i_sb->s_blocksize); - - journal = journal_init_common(inode->i_sb->s_bdev, inode->i_sb->s_bdev, - blocknr, inode->i_size >> inode->i_sb->s_blocksize_bits, - inode->i_sb->s_blocksize); + inode_sb(inode)->s_id, inode->i_ino, + (long long) inode->i_size, + inode_sb(inode)->s_blocksize_bits, + inode_sb(inode)->s_blocksize); + + journal = journal_init_common(inode_sb(inode)->s_bdev, + inode_sb(inode)->s_bdev, + blocknr, + inode->i_size >> inode_sb(inode)->s_blocksize_bits, + inode_sb(inode)->s_blocksize); if (!journal) return NULL; @@ -2233,7 +2237,7 @@ void jbd2_journal_ack_err(journal_t *journal) int jbd2_journal_blocks_per_page(struct inode *inode) { - return 1 << (PAGE_SHIFT - inode->i_sb->s_blocksize_bits); + return 1 << (PAGE_SHIFT - inode_sb(inode)->s_blocksize_bits); } /* -- 2.15.1
[PATCH 45/76] fs/jfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/jfs/acl.c | 2 +- fs/jfs/file.c | 6 +-- fs/jfs/inode.c| 14 +++ fs/jfs/ioctl.c| 2 +- fs/jfs/jfs_discard.c | 12 +++--- fs/jfs/jfs_dmap.c | 104 + fs/jfs/jfs_dmap.h | 2 +- fs/jfs/jfs_dtree.c| 30 +++ fs/jfs/jfs_dtree.h| 2 +- fs/jfs/jfs_extent.c | 18 - fs/jfs/jfs_imap.c | 105 ++ fs/jfs/jfs_incore.h | 2 +- fs/jfs/jfs_inode.c| 2 +- fs/jfs/jfs_metapage.c | 20 +- fs/jfs/jfs_txnmgr.c | 12 +++--- fs/jfs/jfs_xtree.c| 65 --- fs/jfs/namei.c| 26 ++--- fs/jfs/super.c| 2 +- fs/jfs/xattr.c| 8 ++-- 19 files changed, 222 insertions(+), 212 deletions(-) diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c index 2e71b6e7e646..051c24c59ffa 100644 --- a/fs/jfs/acl.c +++ b/fs/jfs/acl.c @@ -111,7 +111,7 @@ int jfs_set_acl(struct inode *inode, struct posix_acl *acl, int type) int update_mode = 0; umode_t mode = inode->i_mode; - tid = txBegin(inode->i_sb, 0); + tid = txBegin(inode_sb(inode), 0); mutex_lock(_IP(inode)->commit_mutex); if (type == ACL_TYPE_ACCESS && acl) { rc = posix_acl_update_mode(inode, , ); diff --git a/fs/jfs/file.c b/fs/jfs/file.c index 36665fd37095..b4eb55e2b291 100644 --- a/fs/jfs/file.c +++ b/fs/jfs/file.c @@ -42,7 +42,7 @@ int jfs_fsync(struct file *file, loff_t start, loff_t end, int datasync) if (!(inode->i_state & I_DIRTY_ALL) || (datasync && !(inode->i_state & I_DIRTY_DATASYNC))) { /* Make sure committed changes hit the disk */ - jfs_flush_journal(JFS_SBI(inode->i_sb)->log, 1); + jfs_flush_journal(JFS_SBI(inode_sb(inode))->log, 1); inode_unlock(inode); return rc; } @@ -74,7 +74,7 @@ static int jfs_open(struct inode *inode, struct file *file) struct jfs_inode_info *ji = JFS_IP(inode); spin_lock_irq(>ag_lock); if (ji->active_ag == -1) { - struct jfs_sb_info *jfs_sb = JFS_SBI(inode->i_sb); + struct jfs_sb_info *jfs_sb = JFS_SBI(inode_sb(inode)); ji->active_ag = BLKTOAG(addressPXD(>ixpxd), jfs_sb); atomic_inc(_sb->bmap->db_active[ji->active_ag]); } @@ -89,7 +89,7 @@ static int jfs_release(struct inode *inode, struct file *file) spin_lock_irq(>ag_lock); if (ji->active_ag != -1) { - struct bmap *bmap = JFS_SBI(inode->i_sb)->bmap; + struct bmap *bmap = JFS_SBI(inode_sb(inode))->bmap; atomic_dec(>db_active[ji->active_ag]); ji->active_ag = -1; } diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index 054cc761b426..6cf6574c235c 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c @@ -110,7 +110,7 @@ int jfs_commit_inode(struct inode *inode, int wait) return 0; } - tid = txBegin(inode->i_sb, COMMIT_INODE); + tid = txBegin(inode_sb(inode), COMMIT_INODE); mutex_lock(_IP(inode)->commit_mutex); /* @@ -137,7 +137,7 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc) */ if (!test_cflag(COMMIT_Dirty, inode)) { /* Make sure committed changes hit the disk */ - jfs_flush_journal(JFS_SBI(inode->i_sb)->log, wait); + jfs_flush_journal(JFS_SBI(inode_sb(inode))->log, wait); return 0; } @@ -213,7 +213,7 @@ int jfs_get_block(struct inode *ip, sector_t lblock, else IREAD_LOCK(ip, RDWRLOCK_NORMAL); - if (((lblock64 << ip->i_sb->s_blocksize_bits) < ip->i_size) && + if (((lblock64 << inode_sb(ip)->s_blocksize_bits) < ip->i_size) && (!xtLookup(ip, lblock64, xlen, , , , 0)) && xaddr) { if (xflag & XAD_NOTRECORDED) { @@ -241,7 +241,7 @@ int jfs_get_block(struct inode *ip, sector_t lblock, set_buffer_new(bh_result); } - map_bh(bh_result, ip->i_sb, xaddr); + map_bh(bh_result, inode_sb(ip), xaddr); bh_result->b_size = xlen << ip->i_blkbits; goto unlock; } @@ -252,14 +252,14 @@ int jfs_get_block(struct inode *ip, sector_t lblock, * Allocate a new block */ #ifdef _JFS_4K - if ((rc = extHint(ip, lblock64 << ip->i_sb->s_blocksize_bits, ))) + if ((rc = extHint(ip, lblock64 << inode_sb(ip)->s_blocksize_bits, )))
[PATCH 45/76] fs/jfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/jfs/acl.c | 2 +- fs/jfs/file.c | 6 +-- fs/jfs/inode.c| 14 +++ fs/jfs/ioctl.c| 2 +- fs/jfs/jfs_discard.c | 12 +++--- fs/jfs/jfs_dmap.c | 104 + fs/jfs/jfs_dmap.h | 2 +- fs/jfs/jfs_dtree.c| 30 +++ fs/jfs/jfs_dtree.h| 2 +- fs/jfs/jfs_extent.c | 18 - fs/jfs/jfs_imap.c | 105 ++ fs/jfs/jfs_incore.h | 2 +- fs/jfs/jfs_inode.c| 2 +- fs/jfs/jfs_metapage.c | 20 +- fs/jfs/jfs_txnmgr.c | 12 +++--- fs/jfs/jfs_xtree.c| 65 --- fs/jfs/namei.c| 26 ++--- fs/jfs/super.c| 2 +- fs/jfs/xattr.c| 8 ++-- 19 files changed, 222 insertions(+), 212 deletions(-) diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c index 2e71b6e7e646..051c24c59ffa 100644 --- a/fs/jfs/acl.c +++ b/fs/jfs/acl.c @@ -111,7 +111,7 @@ int jfs_set_acl(struct inode *inode, struct posix_acl *acl, int type) int update_mode = 0; umode_t mode = inode->i_mode; - tid = txBegin(inode->i_sb, 0); + tid = txBegin(inode_sb(inode), 0); mutex_lock(_IP(inode)->commit_mutex); if (type == ACL_TYPE_ACCESS && acl) { rc = posix_acl_update_mode(inode, , ); diff --git a/fs/jfs/file.c b/fs/jfs/file.c index 36665fd37095..b4eb55e2b291 100644 --- a/fs/jfs/file.c +++ b/fs/jfs/file.c @@ -42,7 +42,7 @@ int jfs_fsync(struct file *file, loff_t start, loff_t end, int datasync) if (!(inode->i_state & I_DIRTY_ALL) || (datasync && !(inode->i_state & I_DIRTY_DATASYNC))) { /* Make sure committed changes hit the disk */ - jfs_flush_journal(JFS_SBI(inode->i_sb)->log, 1); + jfs_flush_journal(JFS_SBI(inode_sb(inode))->log, 1); inode_unlock(inode); return rc; } @@ -74,7 +74,7 @@ static int jfs_open(struct inode *inode, struct file *file) struct jfs_inode_info *ji = JFS_IP(inode); spin_lock_irq(>ag_lock); if (ji->active_ag == -1) { - struct jfs_sb_info *jfs_sb = JFS_SBI(inode->i_sb); + struct jfs_sb_info *jfs_sb = JFS_SBI(inode_sb(inode)); ji->active_ag = BLKTOAG(addressPXD(>ixpxd), jfs_sb); atomic_inc(_sb->bmap->db_active[ji->active_ag]); } @@ -89,7 +89,7 @@ static int jfs_release(struct inode *inode, struct file *file) spin_lock_irq(>ag_lock); if (ji->active_ag != -1) { - struct bmap *bmap = JFS_SBI(inode->i_sb)->bmap; + struct bmap *bmap = JFS_SBI(inode_sb(inode))->bmap; atomic_dec(>db_active[ji->active_ag]); ji->active_ag = -1; } diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index 054cc761b426..6cf6574c235c 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c @@ -110,7 +110,7 @@ int jfs_commit_inode(struct inode *inode, int wait) return 0; } - tid = txBegin(inode->i_sb, COMMIT_INODE); + tid = txBegin(inode_sb(inode), COMMIT_INODE); mutex_lock(_IP(inode)->commit_mutex); /* @@ -137,7 +137,7 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc) */ if (!test_cflag(COMMIT_Dirty, inode)) { /* Make sure committed changes hit the disk */ - jfs_flush_journal(JFS_SBI(inode->i_sb)->log, wait); + jfs_flush_journal(JFS_SBI(inode_sb(inode))->log, wait); return 0; } @@ -213,7 +213,7 @@ int jfs_get_block(struct inode *ip, sector_t lblock, else IREAD_LOCK(ip, RDWRLOCK_NORMAL); - if (((lblock64 << ip->i_sb->s_blocksize_bits) < ip->i_size) && + if (((lblock64 << inode_sb(ip)->s_blocksize_bits) < ip->i_size) && (!xtLookup(ip, lblock64, xlen, , , , 0)) && xaddr) { if (xflag & XAD_NOTRECORDED) { @@ -241,7 +241,7 @@ int jfs_get_block(struct inode *ip, sector_t lblock, set_buffer_new(bh_result); } - map_bh(bh_result, ip->i_sb, xaddr); + map_bh(bh_result, inode_sb(ip), xaddr); bh_result->b_size = xlen << ip->i_blkbits; goto unlock; } @@ -252,14 +252,14 @@ int jfs_get_block(struct inode *ip, sector_t lblock, * Allocate a new block */ #ifdef _JFS_4K - if ((rc = extHint(ip, lblock64 << ip->i_sb->s_blocksize_bits, ))) + if ((rc = extHint(ip, lblock64 << inode_sb(ip)->s_blocksize_bits, ))) goto unlock; rc
[PATCH 48/76] fs/minix: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/minix/bitmap.c | 18 ++ fs/minix/dir.c | 18 +- fs/minix/inode.c| 10 +- fs/minix/itree_common.c | 10 +- fs/minix/itree_v1.c | 6 +++--- fs/minix/itree_v2.c | 2 +- fs/minix/minix.h| 2 +- fs/minix/namei.c| 6 +++--- 8 files changed, 37 insertions(+), 35 deletions(-) diff --git a/fs/minix/bitmap.c b/fs/minix/bitmap.c index f4e5e5181a14..c432f181e006 100644 --- a/fs/minix/bitmap.c +++ b/fs/minix/bitmap.c @@ -41,7 +41,7 @@ static __u32 count_free(struct buffer_head *map[], unsigned blocksize, __u32 num void minix_free_block(struct inode *inode, unsigned long block) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct minix_sb_info *sbi = minix_sb(sb); struct buffer_head *bh; int k = sb->s_blocksize_bits + 3; @@ -70,8 +70,8 @@ void minix_free_block(struct inode *inode, unsigned long block) int minix_new_block(struct inode * inode) { - struct minix_sb_info *sbi = minix_sb(inode->i_sb); - int bits_per_zone = 8 * inode->i_sb->s_blocksize; + struct minix_sb_info *sbi = minix_sb(inode_sb(inode)); + int bits_per_zone = 8 * inode_sb(inode)->s_blocksize; int i; for (i = 0; i < sbi->s_zmap_blocks; i++) { @@ -161,14 +161,16 @@ static void minix_clear_inode(struct inode *inode) if (INODE_VERSION(inode) == MINIX_V1) { struct minix_inode *raw_inode; - raw_inode = minix_V1_raw_inode(inode->i_sb, inode->i_ino, ); + raw_inode = minix_V1_raw_inode(inode_sb(inode), inode->i_ino, + ); if (raw_inode) { raw_inode->i_nlinks = 0; raw_inode->i_mode = 0; } } else { struct minix2_inode *raw_inode; - raw_inode = minix_V2_raw_inode(inode->i_sb, inode->i_ino, ); + raw_inode = minix_V2_raw_inode(inode_sb(inode), inode->i_ino, + ); if (raw_inode) { raw_inode->i_nlinks = 0; raw_inode->i_mode = 0; @@ -182,8 +184,8 @@ static void minix_clear_inode(struct inode *inode) void minix_free_inode(struct inode * inode) { - struct super_block *sb = inode->i_sb; - struct minix_sb_info *sbi = minix_sb(inode->i_sb); + struct super_block *sb = inode_sb(inode); + struct minix_sb_info *sbi = minix_sb(inode_sb(inode)); struct buffer_head *bh; int k = sb->s_blocksize_bits + 3; unsigned long ino, bit; @@ -212,7 +214,7 @@ void minix_free_inode(struct inode * inode) struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct minix_sb_info *sbi = minix_sb(sb); struct inode *inode = new_inode(sb); struct buffer_head * bh; diff --git a/fs/minix/dir.c b/fs/minix/dir.c index dcfe5b25378b..ea70fc396293 100644 --- a/fs/minix/dir.c +++ b/fs/minix/dir.c @@ -81,7 +81,7 @@ static inline void *minix_next_entry(void *de, struct minix_sb_info *sbi) static int minix_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct minix_sb_info *sbi = minix_sb(sb); unsigned chunk_size = sbi->s_dirsize; unsigned long npages = dir_pages(inode); @@ -153,7 +153,7 @@ minix_dirent *minix_find_entry(struct dentry *dentry, struct page **res_page) const char * name = dentry->d_name.name; int namelen = dentry->d_name.len; struct inode * dir = d_inode(dentry->d_parent); - struct super_block * sb = dir->i_sb; + struct super_block * sb = inode_sb(dir); struct minix_sb_info * sbi = minix_sb(sb); unsigned long n; unsigned long npages = dir_pages(dir); @@ -202,7 +202,7 @@ int minix_add_link(struct dentry *dentry, struct inode *inode) struct inode *dir = d_inode(dentry->d_parent); const char * name = dentry->d_name.name; int namelen = dentry->d_name.len; - struct super_block * sb = dir->i_sb; + struct super_block * sb = inode_sb(dir); struct minix_sb_info * sbi = minix_sb(sb); struct page *page = NULL; unsigned long npages = dir_pages(dir); @@ -291,7 +291,7 @@ int minix_delete_entry(struct minix_dir_entry *de, struct page *page) struct inode *inode = page->mapping->host; char *kaddr = page_address(page); loff_t pos = page_offset(page) + (char*)de - kaddr; - st
[PATCH 42/76] fs/isofs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/isofs/dir.c| 2 +- fs/isofs/export.c | 6 +++--- fs/isofs/inode.c | 22 -- fs/isofs/joliet.c | 4 ++-- fs/isofs/namei.c | 4 ++-- fs/isofs/rock.c | 29 +++-- 6 files changed, 35 insertions(+), 32 deletions(-) diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c index 947ce22f5b3c..1d3f1d10bea3 100644 --- a/fs/isofs/dir.c +++ b/fs/isofs/dir.c @@ -93,7 +93,7 @@ static int do_isofs_readdir(struct inode *inode, struct file *file, int first_de = 1; char *p = NULL; /* Quiet GCC */ struct iso_directory_record *de; - struct isofs_sb_info *sbi = ISOFS_SB(inode->i_sb); + struct isofs_sb_info *sbi = ISOFS_SB(inode_sb(inode)); offset = ctx->pos & (bufsize - 1); block = ctx->pos >> bufbits; diff --git a/fs/isofs/export.c b/fs/isofs/export.c index 85a9093769a9..2bb64a3c1130 100644 --- a/fs/isofs/export.c +++ b/fs/isofs/export.c @@ -75,7 +75,7 @@ static struct dentry *isofs_export_get_parent(struct dentry *child) parent_block = e_child_inode->i_iget5_block; /* Get the block in question. */ - bh = sb_bread(child_inode->i_sb, parent_block); + bh = sb_bread(inode_sb(child_inode), parent_block); if (bh == NULL) { rv = ERR_PTR(-EACCES); goto out; @@ -99,8 +99,8 @@ static struct dentry *isofs_export_get_parent(struct dentry *child) /* Normalize */ isofs_normalize_block_and_offset(de, _block, _offset); - rv = d_obtain_alias(isofs_iget(child_inode->i_sb, parent_block, -parent_offset)); + rv = d_obtain_alias(isofs_iget(inode_sb(child_inode), parent_block, + parent_offset)); out: if (bh) brelse(bh); diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index bc258a4402f6..295830250d4b 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c @@ -1090,7 +1090,7 @@ int isofs_get_blocks(struct inode *inode, sector_t iblock, struct inode *ninode; offset += sect_size; - ninode = isofs_iget(inode->i_sb, nextblk, nextoff); + ninode = isofs_iget(inode_sb(inode), nextblk, nextoff); if (IS_ERR(ninode)) { error = PTR_ERR(ninode); goto abort; @@ -1113,9 +1113,11 @@ int isofs_get_blocks(struct inode *inode, sector_t iblock, } if (*bh) { - map_bh(*bh, inode->i_sb, firstext + b_off - offset); + map_bh(*bh, inode_sb(inode), + firstext + b_off - offset); } else { - *bh = sb_getblk(inode->i_sb, firstext+b_off-offset); + *bh = sb_getblk(inode_sb(inode), + firstext+b_off-offset); if (!*bh) goto abort; } @@ -1165,7 +1167,7 @@ struct buffer_head *isofs_bread(struct inode *inode, sector_t block) sector_t blknr = isofs_bmap(inode, block); if (!blknr) return NULL; - return sb_bread(inode->i_sb, blknr); + return sb_bread(inode_sb(inode), blknr); } static int isofs_readpage(struct file *file, struct page *page) @@ -1193,7 +1195,7 @@ static const struct address_space_operations isofs_aops = { static int isofs_read_level3_size(struct inode *inode) { unsigned long bufsize = ISOFS_BUFFER_SIZE(inode); - int high_sierra = ISOFS_SB(inode->i_sb)->s_high_sierra; + int high_sierra = ISOFS_SB(inode_sb(inode))->s_high_sierra; struct buffer_head *bh = NULL; unsigned long block, offset, block_saved, offset_saved; int i = 0; @@ -1217,7 +1219,7 @@ static int isofs_read_level3_size(struct inode *inode) unsigned int de_len; if (!bh) { - bh = sb_bread(inode->i_sb, block); + bh = sb_bread(inode_sb(inode), block); if (!bh) goto out_noread; } @@ -1250,7 +1252,7 @@ static int isofs_read_level3_size(struct inode *inode) brelse(bh); bh = NULL; if (offset) { - bh = sb_bread(inode->i_sb, block); + bh = sb_bread(inode_sb(inode), block); if (!bh) goto out_noread; memcpy((void *)tmpde+slop, bh->b_data, offset); @@ -1295,7 +1297,7 @@ static int isofs_read_level3_size(struct inode *inode) static int isofs_read_inode(struct inode *inode
[PATCH 48/76] fs/minix: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/minix/bitmap.c | 18 ++ fs/minix/dir.c | 18 +- fs/minix/inode.c| 10 +- fs/minix/itree_common.c | 10 +- fs/minix/itree_v1.c | 6 +++--- fs/minix/itree_v2.c | 2 +- fs/minix/minix.h| 2 +- fs/minix/namei.c| 6 +++--- 8 files changed, 37 insertions(+), 35 deletions(-) diff --git a/fs/minix/bitmap.c b/fs/minix/bitmap.c index f4e5e5181a14..c432f181e006 100644 --- a/fs/minix/bitmap.c +++ b/fs/minix/bitmap.c @@ -41,7 +41,7 @@ static __u32 count_free(struct buffer_head *map[], unsigned blocksize, __u32 num void minix_free_block(struct inode *inode, unsigned long block) { - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct minix_sb_info *sbi = minix_sb(sb); struct buffer_head *bh; int k = sb->s_blocksize_bits + 3; @@ -70,8 +70,8 @@ void minix_free_block(struct inode *inode, unsigned long block) int minix_new_block(struct inode * inode) { - struct minix_sb_info *sbi = minix_sb(inode->i_sb); - int bits_per_zone = 8 * inode->i_sb->s_blocksize; + struct minix_sb_info *sbi = minix_sb(inode_sb(inode)); + int bits_per_zone = 8 * inode_sb(inode)->s_blocksize; int i; for (i = 0; i < sbi->s_zmap_blocks; i++) { @@ -161,14 +161,16 @@ static void minix_clear_inode(struct inode *inode) if (INODE_VERSION(inode) == MINIX_V1) { struct minix_inode *raw_inode; - raw_inode = minix_V1_raw_inode(inode->i_sb, inode->i_ino, ); + raw_inode = minix_V1_raw_inode(inode_sb(inode), inode->i_ino, + ); if (raw_inode) { raw_inode->i_nlinks = 0; raw_inode->i_mode = 0; } } else { struct minix2_inode *raw_inode; - raw_inode = minix_V2_raw_inode(inode->i_sb, inode->i_ino, ); + raw_inode = minix_V2_raw_inode(inode_sb(inode), inode->i_ino, + ); if (raw_inode) { raw_inode->i_nlinks = 0; raw_inode->i_mode = 0; @@ -182,8 +184,8 @@ static void minix_clear_inode(struct inode *inode) void minix_free_inode(struct inode * inode) { - struct super_block *sb = inode->i_sb; - struct minix_sb_info *sbi = minix_sb(inode->i_sb); + struct super_block *sb = inode_sb(inode); + struct minix_sb_info *sbi = minix_sb(inode_sb(inode)); struct buffer_head *bh; int k = sb->s_blocksize_bits + 3; unsigned long ino, bit; @@ -212,7 +214,7 @@ void minix_free_inode(struct inode * inode) struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) { - struct super_block *sb = dir->i_sb; + struct super_block *sb = inode_sb(dir); struct minix_sb_info *sbi = minix_sb(sb); struct inode *inode = new_inode(sb); struct buffer_head * bh; diff --git a/fs/minix/dir.c b/fs/minix/dir.c index dcfe5b25378b..ea70fc396293 100644 --- a/fs/minix/dir.c +++ b/fs/minix/dir.c @@ -81,7 +81,7 @@ static inline void *minix_next_entry(void *de, struct minix_sb_info *sbi) static int minix_readdir(struct file *file, struct dir_context *ctx) { struct inode *inode = file_inode(file); - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); struct minix_sb_info *sbi = minix_sb(sb); unsigned chunk_size = sbi->s_dirsize; unsigned long npages = dir_pages(inode); @@ -153,7 +153,7 @@ minix_dirent *minix_find_entry(struct dentry *dentry, struct page **res_page) const char * name = dentry->d_name.name; int namelen = dentry->d_name.len; struct inode * dir = d_inode(dentry->d_parent); - struct super_block * sb = dir->i_sb; + struct super_block * sb = inode_sb(dir); struct minix_sb_info * sbi = minix_sb(sb); unsigned long n; unsigned long npages = dir_pages(dir); @@ -202,7 +202,7 @@ int minix_add_link(struct dentry *dentry, struct inode *inode) struct inode *dir = d_inode(dentry->d_parent); const char * name = dentry->d_name.name; int namelen = dentry->d_name.len; - struct super_block * sb = dir->i_sb; + struct super_block * sb = inode_sb(dir); struct minix_sb_info * sbi = minix_sb(sb); struct page *page = NULL; unsigned long npages = dir_pages(dir); @@ -291,7 +291,7 @@ int minix_delete_entry(struct minix_dir_entry *de, struct page *page) struct inode *inode = page->mapping->host; char *kaddr = page_address(page); loff_t pos = page_offset(page) + (char*)de - kaddr; - struct minix_sb_info *sbi =
[PATCH 42/76] fs/isofs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/isofs/dir.c| 2 +- fs/isofs/export.c | 6 +++--- fs/isofs/inode.c | 22 -- fs/isofs/joliet.c | 4 ++-- fs/isofs/namei.c | 4 ++-- fs/isofs/rock.c | 29 +++-- 6 files changed, 35 insertions(+), 32 deletions(-) diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c index 947ce22f5b3c..1d3f1d10bea3 100644 --- a/fs/isofs/dir.c +++ b/fs/isofs/dir.c @@ -93,7 +93,7 @@ static int do_isofs_readdir(struct inode *inode, struct file *file, int first_de = 1; char *p = NULL; /* Quiet GCC */ struct iso_directory_record *de; - struct isofs_sb_info *sbi = ISOFS_SB(inode->i_sb); + struct isofs_sb_info *sbi = ISOFS_SB(inode_sb(inode)); offset = ctx->pos & (bufsize - 1); block = ctx->pos >> bufbits; diff --git a/fs/isofs/export.c b/fs/isofs/export.c index 85a9093769a9..2bb64a3c1130 100644 --- a/fs/isofs/export.c +++ b/fs/isofs/export.c @@ -75,7 +75,7 @@ static struct dentry *isofs_export_get_parent(struct dentry *child) parent_block = e_child_inode->i_iget5_block; /* Get the block in question. */ - bh = sb_bread(child_inode->i_sb, parent_block); + bh = sb_bread(inode_sb(child_inode), parent_block); if (bh == NULL) { rv = ERR_PTR(-EACCES); goto out; @@ -99,8 +99,8 @@ static struct dentry *isofs_export_get_parent(struct dentry *child) /* Normalize */ isofs_normalize_block_and_offset(de, _block, _offset); - rv = d_obtain_alias(isofs_iget(child_inode->i_sb, parent_block, -parent_offset)); + rv = d_obtain_alias(isofs_iget(inode_sb(child_inode), parent_block, + parent_offset)); out: if (bh) brelse(bh); diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index bc258a4402f6..295830250d4b 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c @@ -1090,7 +1090,7 @@ int isofs_get_blocks(struct inode *inode, sector_t iblock, struct inode *ninode; offset += sect_size; - ninode = isofs_iget(inode->i_sb, nextblk, nextoff); + ninode = isofs_iget(inode_sb(inode), nextblk, nextoff); if (IS_ERR(ninode)) { error = PTR_ERR(ninode); goto abort; @@ -1113,9 +1113,11 @@ int isofs_get_blocks(struct inode *inode, sector_t iblock, } if (*bh) { - map_bh(*bh, inode->i_sb, firstext + b_off - offset); + map_bh(*bh, inode_sb(inode), + firstext + b_off - offset); } else { - *bh = sb_getblk(inode->i_sb, firstext+b_off-offset); + *bh = sb_getblk(inode_sb(inode), + firstext+b_off-offset); if (!*bh) goto abort; } @@ -1165,7 +1167,7 @@ struct buffer_head *isofs_bread(struct inode *inode, sector_t block) sector_t blknr = isofs_bmap(inode, block); if (!blknr) return NULL; - return sb_bread(inode->i_sb, blknr); + return sb_bread(inode_sb(inode), blknr); } static int isofs_readpage(struct file *file, struct page *page) @@ -1193,7 +1195,7 @@ static const struct address_space_operations isofs_aops = { static int isofs_read_level3_size(struct inode *inode) { unsigned long bufsize = ISOFS_BUFFER_SIZE(inode); - int high_sierra = ISOFS_SB(inode->i_sb)->s_high_sierra; + int high_sierra = ISOFS_SB(inode_sb(inode))->s_high_sierra; struct buffer_head *bh = NULL; unsigned long block, offset, block_saved, offset_saved; int i = 0; @@ -1217,7 +1219,7 @@ static int isofs_read_level3_size(struct inode *inode) unsigned int de_len; if (!bh) { - bh = sb_bread(inode->i_sb, block); + bh = sb_bread(inode_sb(inode), block); if (!bh) goto out_noread; } @@ -1250,7 +1252,7 @@ static int isofs_read_level3_size(struct inode *inode) brelse(bh); bh = NULL; if (offset) { - bh = sb_bread(inode->i_sb, block); + bh = sb_bread(inode_sb(inode), block); if (!bh) goto out_noread; memcpy((void *)tmpde+slop, bh->b_data, offset); @@ -1295,7 +1297,7 @@ static int isofs_read_level3_size(struct inode *inode) static int isofs_read_inode(struct inode *inode, int relocated) { - struct
[PATCH 47/76] fs/lockd: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/lockd/svclock.c | 8 fs/lockd/svcsubs.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c index 3701bccab478..d13892c7bd89 100644 --- a/fs/lockd/svclock.c +++ b/fs/lockd/svclock.c @@ -405,7 +405,7 @@ nlmsvc_lock(struct svc_rqst *rqstp, struct nlm_file *file, __be32 ret; dprintk("lockd: nlmsvc_lock(%s/%ld, ty=%d, pi=%d, %Ld-%Ld, bl=%d)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_type, lock->fl.fl_pid, (long long)lock->fl.fl_start, @@ -511,7 +511,7 @@ nlmsvc_testlock(struct svc_rqst *rqstp, struct nlm_file *file, __be32 ret; dprintk("lockd: nlmsvc_testlock(%s/%ld, ty=%d, %Ld-%Ld)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_type, (long long)lock->fl.fl_start, @@ -566,7 +566,7 @@ nlmsvc_unlock(struct net *net, struct nlm_file *file, struct nlm_lock *lock) int error; dprintk("lockd: nlmsvc_unlock(%s/%ld, pi=%d, %Ld-%Ld)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_pid, (long long)lock->fl.fl_start, @@ -595,7 +595,7 @@ nlmsvc_cancel_blocked(struct net *net, struct nlm_file *file, struct nlm_lock *l int status = 0; dprintk("lockd: nlmsvc_cancel(%s/%ld, pi=%d, %Ld-%Ld)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_pid, (long long)lock->fl.fl_start, diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c index 4ec3d6e03e76..d29444c19cdc 100644 --- a/fs/lockd/svcsubs.c +++ b/fs/lockd/svcsubs.c @@ -47,7 +47,7 @@ static inline void nlm_debug_print_file(char *msg, struct nlm_file *file) struct inode *inode = file_inode(file->f_file); dprintk("lockd: %s %s/%ld\n", - msg, inode->i_sb->s_id, inode->i_ino); + msg, inode_sb(inode)->s_id, inode->i_ino); } #else static inline void nlm_debug_print_fh(char *msg, struct nfs_fh *f) @@ -414,7 +414,7 @@ nlmsvc_match_sb(void *datap, struct nlm_file *file) { struct super_block *sb = datap; - return sb == file_inode(file->f_file)->i_sb; + return sb == inode_sb(file_inode(file->f_file)); } /** -- 2.15.1
[PATCH 47/76] fs/lockd: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/lockd/svclock.c | 8 fs/lockd/svcsubs.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c index 3701bccab478..d13892c7bd89 100644 --- a/fs/lockd/svclock.c +++ b/fs/lockd/svclock.c @@ -405,7 +405,7 @@ nlmsvc_lock(struct svc_rqst *rqstp, struct nlm_file *file, __be32 ret; dprintk("lockd: nlmsvc_lock(%s/%ld, ty=%d, pi=%d, %Ld-%Ld, bl=%d)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_type, lock->fl.fl_pid, (long long)lock->fl.fl_start, @@ -511,7 +511,7 @@ nlmsvc_testlock(struct svc_rqst *rqstp, struct nlm_file *file, __be32 ret; dprintk("lockd: nlmsvc_testlock(%s/%ld, ty=%d, %Ld-%Ld)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_type, (long long)lock->fl.fl_start, @@ -566,7 +566,7 @@ nlmsvc_unlock(struct net *net, struct nlm_file *file, struct nlm_lock *lock) int error; dprintk("lockd: nlmsvc_unlock(%s/%ld, pi=%d, %Ld-%Ld)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_pid, (long long)lock->fl.fl_start, @@ -595,7 +595,7 @@ nlmsvc_cancel_blocked(struct net *net, struct nlm_file *file, struct nlm_lock *l int status = 0; dprintk("lockd: nlmsvc_cancel(%s/%ld, pi=%d, %Ld-%Ld)\n", - file_inode(file->f_file)->i_sb->s_id, + inode_sb(file_inode(file->f_file))->s_id, file_inode(file->f_file)->i_ino, lock->fl.fl_pid, (long long)lock->fl.fl_start, diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c index 4ec3d6e03e76..d29444c19cdc 100644 --- a/fs/lockd/svcsubs.c +++ b/fs/lockd/svcsubs.c @@ -47,7 +47,7 @@ static inline void nlm_debug_print_file(char *msg, struct nlm_file *file) struct inode *inode = file_inode(file->f_file); dprintk("lockd: %s %s/%ld\n", - msg, inode->i_sb->s_id, inode->i_ino); + msg, inode_sb(inode)->s_id, inode->i_ino); } #else static inline void nlm_debug_print_fh(char *msg, struct nfs_fh *f) @@ -414,7 +414,7 @@ nlmsvc_match_sb(void *datap, struct nlm_file *file) { struct super_block *sb = datap; - return sb == file_inode(file->f_file)->i_sb; + return sb == inode_sb(file_inode(file->f_file)); } /** -- 2.15.1
[PATCH 49/76] fs/nfsd: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/nfsd/blocklayout.c | 4 ++-- fs/nfsd/export.c | 8 fs/nfsd/nfs4recover.c | 2 +- fs/nfsd/nfsctl.c | 4 ++-- fs/nfsd/nfssvc.c | 5 +++-- fs/nfsd/vfs.c | 8 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/fs/nfsd/blocklayout.c b/fs/nfsd/blocklayout.c index 70b8bf781fce..66fe95fc7966 100644 --- a/fs/nfsd/blocklayout.c +++ b/fs/nfsd/blocklayout.c @@ -24,7 +24,7 @@ nfsd4_block_proc_layoutget(struct inode *inode, const struct svc_fh *fhp, struct nfsd4_layoutget *args) { struct nfsd4_layout_seg *seg = >lg_seg; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); u32 block_size = i_blocksize(inode); struct pnfs_block_extent *bex; struct iomap iomap; @@ -134,7 +134,7 @@ nfsd4_block_commit_blocks(struct inode *inode, struct nfsd4_layoutcommit *lcp, iattr.ia_size = new_size; } - error = inode->i_sb->s_export_op->commit_blocks(inode, iomaps, + error = inode_sb(inode)->s_export_op->commit_blocks(inode, iomaps, nr_iomaps, ); kfree(iomaps); return nfserrno(error); diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 8ceb25a10ea0..bd554e880415 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c @@ -366,15 +366,15 @@ static int check_export(struct inode *inode, int *flags, unsigned char *uuid) * 2: We must be able to find an inode from a filehandle. * This means that s_export_op must be set. */ - if (!(inode->i_sb->s_type->fs_flags & FS_REQUIRES_DEV) && + if (!(inode_sb(inode)->s_type->fs_flags & FS_REQUIRES_DEV) && !(*flags & NFSEXP_FSID) && uuid == NULL) { dprintk("exp_export: export of non-dev fs without fsid\n"); return -EINVAL; } - if (!inode->i_sb->s_export_op || - !inode->i_sb->s_export_op->fh_to_dentry) { + if (!inode_sb(inode)->s_export_op || + !inode_sb(inode)->s_export_op->fh_to_dentry) { dprintk("exp_export: export of invalid fs type.\n"); return -EINVAL; } @@ -895,7 +895,7 @@ exp_rootfh(struct net *net, struct auth_domain *clp, char *name, dprintk("nfsd: exp_rootfh(%s [%p] %s:%s/%ld)\n", name, path.dentry, clp->name, -inode->i_sb->s_id, inode->i_ino); +inode_sb(inode)->s_id, inode->i_ino); exp = exp_parent(cd, clp, ); if (IS_ERR(exp)) { err = PTR_ERR(exp); diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 66eaeb1e8c2c..11d6aeb74bc1 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -716,7 +716,7 @@ cld_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) struct cld_upcall *tmp, *cup; struct cld_msg __user *cmsg = (struct cld_msg __user *)src; uint32_t xid; - struct nfsd_net *nn = net_generic(file_inode(filp)->i_sb->s_fs_info, + struct nfsd_net *nn = net_generic(inode_sb(file_inode(filp))->s_fs_info, nfsd_net_id); struct cld_net *cn = nn->cld_net; diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index d107b4426f7e..4b7473141f2d 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -162,7 +162,7 @@ static const struct file_operations exports_proc_operations = { static int exports_nfsd_open(struct inode *inode, struct file *file) { - return exports_net_open(inode->i_sb->s_fs_info, file); + return exports_net_open(inode_sb(inode)->s_fs_info, file); } static const struct file_operations exports_nfsd_operations = { @@ -231,7 +231,7 @@ static const struct file_operations reply_cache_stats_operations = { static inline struct net *netns(struct file *file) { - return file_inode(file)->i_sb->s_fs_info; + return inode_sb(file_inode(file))->s_fs_info; } /** diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index 89cb484f1cfb..742755f6356a 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c @@ -866,7 +866,8 @@ nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp) int nfsd_pool_stats_open(struct inode *inode, struct file *file) { int ret; - struct nfsd_net *nn = net_generic(inode->i_sb->s_fs_info, nfsd_net_id); + struct nfsd_net *nn = net_generic(inode_sb(inode)->s_fs_info, + nfsd_net_id); mutex_lock(_mutex); if (nn->nfsd_serv == NULL) { @@ -883,7 +884,7 @@ int nfsd_pool_stats_open(struct inode *inode, struct file *file) int nfsd_pool_stats_release(struct inode *inode, struct file *file) { int ret = seq_rel
[PATCH 49/76] fs/nfsd: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/nfsd/blocklayout.c | 4 ++-- fs/nfsd/export.c | 8 fs/nfsd/nfs4recover.c | 2 +- fs/nfsd/nfsctl.c | 4 ++-- fs/nfsd/nfssvc.c | 5 +++-- fs/nfsd/vfs.c | 8 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/fs/nfsd/blocklayout.c b/fs/nfsd/blocklayout.c index 70b8bf781fce..66fe95fc7966 100644 --- a/fs/nfsd/blocklayout.c +++ b/fs/nfsd/blocklayout.c @@ -24,7 +24,7 @@ nfsd4_block_proc_layoutget(struct inode *inode, const struct svc_fh *fhp, struct nfsd4_layoutget *args) { struct nfsd4_layout_seg *seg = >lg_seg; - struct super_block *sb = inode->i_sb; + struct super_block *sb = inode_sb(inode); u32 block_size = i_blocksize(inode); struct pnfs_block_extent *bex; struct iomap iomap; @@ -134,7 +134,7 @@ nfsd4_block_commit_blocks(struct inode *inode, struct nfsd4_layoutcommit *lcp, iattr.ia_size = new_size; } - error = inode->i_sb->s_export_op->commit_blocks(inode, iomaps, + error = inode_sb(inode)->s_export_op->commit_blocks(inode, iomaps, nr_iomaps, ); kfree(iomaps); return nfserrno(error); diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 8ceb25a10ea0..bd554e880415 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c @@ -366,15 +366,15 @@ static int check_export(struct inode *inode, int *flags, unsigned char *uuid) * 2: We must be able to find an inode from a filehandle. * This means that s_export_op must be set. */ - if (!(inode->i_sb->s_type->fs_flags & FS_REQUIRES_DEV) && + if (!(inode_sb(inode)->s_type->fs_flags & FS_REQUIRES_DEV) && !(*flags & NFSEXP_FSID) && uuid == NULL) { dprintk("exp_export: export of non-dev fs without fsid\n"); return -EINVAL; } - if (!inode->i_sb->s_export_op || - !inode->i_sb->s_export_op->fh_to_dentry) { + if (!inode_sb(inode)->s_export_op || + !inode_sb(inode)->s_export_op->fh_to_dentry) { dprintk("exp_export: export of invalid fs type.\n"); return -EINVAL; } @@ -895,7 +895,7 @@ exp_rootfh(struct net *net, struct auth_domain *clp, char *name, dprintk("nfsd: exp_rootfh(%s [%p] %s:%s/%ld)\n", name, path.dentry, clp->name, -inode->i_sb->s_id, inode->i_ino); +inode_sb(inode)->s_id, inode->i_ino); exp = exp_parent(cd, clp, ); if (IS_ERR(exp)) { err = PTR_ERR(exp); diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 66eaeb1e8c2c..11d6aeb74bc1 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -716,7 +716,7 @@ cld_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) struct cld_upcall *tmp, *cup; struct cld_msg __user *cmsg = (struct cld_msg __user *)src; uint32_t xid; - struct nfsd_net *nn = net_generic(file_inode(filp)->i_sb->s_fs_info, + struct nfsd_net *nn = net_generic(inode_sb(file_inode(filp))->s_fs_info, nfsd_net_id); struct cld_net *cn = nn->cld_net; diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index d107b4426f7e..4b7473141f2d 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -162,7 +162,7 @@ static const struct file_operations exports_proc_operations = { static int exports_nfsd_open(struct inode *inode, struct file *file) { - return exports_net_open(inode->i_sb->s_fs_info, file); + return exports_net_open(inode_sb(inode)->s_fs_info, file); } static const struct file_operations exports_nfsd_operations = { @@ -231,7 +231,7 @@ static const struct file_operations reply_cache_stats_operations = { static inline struct net *netns(struct file *file) { - return file_inode(file)->i_sb->s_fs_info; + return inode_sb(file_inode(file))->s_fs_info; } /** diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index 89cb484f1cfb..742755f6356a 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c @@ -866,7 +866,8 @@ nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp) int nfsd_pool_stats_open(struct inode *inode, struct file *file) { int ret; - struct nfsd_net *nn = net_generic(inode->i_sb->s_fs_info, nfsd_net_id); + struct nfsd_net *nn = net_generic(inode_sb(inode)->s_fs_info, + nfsd_net_id); mutex_lock(_mutex); if (nn->nfsd_serv == NULL) { @@ -883,7 +884,7 @@ int nfsd_pool_stats_open(struct inode *inode, struct file *file) int nfsd_pool_stats_release(struct inode *inode, struct file *file) { int ret = seq_release(inode, file); -
[PATCH 51/76] fs/nilfs2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/nilfs2/alloc.c | 10 - fs/nilfs2/bmap.c| 4 ++-- fs/nilfs2/btnode.c | 6 +++--- fs/nilfs2/btree.c | 12 +-- fs/nilfs2/cpfile.c | 6 +++--- fs/nilfs2/dat.c | 2 +- fs/nilfs2/dir.c | 24 ++--- fs/nilfs2/direct.c | 4 ++-- fs/nilfs2/file.c| 19 fs/nilfs2/gcinode.c | 6 +++--- fs/nilfs2/ifile.c | 2 +- fs/nilfs2/inode.c | 62 ++--- fs/nilfs2/ioctl.c | 60 +-- fs/nilfs2/mdt.c | 10 - fs/nilfs2/mdt.h | 2 +- fs/nilfs2/namei.c | 54 +++--- fs/nilfs2/page.c| 2 +- fs/nilfs2/sufile.c | 20 - fs/nilfs2/sufile.h | 2 +- 19 files changed, 154 insertions(+), 153 deletions(-) diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c index 03b8ba933eb2..3b3af2e7b2fb 100644 --- a/fs/nilfs2/alloc.c +++ b/fs/nilfs2/alloc.c @@ -622,7 +622,7 @@ void nilfs_palloc_commit_free_entry(struct inode *inode, lock = nilfs_mdt_bgl_lock(inode, group); if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "%s (ino=%lu): entry number %llu already freed", __func__, inode->i_ino, (unsigned long long)req->pr_entry_nr); @@ -663,7 +663,7 @@ void nilfs_palloc_abort_alloc_entry(struct inode *inode, lock = nilfs_mdt_bgl_lock(inode, group); if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "%s (ino=%lu): entry number %llu already freed", __func__, inode->i_ino, (unsigned long long)req->pr_entry_nr); @@ -772,7 +772,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems) do { if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) { - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "%s (ino=%lu): entry number %llu already freed", __func__, inode->i_ino, (unsigned long long)entry_nrs[j]); @@ -817,7 +817,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems) ret = nilfs_palloc_delete_entry_block(inode, last_nrs[k]); if (ret && ret != -ENOENT) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "error %d deleting block that object (entry=%llu, ino=%lu) belongs to", ret, (unsigned long long)last_nrs[k], inode->i_ino); @@ -835,7 +835,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems) if (nfree == nilfs_palloc_entries_per_group(inode)) { ret = nilfs_palloc_delete_bitmap_block(inode, group); if (ret && ret != -ENOENT) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "error %d deleting bitmap block of group=%lu, ino=%lu", ret, group, inode->i_ino); } diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c index 01fb1831ca25..9d466fb6e65f 100644 --- a/fs/nilfs2/bmap.c +++ b/fs/nilfs2/bmap.c @@ -30,7 +30,7 @@ struct inode *nilfs_bmap_get_dat(const struct nilfs_bmap *bmap) { - struct the_nilfs *nilfs = bmap->b_inode->i_sb->s_fs_info; + struct the_nilfs *nilfs = inode_sb(bmap->b_inode)->s_fs_info; return nilfs->ns_dat; } @@ -41,7 +41,7 @@ static int nilfs_bmap_convert_error(struct nilfs_bmap *bmap, struct inode *inode = bmap->b_inode; if (err == -EINVAL) { - __nilfs_error(inode->i_sb, fname, + __nilfs_error(inode_sb(inode), fname, "broken bmap (inode number=%lu)", inode->i_ino); err = -EIO; } diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index c21e0b4454a6..87bc94f23271 100644 --- a/fs/nil
[PATCH 51/76] fs/nilfs2: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/nilfs2/alloc.c | 10 - fs/nilfs2/bmap.c| 4 ++-- fs/nilfs2/btnode.c | 6 +++--- fs/nilfs2/btree.c | 12 +-- fs/nilfs2/cpfile.c | 6 +++--- fs/nilfs2/dat.c | 2 +- fs/nilfs2/dir.c | 24 ++--- fs/nilfs2/direct.c | 4 ++-- fs/nilfs2/file.c| 19 fs/nilfs2/gcinode.c | 6 +++--- fs/nilfs2/ifile.c | 2 +- fs/nilfs2/inode.c | 62 ++--- fs/nilfs2/ioctl.c | 60 +-- fs/nilfs2/mdt.c | 10 - fs/nilfs2/mdt.h | 2 +- fs/nilfs2/namei.c | 54 +++--- fs/nilfs2/page.c| 2 +- fs/nilfs2/sufile.c | 20 - fs/nilfs2/sufile.h | 2 +- 19 files changed, 154 insertions(+), 153 deletions(-) diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c index 03b8ba933eb2..3b3af2e7b2fb 100644 --- a/fs/nilfs2/alloc.c +++ b/fs/nilfs2/alloc.c @@ -622,7 +622,7 @@ void nilfs_palloc_commit_free_entry(struct inode *inode, lock = nilfs_mdt_bgl_lock(inode, group); if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "%s (ino=%lu): entry number %llu already freed", __func__, inode->i_ino, (unsigned long long)req->pr_entry_nr); @@ -663,7 +663,7 @@ void nilfs_palloc_abort_alloc_entry(struct inode *inode, lock = nilfs_mdt_bgl_lock(inode, group); if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "%s (ino=%lu): entry number %llu already freed", __func__, inode->i_ino, (unsigned long long)req->pr_entry_nr); @@ -772,7 +772,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems) do { if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) { - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "%s (ino=%lu): entry number %llu already freed", __func__, inode->i_ino, (unsigned long long)entry_nrs[j]); @@ -817,7 +817,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems) ret = nilfs_palloc_delete_entry_block(inode, last_nrs[k]); if (ret && ret != -ENOENT) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "error %d deleting block that object (entry=%llu, ino=%lu) belongs to", ret, (unsigned long long)last_nrs[k], inode->i_ino); @@ -835,7 +835,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems) if (nfree == nilfs_palloc_entries_per_group(inode)) { ret = nilfs_palloc_delete_bitmap_block(inode, group); if (ret && ret != -ENOENT) - nilfs_msg(inode->i_sb, KERN_WARNING, + nilfs_msg(inode_sb(inode), KERN_WARNING, "error %d deleting bitmap block of group=%lu, ino=%lu", ret, group, inode->i_ino); } diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c index 01fb1831ca25..9d466fb6e65f 100644 --- a/fs/nilfs2/bmap.c +++ b/fs/nilfs2/bmap.c @@ -30,7 +30,7 @@ struct inode *nilfs_bmap_get_dat(const struct nilfs_bmap *bmap) { - struct the_nilfs *nilfs = bmap->b_inode->i_sb->s_fs_info; + struct the_nilfs *nilfs = inode_sb(bmap->b_inode)->s_fs_info; return nilfs->ns_dat; } @@ -41,7 +41,7 @@ static int nilfs_bmap_convert_error(struct nilfs_bmap *bmap, struct inode *inode = bmap->b_inode; if (err == -EINVAL) { - __nilfs_error(inode->i_sb, fname, + __nilfs_error(inode_sb(inode), fname, "broken bmap (inode number=%lu)", inode->i_ino); err = -EIO; } diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index c21e0b4454a6..87bc94f23271 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c
[PATCH 53/76] fs/ntfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/ntfs/aops.c| 16 ++-- fs/ntfs/bitmap.c | 11 ++- fs/ntfs/dir.c | 10 ++- fs/ntfs/file.c| 30 --- fs/ntfs/inode.c | 231 +- fs/ntfs/inode.h | 2 +- fs/ntfs/logfile.c | 46 ++- fs/ntfs/namei.c | 7 +- 8 files changed, 214 insertions(+), 139 deletions(-) diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c index 3a2e509c77c5..f8817dfdc2b8 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c @@ -1400,14 +1400,16 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) // TODO: Implement and replace this with // return ntfs_write_compressed_block(page); unlock_page(page); - ntfs_error(vi->i_sb, "Writing to compressed files is " + ntfs_error(inode_sb(vi), + "Writing to compressed files is " "not supported yet. Sorry."); return -EOPNOTSUPP; } // TODO: Implement and remove this check. if (NInoNonResident(ni) && NInoSparse(ni)) { unlock_page(page); - ntfs_error(vi->i_sb, "Writing to sparse files is not " + ntfs_error(inode_sb(vi), + "Writing to sparse files is not " "supported yet. Sorry."); return -EOPNOTSUPP; } @@ -1437,7 +1439,7 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) BUG_ON(page_has_buffers(page)); BUG_ON(!PageUptodate(page)); if (unlikely(page->index > 0)) { - ntfs_error(vi->i_sb, "BUG()! page->index (0x%lx) > 0. " + ntfs_error(inode_sb(vi), "BUG()! page->index (0x%lx) > 0. " "Aborting write.", page->index); BUG_ON(PageWriteback(page)); set_page_writeback(page); @@ -1514,7 +1516,8 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) return 0; err_out: if (err == -ENOMEM) { - ntfs_warning(vi->i_sb, "Error allocating memory. Redirtying " + ntfs_warning(inode_sb(vi), + "Error allocating memory. Redirtying " "page so we try again later."); /* * Put the page back on mapping->dirty_pages, but leave its @@ -1523,7 +1526,8 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) redirty_page_for_writepage(wbc, page); err = 0; } else { - ntfs_error(vi->i_sb, "Resident attribute write failed with " + ntfs_error(inode_sb(vi), + "Resident attribute write failed with " "error %i.", err); SetPageError(page); NVolSetErrors(ni->vol); @@ -1735,7 +1739,7 @@ void mark_ntfs_record_dirty(struct page *page, const unsigned int ofs) { BUG_ON(!PageUptodate(page)); end = ofs + ni->itype.index.block_size; - bh_size = VFS_I(ni)->i_sb->s_blocksize; + bh_size = inode_sb(VFS_I(ni))->s_blocksize; spin_lock(>private_lock); if (unlikely(!page_has_buffers(page))) { spin_unlock(>private_lock); diff --git a/fs/ntfs/bitmap.c b/fs/ntfs/bitmap.c index ec130c588d2b..7584c413bdb5 100644 --- a/fs/ntfs/bitmap.c +++ b/fs/ntfs/bitmap.c @@ -75,7 +75,8 @@ int __ntfs_bitmap_set_bits_in_run(struct inode *vi, const s64 start_bit, page = ntfs_map_page(mapping, index); if (IS_ERR(page)) { if (!is_rollback) - ntfs_error(vi->i_sb, "Failed to map first page (error " + ntfs_error(inode_sb(vi), + "Failed to map first page (error " "%li), aborting.", PTR_ERR(page)); return PTR_ERR(page); } @@ -177,15 +178,17 @@ int __ntfs_bitmap_set_bits_in_run(struct inode *vi, const s64 start_bit, pos = 0; if (!pos) { /* Rollback was successful. */ - ntfs_error(vi->i_sb, "Failed to map subsequent page (error " + ntfs_error(inode_sb(vi), + "Failed to map subsequent page (error " "%li), aborting.", PTR_ERR(page)); } else {
[PATCH 53/76] fs/ntfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/ntfs/aops.c| 16 ++-- fs/ntfs/bitmap.c | 11 ++- fs/ntfs/dir.c | 10 ++- fs/ntfs/file.c| 30 --- fs/ntfs/inode.c | 231 +- fs/ntfs/inode.h | 2 +- fs/ntfs/logfile.c | 46 ++- fs/ntfs/namei.c | 7 +- 8 files changed, 214 insertions(+), 139 deletions(-) diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c index 3a2e509c77c5..f8817dfdc2b8 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c @@ -1400,14 +1400,16 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) // TODO: Implement and replace this with // return ntfs_write_compressed_block(page); unlock_page(page); - ntfs_error(vi->i_sb, "Writing to compressed files is " + ntfs_error(inode_sb(vi), + "Writing to compressed files is " "not supported yet. Sorry."); return -EOPNOTSUPP; } // TODO: Implement and remove this check. if (NInoNonResident(ni) && NInoSparse(ni)) { unlock_page(page); - ntfs_error(vi->i_sb, "Writing to sparse files is not " + ntfs_error(inode_sb(vi), + "Writing to sparse files is not " "supported yet. Sorry."); return -EOPNOTSUPP; } @@ -1437,7 +1439,7 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) BUG_ON(page_has_buffers(page)); BUG_ON(!PageUptodate(page)); if (unlikely(page->index > 0)) { - ntfs_error(vi->i_sb, "BUG()! page->index (0x%lx) > 0. " + ntfs_error(inode_sb(vi), "BUG()! page->index (0x%lx) > 0. " "Aborting write.", page->index); BUG_ON(PageWriteback(page)); set_page_writeback(page); @@ -1514,7 +1516,8 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) return 0; err_out: if (err == -ENOMEM) { - ntfs_warning(vi->i_sb, "Error allocating memory. Redirtying " + ntfs_warning(inode_sb(vi), + "Error allocating memory. Redirtying " "page so we try again later."); /* * Put the page back on mapping->dirty_pages, but leave its @@ -1523,7 +1526,8 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) redirty_page_for_writepage(wbc, page); err = 0; } else { - ntfs_error(vi->i_sb, "Resident attribute write failed with " + ntfs_error(inode_sb(vi), + "Resident attribute write failed with " "error %i.", err); SetPageError(page); NVolSetErrors(ni->vol); @@ -1735,7 +1739,7 @@ void mark_ntfs_record_dirty(struct page *page, const unsigned int ofs) { BUG_ON(!PageUptodate(page)); end = ofs + ni->itype.index.block_size; - bh_size = VFS_I(ni)->i_sb->s_blocksize; + bh_size = inode_sb(VFS_I(ni))->s_blocksize; spin_lock(>private_lock); if (unlikely(!page_has_buffers(page))) { spin_unlock(>private_lock); diff --git a/fs/ntfs/bitmap.c b/fs/ntfs/bitmap.c index ec130c588d2b..7584c413bdb5 100644 --- a/fs/ntfs/bitmap.c +++ b/fs/ntfs/bitmap.c @@ -75,7 +75,8 @@ int __ntfs_bitmap_set_bits_in_run(struct inode *vi, const s64 start_bit, page = ntfs_map_page(mapping, index); if (IS_ERR(page)) { if (!is_rollback) - ntfs_error(vi->i_sb, "Failed to map first page (error " + ntfs_error(inode_sb(vi), + "Failed to map first page (error " "%li), aborting.", PTR_ERR(page)); return PTR_ERR(page); } @@ -177,15 +178,17 @@ int __ntfs_bitmap_set_bits_in_run(struct inode *vi, const s64 start_bit, pos = 0; if (!pos) { /* Rollback was successful. */ - ntfs_error(vi->i_sb, "Failed to map subsequent page (error " + ntfs_error(inode_sb(vi), + "Failed to map subsequent page (error " "%li), aborting.", PTR_ERR(page)); } else {
[PATCH 50/76] fs/nfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/nfs/blocklayout/rpc_pipefs.c| 2 +- fs/nfs/callback_proc.c | 4 ++-- fs/nfs/dir.c | 22 +- fs/nfs/export.c| 2 +- fs/nfs/file.c | 4 ++-- fs/nfs/filelayout/filelayout.c | 4 ++-- fs/nfs/flexfilelayout/flexfilelayout.c | 6 ++--- fs/nfs/fscache.c | 2 +- fs/nfs/inode.c | 20 fs/nfs/internal.h | 4 ++-- fs/nfs/nfs42proc.c | 2 +- fs/nfs/nfs4proc.c | 4 ++-- fs/nfs/nfs4trace.h | 36 ++--- fs/nfs/nfstrace.h | 42 +- fs/nfs/pagelist.c | 2 +- fs/nfs/pnfs.c | 2 +- fs/nfs/read.c | 4 ++-- fs/nfs/unlink.c| 6 ++--- 18 files changed, 84 insertions(+), 84 deletions(-) diff --git a/fs/nfs/blocklayout/rpc_pipefs.c b/fs/nfs/blocklayout/rpc_pipefs.c index 9fb067a6f7e0..68a6176a4287 100644 --- a/fs/nfs/blocklayout/rpc_pipefs.c +++ b/fs/nfs/blocklayout/rpc_pipefs.c @@ -112,7 +112,7 @@ bl_resolve_deviceid(struct nfs_server *server, struct pnfs_block_volume *b, static ssize_t bl_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) { - struct nfs_net *nn = net_generic(file_inode(filp)->i_sb->s_fs_info, + struct nfs_net *nn = net_generic(inode_sb(file_inode(filp))->s_fs_info, nfs_net_id); if (mlen != sizeof (struct bl_dev_msg)) diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index a50d7813e3ea..73c5a7baf8a4 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c @@ -133,7 +133,7 @@ static struct inode *nfs_layout_find_inode_by_stateid(struct nfs_client *clp, inode = igrab(lo->plh_inode); if (!inode) continue; - if (!nfs_sb_active(inode->i_sb)) { + if (!nfs_sb_active(inode_sb(inode))) { rcu_read_unlock(); spin_unlock(>cl_lock); iput(inode); @@ -173,7 +173,7 @@ static struct inode *nfs_layout_find_inode_by_fh(struct nfs_client *clp, inode = igrab(lo->plh_inode); if (!inode) continue; - if (!nfs_sb_active(inode->i_sb)) { + if (!nfs_sb_active(inode_sb(inode))) { rcu_read_unlock(); spin_unlock(>cl_lock); iput(inode); diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 2f3f86726f5b..3d150fa56e4f 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1449,7 +1449,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, BUG_ON(d_inode(dentry)); dfprintk(VFS, "NFS: atomic_open(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); err = nfs_check_flags(open_flags); if (err) @@ -1671,7 +1671,7 @@ int nfs_create(struct inode *dir, struct dentry *dentry, int error; dfprintk(VFS, "NFS: create(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); attr.ia_mode = mode; attr.ia_valid = ATTR_MODE; @@ -1698,7 +1698,7 @@ nfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rdev) int status; dfprintk(VFS, "NFS: mknod(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); attr.ia_mode = mode; attr.ia_valid = ATTR_MODE; @@ -1724,7 +1724,7 @@ int nfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) int error; dfprintk(VFS, "NFS: mkdir(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); attr.ia_valid = ATTR_MODE; attr.ia_mode = mode | S_IFDIR; @@ -1752,7 +1752,7 @@ int nfs_rmdir(struct inode *dir, struct dentry *dentry) int error; dfprintk(VFS, "NFS: rmdir(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); trace_nfs_rmdir_enter(dir, dentry); if (d_really_is_positive(dentry))
[PATCH 50/76] fs/nfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/nfs/blocklayout/rpc_pipefs.c| 2 +- fs/nfs/callback_proc.c | 4 ++-- fs/nfs/dir.c | 22 +- fs/nfs/export.c| 2 +- fs/nfs/file.c | 4 ++-- fs/nfs/filelayout/filelayout.c | 4 ++-- fs/nfs/flexfilelayout/flexfilelayout.c | 6 ++--- fs/nfs/fscache.c | 2 +- fs/nfs/inode.c | 20 fs/nfs/internal.h | 4 ++-- fs/nfs/nfs42proc.c | 2 +- fs/nfs/nfs4proc.c | 4 ++-- fs/nfs/nfs4trace.h | 36 ++--- fs/nfs/nfstrace.h | 42 +- fs/nfs/pagelist.c | 2 +- fs/nfs/pnfs.c | 2 +- fs/nfs/read.c | 4 ++-- fs/nfs/unlink.c| 6 ++--- 18 files changed, 84 insertions(+), 84 deletions(-) diff --git a/fs/nfs/blocklayout/rpc_pipefs.c b/fs/nfs/blocklayout/rpc_pipefs.c index 9fb067a6f7e0..68a6176a4287 100644 --- a/fs/nfs/blocklayout/rpc_pipefs.c +++ b/fs/nfs/blocklayout/rpc_pipefs.c @@ -112,7 +112,7 @@ bl_resolve_deviceid(struct nfs_server *server, struct pnfs_block_volume *b, static ssize_t bl_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) { - struct nfs_net *nn = net_generic(file_inode(filp)->i_sb->s_fs_info, + struct nfs_net *nn = net_generic(inode_sb(file_inode(filp))->s_fs_info, nfs_net_id); if (mlen != sizeof (struct bl_dev_msg)) diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index a50d7813e3ea..73c5a7baf8a4 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c @@ -133,7 +133,7 @@ static struct inode *nfs_layout_find_inode_by_stateid(struct nfs_client *clp, inode = igrab(lo->plh_inode); if (!inode) continue; - if (!nfs_sb_active(inode->i_sb)) { + if (!nfs_sb_active(inode_sb(inode))) { rcu_read_unlock(); spin_unlock(>cl_lock); iput(inode); @@ -173,7 +173,7 @@ static struct inode *nfs_layout_find_inode_by_fh(struct nfs_client *clp, inode = igrab(lo->plh_inode); if (!inode) continue; - if (!nfs_sb_active(inode->i_sb)) { + if (!nfs_sb_active(inode_sb(inode))) { rcu_read_unlock(); spin_unlock(>cl_lock); iput(inode); diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 2f3f86726f5b..3d150fa56e4f 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1449,7 +1449,7 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry, BUG_ON(d_inode(dentry)); dfprintk(VFS, "NFS: atomic_open(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); err = nfs_check_flags(open_flags); if (err) @@ -1671,7 +1671,7 @@ int nfs_create(struct inode *dir, struct dentry *dentry, int error; dfprintk(VFS, "NFS: create(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); attr.ia_mode = mode; attr.ia_valid = ATTR_MODE; @@ -1698,7 +1698,7 @@ nfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rdev) int status; dfprintk(VFS, "NFS: mknod(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); attr.ia_mode = mode; attr.ia_valid = ATTR_MODE; @@ -1724,7 +1724,7 @@ int nfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) int error; dfprintk(VFS, "NFS: mkdir(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); attr.ia_valid = ATTR_MODE; attr.ia_mode = mode | S_IFDIR; @@ -1752,7 +1752,7 @@ int nfs_rmdir(struct inode *dir, struct dentry *dentry) int error; dfprintk(VFS, "NFS: rmdir(%s/%lu), %pd\n", - dir->i_sb->s_id, dir->i_ino, dentry); + inode_sb(dir)->s_id, dir->i_ino, dentry); trace_nfs_rmdir_enter(dir, dentry); if (d_really_is_positive(dentry)) { @@ -1821,8 +1821,8
[PATCH 58/76] fs/overlayfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/overlayfs/export.c | 2 +- fs/overlayfs/inode.c | 6 +++--- fs/overlayfs/super.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c index 87bd4148f4fb..41b23510f5b9 100644 --- a/fs/overlayfs/export.c +++ b/fs/overlayfs/export.c @@ -316,7 +316,7 @@ static struct dentry *ovl_obtain_alias(struct super_block *sb, dentry = d_find_any_alias(inode); if (!dentry) { - dentry = d_alloc_anon(inode->i_sb); + dentry = d_alloc_anon(inode_sb(inode)); if (!dentry) goto nomem; oe = ovl_alloc_entry(lower ? 1 : 0); diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index 3b1bd469accd..ebf2a857d547 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -199,7 +199,7 @@ int ovl_permission(struct inode *inode, int mask) if (err) return err; - old_cred = ovl_override_creds(inode->i_sb); + old_cred = ovl_override_creds(inode_sb(inode)); if (!upperinode && !special_file(realinode->i_mode) && mask & MAY_WRITE) { mask &= ~(MAY_WRITE | MAY_APPEND); @@ -342,7 +342,7 @@ struct posix_acl *ovl_get_acl(struct inode *inode, int type) if (!IS_ENABLED(CONFIG_FS_POSIX_ACL) || !IS_POSIXACL(realinode)) return NULL; - old_cred = ovl_override_creds(inode->i_sb); + old_cred = ovl_override_creds(inode_sb(inode)); acl = get_acl(realinode, type); revert_creds(old_cred); @@ -445,7 +445,7 @@ static inline void ovl_lockdep_annotate_inode_mutex_key(struct inode *inode) static struct lock_class_key ovl_i_mutex_dir_key[OVL_MAX_NESTING]; static struct lock_class_key ovl_i_lock_key[OVL_MAX_NESTING]; - int depth = inode->i_sb->s_stack_depth - 1; + int depth = inode_sb(inode)->s_stack_depth - 1; if (WARN_ON_ONCE(depth < 0 || depth >= OVL_MAX_NESTING)) depth = 0; diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index 7c24619ae7fc..bc04230f3ffb 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -127,7 +127,7 @@ static struct dentry *ovl_d_real(struct dentry *dentry, return real; bug: WARN(1, "ovl_d_real(%pd4, %s:%lu): real dentry not found\n", dentry, -inode ? inode->i_sb->s_id : "NULL", inode ? inode->i_ino : 0); +inode ? inode_sb(inode)->s_id : "NULL", inode ? inode->i_ino : 0); return dentry; } -- 2.15.1
[PATCH 58/76] fs/overlayfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/overlayfs/export.c | 2 +- fs/overlayfs/inode.c | 6 +++--- fs/overlayfs/super.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c index 87bd4148f4fb..41b23510f5b9 100644 --- a/fs/overlayfs/export.c +++ b/fs/overlayfs/export.c @@ -316,7 +316,7 @@ static struct dentry *ovl_obtain_alias(struct super_block *sb, dentry = d_find_any_alias(inode); if (!dentry) { - dentry = d_alloc_anon(inode->i_sb); + dentry = d_alloc_anon(inode_sb(inode)); if (!dentry) goto nomem; oe = ovl_alloc_entry(lower ? 1 : 0); diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index 3b1bd469accd..ebf2a857d547 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -199,7 +199,7 @@ int ovl_permission(struct inode *inode, int mask) if (err) return err; - old_cred = ovl_override_creds(inode->i_sb); + old_cred = ovl_override_creds(inode_sb(inode)); if (!upperinode && !special_file(realinode->i_mode) && mask & MAY_WRITE) { mask &= ~(MAY_WRITE | MAY_APPEND); @@ -342,7 +342,7 @@ struct posix_acl *ovl_get_acl(struct inode *inode, int type) if (!IS_ENABLED(CONFIG_FS_POSIX_ACL) || !IS_POSIXACL(realinode)) return NULL; - old_cred = ovl_override_creds(inode->i_sb); + old_cred = ovl_override_creds(inode_sb(inode)); acl = get_acl(realinode, type); revert_creds(old_cred); @@ -445,7 +445,7 @@ static inline void ovl_lockdep_annotate_inode_mutex_key(struct inode *inode) static struct lock_class_key ovl_i_mutex_dir_key[OVL_MAX_NESTING]; static struct lock_class_key ovl_i_lock_key[OVL_MAX_NESTING]; - int depth = inode->i_sb->s_stack_depth - 1; + int depth = inode_sb(inode)->s_stack_depth - 1; if (WARN_ON_ONCE(depth < 0 || depth >= OVL_MAX_NESTING)) depth = 0; diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index 7c24619ae7fc..bc04230f3ffb 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -127,7 +127,7 @@ static struct dentry *ovl_d_real(struct dentry *dentry, return real; bug: WARN(1, "ovl_d_real(%pd4, %s:%lu): real dentry not found\n", dentry, -inode ? inode->i_sb->s_id : "NULL", inode ? inode->i_ino : 0); +inode ? inode_sb(inode)->s_id : "NULL", inode ? inode->i_ino : 0); return dentry; } -- 2.15.1
[PATCH 56/76] fs/openpromfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/openpromfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c index 2200662a9bf1..d1c59e6252c5 100644 --- a/fs/openpromfs/inode.c +++ b/fs/openpromfs/inode.c @@ -229,7 +229,7 @@ static struct dentry *openpromfs_lookup(struct inode *dir, struct dentry *dentry return ERR_PTR(-ENOENT); found: - inode = openprom_iget(dir->i_sb, ino); + inode = openprom_iget(inode_sb(dir), ino); mutex_unlock(_mutex); if (IS_ERR(inode)) return ERR_CAST(inode); -- 2.15.1
[PATCH 56/76] fs/openpromfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/openpromfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c index 2200662a9bf1..d1c59e6252c5 100644 --- a/fs/openpromfs/inode.c +++ b/fs/openpromfs/inode.c @@ -229,7 +229,7 @@ static struct dentry *openpromfs_lookup(struct inode *dir, struct dentry *dentry return ERR_PTR(-ENOENT); found: - inode = openprom_iget(dir->i_sb, ino); + inode = openprom_iget(inode_sb(dir), ino); mutex_unlock(_mutex); if (IS_ERR(inode)) return ERR_CAST(inode); -- 2.15.1
[PATCH 55/76] fs/omfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/omfs/dir.c | 24 fs/omfs/file.c | 37 +++-- fs/omfs/inode.c | 19 ++- 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/fs/omfs/dir.c b/fs/omfs/dir.c index b7146526afff..5a589c5a852f 100644 --- a/fs/omfs/dir.c +++ b/fs/omfs/dir.c @@ -28,7 +28,7 @@ static struct buffer_head *omfs_get_bucket(struct inode *dir, int bucket = omfs_hash(name, namelen, nbuckets); *ofs = OMFS_DIR_START + bucket * 8; - return omfs_bread(dir->i_sb, dir->i_ino); + return omfs_bread(inode_sb(dir), dir->i_ino); } static struct buffer_head *omfs_scan_list(struct inode *dir, u64 block, @@ -41,14 +41,14 @@ static struct buffer_head *omfs_scan_list(struct inode *dir, u64 block, *prev_block = ~0; while (block != ~0) { - bh = omfs_bread(dir->i_sb, block); + bh = omfs_bread(inode_sb(dir), block); if (!bh) { err = -EIO; goto err; } oi = (struct omfs_inode *) bh->b_data; - if (omfs_is_bad(OMFS_SB(dir->i_sb), >i_head, block)) { + if (omfs_is_bad(OMFS_SB(inode_sb(dir)), >i_head, block)) { brelse(bh); goto err; } @@ -131,7 +131,7 @@ static int omfs_add_link(struct dentry *dentry, struct inode *inode) brelse(bh); /* now set the sibling and parent pointers on the new inode */ - bh = omfs_bread(dir->i_sb, inode->i_ino); + bh = omfs_bread(inode_sb(dir), inode->i_ino); if (!bh) goto out; @@ -187,7 +187,7 @@ static int omfs_delete_entry(struct dentry *dentry) if (prev != ~0) { /* found in middle of list, get list ptr */ brelse(bh); - bh = omfs_bread(dir->i_sb, prev); + bh = omfs_bread(inode_sb(dir), prev); if (!bh) goto out; @@ -199,7 +199,7 @@ static int omfs_delete_entry(struct dentry *dentry) mark_buffer_dirty(bh); if (prev != ~0) { - dirty = omfs_iget(dir->i_sb, prev); + dirty = omfs_iget(inode_sb(dir), prev); if (!IS_ERR(dirty)) { mark_inode_dirty(dirty); iput(dirty); @@ -220,7 +220,7 @@ static int omfs_dir_is_empty(struct inode *inode) u64 *ptr; int i; - bh = omfs_bread(inode->i_sb, inode->i_ino); + bh = omfs_bread(inode_sb(inode), inode->i_ino); if (!bh) return 0; @@ -263,7 +263,7 @@ static int omfs_add_node(struct inode *dir, struct dentry *dentry, umode_t mode) if (IS_ERR(inode)) return PTR_ERR(inode); - err = omfs_make_empty(inode, dir->i_sb); + err = omfs_make_empty(inode, inode_sb(dir)); if (err) goto out_free_inode; @@ -304,7 +304,7 @@ static struct dentry *omfs_lookup(struct inode *dir, struct dentry *dentry, struct omfs_inode *oi = (struct omfs_inode *)bh->b_data; ino_t ino = be64_to_cpu(oi->i_head.h_self); brelse(bh); - inode = omfs_iget(dir->i_sb, ino); + inode = omfs_iget(inode_sb(dir), ino); if (IS_ERR(inode)) return ERR_CAST(inode); } @@ -332,7 +332,7 @@ static bool omfs_fill_chain(struct inode *dir, struct dir_context *ctx, { /* follow chain in this bucket */ while (fsblock != ~0) { - struct buffer_head *bh = omfs_bread(dir->i_sb, fsblock); + struct buffer_head *bh = omfs_bread(inode_sb(dir), fsblock); struct omfs_inode *oi; u64 self; unsigned char d_type; @@ -341,7 +341,7 @@ static bool omfs_fill_chain(struct inode *dir, struct dir_context *ctx, return true; oi = (struct omfs_inode *) bh->b_data; - if (omfs_is_bad(OMFS_SB(dir->i_sb), >i_head, fsblock)) { + if (omfs_is_bad(OMFS_SB(inode_sb(dir)), >i_head, fsblock)) { brelse(bh); return true; } @@ -428,7 +428,7 @@ static int omfs_readdir(struct file *file, struct dir_context *ctx) hchain = (ctx->pos >> 20) - 1; hindex = ctx->pos & 0xf; - bh = omfs_bread(dir->i_sb, dir->i_ino); + bh = omfs_bread(inode_sb(dir), dir->i_ino); if (!bh) return -EINVAL; diff --git a/fs/omfs/file.c b/fs/omfs/file.c index bf83e6644333..a714a3ba6d6a 100644 --- a/fs/omfs/file.c +++ b/fs/omfs/file.c @@ -30,7 +30,7 @@ void omfs_make_empty_table(struct buffer_head *bh, int offset) int omfs_sh
[PATCH 55/76] fs/omfs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/omfs/dir.c | 24 fs/omfs/file.c | 37 +++-- fs/omfs/inode.c | 19 ++- 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/fs/omfs/dir.c b/fs/omfs/dir.c index b7146526afff..5a589c5a852f 100644 --- a/fs/omfs/dir.c +++ b/fs/omfs/dir.c @@ -28,7 +28,7 @@ static struct buffer_head *omfs_get_bucket(struct inode *dir, int bucket = omfs_hash(name, namelen, nbuckets); *ofs = OMFS_DIR_START + bucket * 8; - return omfs_bread(dir->i_sb, dir->i_ino); + return omfs_bread(inode_sb(dir), dir->i_ino); } static struct buffer_head *omfs_scan_list(struct inode *dir, u64 block, @@ -41,14 +41,14 @@ static struct buffer_head *omfs_scan_list(struct inode *dir, u64 block, *prev_block = ~0; while (block != ~0) { - bh = omfs_bread(dir->i_sb, block); + bh = omfs_bread(inode_sb(dir), block); if (!bh) { err = -EIO; goto err; } oi = (struct omfs_inode *) bh->b_data; - if (omfs_is_bad(OMFS_SB(dir->i_sb), >i_head, block)) { + if (omfs_is_bad(OMFS_SB(inode_sb(dir)), >i_head, block)) { brelse(bh); goto err; } @@ -131,7 +131,7 @@ static int omfs_add_link(struct dentry *dentry, struct inode *inode) brelse(bh); /* now set the sibling and parent pointers on the new inode */ - bh = omfs_bread(dir->i_sb, inode->i_ino); + bh = omfs_bread(inode_sb(dir), inode->i_ino); if (!bh) goto out; @@ -187,7 +187,7 @@ static int omfs_delete_entry(struct dentry *dentry) if (prev != ~0) { /* found in middle of list, get list ptr */ brelse(bh); - bh = omfs_bread(dir->i_sb, prev); + bh = omfs_bread(inode_sb(dir), prev); if (!bh) goto out; @@ -199,7 +199,7 @@ static int omfs_delete_entry(struct dentry *dentry) mark_buffer_dirty(bh); if (prev != ~0) { - dirty = omfs_iget(dir->i_sb, prev); + dirty = omfs_iget(inode_sb(dir), prev); if (!IS_ERR(dirty)) { mark_inode_dirty(dirty); iput(dirty); @@ -220,7 +220,7 @@ static int omfs_dir_is_empty(struct inode *inode) u64 *ptr; int i; - bh = omfs_bread(inode->i_sb, inode->i_ino); + bh = omfs_bread(inode_sb(inode), inode->i_ino); if (!bh) return 0; @@ -263,7 +263,7 @@ static int omfs_add_node(struct inode *dir, struct dentry *dentry, umode_t mode) if (IS_ERR(inode)) return PTR_ERR(inode); - err = omfs_make_empty(inode, dir->i_sb); + err = omfs_make_empty(inode, inode_sb(dir)); if (err) goto out_free_inode; @@ -304,7 +304,7 @@ static struct dentry *omfs_lookup(struct inode *dir, struct dentry *dentry, struct omfs_inode *oi = (struct omfs_inode *)bh->b_data; ino_t ino = be64_to_cpu(oi->i_head.h_self); brelse(bh); - inode = omfs_iget(dir->i_sb, ino); + inode = omfs_iget(inode_sb(dir), ino); if (IS_ERR(inode)) return ERR_CAST(inode); } @@ -332,7 +332,7 @@ static bool omfs_fill_chain(struct inode *dir, struct dir_context *ctx, { /* follow chain in this bucket */ while (fsblock != ~0) { - struct buffer_head *bh = omfs_bread(dir->i_sb, fsblock); + struct buffer_head *bh = omfs_bread(inode_sb(dir), fsblock); struct omfs_inode *oi; u64 self; unsigned char d_type; @@ -341,7 +341,7 @@ static bool omfs_fill_chain(struct inode *dir, struct dir_context *ctx, return true; oi = (struct omfs_inode *) bh->b_data; - if (omfs_is_bad(OMFS_SB(dir->i_sb), >i_head, fsblock)) { + if (omfs_is_bad(OMFS_SB(inode_sb(dir)), >i_head, fsblock)) { brelse(bh); return true; } @@ -428,7 +428,7 @@ static int omfs_readdir(struct file *file, struct dir_context *ctx) hchain = (ctx->pos >> 20) - 1; hindex = ctx->pos & 0xf; - bh = omfs_bread(dir->i_sb, dir->i_ino); + bh = omfs_bread(inode_sb(dir), dir->i_ino); if (!bh) return -EINVAL; diff --git a/fs/omfs/file.c b/fs/omfs/file.c index bf83e6644333..a714a3ba6d6a 100644 --- a/fs/omfs/file.c +++ b/fs/omfs/file.c @@ -30,7 +30,7 @@ void omfs_make_empty_table(struct buffer_head *bh, int offset) int omfs_shrink_inode(struct inode
[PATCH 60/76] fs/qnx4: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/qnx4/dir.c | 2 +- fs/qnx4/inode.c | 4 ++-- fs/qnx4/namei.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/qnx4/dir.c b/fs/qnx4/dir.c index a6ee23aadd28..c0e764ce79dd 100644 --- a/fs/qnx4/dir.c +++ b/fs/qnx4/dir.c @@ -31,7 +31,7 @@ static int qnx4_readdir(struct file *file, struct dir_context *ctx) while (ctx->pos < inode->i_size) { blknum = qnx4_block_map(inode, ctx->pos >> QNX4_BLOCK_SIZE_BITS); - bh = sb_bread(inode->i_sb, blknum); + bh = sb_bread(inode_sb(inode), blknum); if (bh == NULL) { printk(KERN_ERR "qnx4_readdir: bread failed (%ld)\n", blknum); return 0; diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 3d46fe302fcb..2b5e5b18e084 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c @@ -60,7 +60,7 @@ static int qnx4_get_block( struct inode *inode, sector_t iblock, struct buffer_h phys = qnx4_block_map( inode, iblock ); if ( phys ) { // logical block is before EOF - map_bh(bh, inode->i_sb, phys); + map_bh(bh, inode_sb(inode), phys); } return 0; } @@ -94,7 +94,7 @@ unsigned long qnx4_block_map( struct inode *inode, long iblock ) while ( --nxtnt > 0 ) { if ( ix == 0 ) { // read next xtnt block. - bh = sb_bread(inode->i_sb, i_xblk - 1); + bh = sb_bread(inode_sb(inode), i_xblk - 1); if ( !bh ) { QNX4DEBUG((KERN_ERR "qnx4: I/O error reading xtnt block [%ld])\n", i_xblk - 1)); return -EIO; diff --git a/fs/qnx4/namei.c b/fs/qnx4/namei.c index eca27878079d..3a84a8f6c6a7 100644 --- a/fs/qnx4/namei.c +++ b/fs/qnx4/namei.c @@ -67,7 +67,7 @@ static struct buffer_head *qnx4_find_entry(int len, struct inode *dir, if (!bh) { block = qnx4_block_map(dir, blkofs); if (block) - bh = sb_bread(dir->i_sb, block); + bh = sb_bread(inode_sb(dir), block); if (!bh) { blkofs++; continue; @@ -113,7 +113,7 @@ struct dentry * qnx4_lookup(struct inode *dir, struct dentry *dentry, unsigned i } brelse(bh); - foundinode = qnx4_iget(dir->i_sb, ino); + foundinode = qnx4_iget(inode_sb(dir), ino); if (IS_ERR(foundinode)) { QNX4DEBUG((KERN_ERR "qnx4: lookup->iget -> error %ld\n", PTR_ERR(foundinode))); -- 2.15.1
[PATCH 59/76] fs/proc: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/proc/array.c | 2 +- fs/proc/base.c| 22 -- fs/proc/fd.c | 4 ++-- fs/proc/generic.c | 2 +- fs/proc/namespaces.c | 2 +- fs/proc/nommu.c | 2 +- fs/proc/proc_sysctl.c | 4 ++-- fs/proc/self.c| 2 +- fs/proc/task_mmu.c| 2 +- fs/proc/task_nommu.c | 2 +- fs/proc/thread_self.c | 2 +- 11 files changed, 24 insertions(+), 22 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c index 598803576e4c..e7a668a89caf 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -687,7 +687,7 @@ static int children_seq_show(struct seq_file *seq, void *v) struct inode *inode = seq->private; pid_t pid; - pid = pid_nr_ns(v, inode->i_sb->s_fs_info); + pid = pid_nr_ns(v, inode_sb(inode)->s_fs_info); seq_printf(seq, "%d ", pid); return 0; diff --git a/fs/proc/base.c b/fs/proc/base.c index 9298324325ed..a39fdd56f5d9 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -698,7 +698,7 @@ static bool has_pid_permissions(struct pid_namespace *pid, static int proc_pid_permission(struct inode *inode, int mask) { - struct pid_namespace *pid = inode->i_sb->s_fs_info; + struct pid_namespace *pid = inode_sb(inode)->s_fs_info; struct task_struct *task; bool has_perms; @@ -738,7 +738,7 @@ static int proc_single_show(struct seq_file *m, void *v) struct task_struct *task; int ret; - ns = inode->i_sb->s_fs_info; + ns = inode_sb(inode)->s_fs_info; pid = proc_pid(inode); task = get_pid_task(pid, PIDTYPE_PID); if (!task) @@ -1410,7 +1410,7 @@ static const struct file_operations proc_fail_nth_operations = { static int sched_show(struct seq_file *m, void *v) { struct inode *inode = m->private; - struct pid_namespace *ns = inode->i_sb->s_fs_info; + struct pid_namespace *ns = inode_sb(inode)->s_fs_info; struct task_struct *p; p = get_proc_task(inode); @@ -2065,7 +2065,7 @@ proc_map_files_instantiate(struct inode *dir, struct dentry *dentry, struct proc_inode *ei; struct inode *inode; - inode = proc_pid_make_inode(dir->i_sb, task, S_IFLNK | + inode = proc_pid_make_inode(inode_sb(dir), task, S_IFLNK | ((mode & FMODE_READ ) ? S_IRUSR : 0) | ((mode & FMODE_WRITE) ? S_IWUSR : 0)); if (!inode) @@ -2327,7 +2327,7 @@ static int proc_timers_open(struct inode *inode, struct file *file) return -ENOMEM; tp->pid = proc_pid(inode); - tp->ns = inode->i_sb->s_fs_info; + tp->ns = inode_sb(inode)->s_fs_info; return 0; } @@ -2432,7 +2432,7 @@ static int proc_pident_instantiate(struct inode *dir, struct inode *inode; struct proc_inode *ei; - inode = proc_pid_make_inode(dir->i_sb, task, p->mode); + inode = proc_pid_make_inode(inode_sb(dir), task, p->mode); if (!inode) goto out; @@ -3137,7 +3137,8 @@ static int proc_pid_instantiate(struct inode *dir, { struct inode *inode; - inode = proc_pid_make_inode(dir->i_sb, task, S_IFDIR | S_IRUGO | S_IXUGO); + inode = proc_pid_make_inode(inode_sb(dir), task, + S_IFDIR | S_IRUGO | S_IXUGO); if (!inode) goto out; @@ -3232,7 +3233,7 @@ static struct tgid_iter next_tgid(struct pid_namespace *ns, struct tgid_iter ite int proc_pid_readdir(struct file *file, struct dir_context *ctx) { struct tgid_iter iter; - struct pid_namespace *ns = file_inode(file)->i_sb->s_fs_info; + struct pid_namespace *ns = inode_sb(file_inode(file))->s_fs_info; loff_t pos = ctx->pos; if (pos >= PID_MAX_LIMIT + TGID_OFFSET) @@ -3435,7 +3436,8 @@ static int proc_task_instantiate(struct inode *dir, struct dentry *dentry, struct task_struct *task, const void *ptr) { struct inode *inode; - inode = proc_pid_make_inode(dir->i_sb, task, S_IFDIR | S_IRUGO | S_IXUGO); + inode = proc_pid_make_inode(inode_sb(dir), task, + S_IFDIR | S_IRUGO | S_IXUGO); if (!inode) goto out; @@ -3584,7 +3586,7 @@ static int proc_task_readdir(struct file *file, struct dir_context *ctx) /* f_version caches the tgid value that the last readdir call couldn't * return. lseek aka telldir automagically resets f_version to 0. */ - ns = inode->i_sb->s_fs_info; + ns = inode_sb(inode)->s_fs_info; tid = (int)file->f_version; file->f_version = 0; for (task = first_tid(proc_pid(inode), tid, ctx->pos - 2, ns); diff --git a/fs/proc/fd.c b/fs/proc/fd.c index 6b80cd1e419a..818f
[PATCH 59/76] fs/proc: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/proc/array.c | 2 +- fs/proc/base.c| 22 -- fs/proc/fd.c | 4 ++-- fs/proc/generic.c | 2 +- fs/proc/namespaces.c | 2 +- fs/proc/nommu.c | 2 +- fs/proc/proc_sysctl.c | 4 ++-- fs/proc/self.c| 2 +- fs/proc/task_mmu.c| 2 +- fs/proc/task_nommu.c | 2 +- fs/proc/thread_self.c | 2 +- 11 files changed, 24 insertions(+), 22 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c index 598803576e4c..e7a668a89caf 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -687,7 +687,7 @@ static int children_seq_show(struct seq_file *seq, void *v) struct inode *inode = seq->private; pid_t pid; - pid = pid_nr_ns(v, inode->i_sb->s_fs_info); + pid = pid_nr_ns(v, inode_sb(inode)->s_fs_info); seq_printf(seq, "%d ", pid); return 0; diff --git a/fs/proc/base.c b/fs/proc/base.c index 9298324325ed..a39fdd56f5d9 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -698,7 +698,7 @@ static bool has_pid_permissions(struct pid_namespace *pid, static int proc_pid_permission(struct inode *inode, int mask) { - struct pid_namespace *pid = inode->i_sb->s_fs_info; + struct pid_namespace *pid = inode_sb(inode)->s_fs_info; struct task_struct *task; bool has_perms; @@ -738,7 +738,7 @@ static int proc_single_show(struct seq_file *m, void *v) struct task_struct *task; int ret; - ns = inode->i_sb->s_fs_info; + ns = inode_sb(inode)->s_fs_info; pid = proc_pid(inode); task = get_pid_task(pid, PIDTYPE_PID); if (!task) @@ -1410,7 +1410,7 @@ static const struct file_operations proc_fail_nth_operations = { static int sched_show(struct seq_file *m, void *v) { struct inode *inode = m->private; - struct pid_namespace *ns = inode->i_sb->s_fs_info; + struct pid_namespace *ns = inode_sb(inode)->s_fs_info; struct task_struct *p; p = get_proc_task(inode); @@ -2065,7 +2065,7 @@ proc_map_files_instantiate(struct inode *dir, struct dentry *dentry, struct proc_inode *ei; struct inode *inode; - inode = proc_pid_make_inode(dir->i_sb, task, S_IFLNK | + inode = proc_pid_make_inode(inode_sb(dir), task, S_IFLNK | ((mode & FMODE_READ ) ? S_IRUSR : 0) | ((mode & FMODE_WRITE) ? S_IWUSR : 0)); if (!inode) @@ -2327,7 +2327,7 @@ static int proc_timers_open(struct inode *inode, struct file *file) return -ENOMEM; tp->pid = proc_pid(inode); - tp->ns = inode->i_sb->s_fs_info; + tp->ns = inode_sb(inode)->s_fs_info; return 0; } @@ -2432,7 +2432,7 @@ static int proc_pident_instantiate(struct inode *dir, struct inode *inode; struct proc_inode *ei; - inode = proc_pid_make_inode(dir->i_sb, task, p->mode); + inode = proc_pid_make_inode(inode_sb(dir), task, p->mode); if (!inode) goto out; @@ -3137,7 +3137,8 @@ static int proc_pid_instantiate(struct inode *dir, { struct inode *inode; - inode = proc_pid_make_inode(dir->i_sb, task, S_IFDIR | S_IRUGO | S_IXUGO); + inode = proc_pid_make_inode(inode_sb(dir), task, + S_IFDIR | S_IRUGO | S_IXUGO); if (!inode) goto out; @@ -3232,7 +3233,7 @@ static struct tgid_iter next_tgid(struct pid_namespace *ns, struct tgid_iter ite int proc_pid_readdir(struct file *file, struct dir_context *ctx) { struct tgid_iter iter; - struct pid_namespace *ns = file_inode(file)->i_sb->s_fs_info; + struct pid_namespace *ns = inode_sb(file_inode(file))->s_fs_info; loff_t pos = ctx->pos; if (pos >= PID_MAX_LIMIT + TGID_OFFSET) @@ -3435,7 +3436,8 @@ static int proc_task_instantiate(struct inode *dir, struct dentry *dentry, struct task_struct *task, const void *ptr) { struct inode *inode; - inode = proc_pid_make_inode(dir->i_sb, task, S_IFDIR | S_IRUGO | S_IXUGO); + inode = proc_pid_make_inode(inode_sb(dir), task, + S_IFDIR | S_IRUGO | S_IXUGO); if (!inode) goto out; @@ -3584,7 +3586,7 @@ static int proc_task_readdir(struct file *file, struct dir_context *ctx) /* f_version caches the tgid value that the last readdir call couldn't * return. lseek aka telldir automagically resets f_version to 0. */ - ns = inode->i_sb->s_fs_info; + ns = inode_sb(inode)->s_fs_info; tid = (int)file->f_version; file->f_version = 0; for (task = first_tid(proc_pid(inode), tid, ctx->pos - 2, ns); diff --git a/fs/proc/fd.c b/fs/proc/fd.c index 6b80cd1e419a..818fe341c3e7 100644 --- a/fs/proc/fd.
[PATCH 60/76] fs/qnx4: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/qnx4/dir.c | 2 +- fs/qnx4/inode.c | 4 ++-- fs/qnx4/namei.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/qnx4/dir.c b/fs/qnx4/dir.c index a6ee23aadd28..c0e764ce79dd 100644 --- a/fs/qnx4/dir.c +++ b/fs/qnx4/dir.c @@ -31,7 +31,7 @@ static int qnx4_readdir(struct file *file, struct dir_context *ctx) while (ctx->pos < inode->i_size) { blknum = qnx4_block_map(inode, ctx->pos >> QNX4_BLOCK_SIZE_BITS); - bh = sb_bread(inode->i_sb, blknum); + bh = sb_bread(inode_sb(inode), blknum); if (bh == NULL) { printk(KERN_ERR "qnx4_readdir: bread failed (%ld)\n", blknum); return 0; diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 3d46fe302fcb..2b5e5b18e084 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c @@ -60,7 +60,7 @@ static int qnx4_get_block( struct inode *inode, sector_t iblock, struct buffer_h phys = qnx4_block_map( inode, iblock ); if ( phys ) { // logical block is before EOF - map_bh(bh, inode->i_sb, phys); + map_bh(bh, inode_sb(inode), phys); } return 0; } @@ -94,7 +94,7 @@ unsigned long qnx4_block_map( struct inode *inode, long iblock ) while ( --nxtnt > 0 ) { if ( ix == 0 ) { // read next xtnt block. - bh = sb_bread(inode->i_sb, i_xblk - 1); + bh = sb_bread(inode_sb(inode), i_xblk - 1); if ( !bh ) { QNX4DEBUG((KERN_ERR "qnx4: I/O error reading xtnt block [%ld])\n", i_xblk - 1)); return -EIO; diff --git a/fs/qnx4/namei.c b/fs/qnx4/namei.c index eca27878079d..3a84a8f6c6a7 100644 --- a/fs/qnx4/namei.c +++ b/fs/qnx4/namei.c @@ -67,7 +67,7 @@ static struct buffer_head *qnx4_find_entry(int len, struct inode *dir, if (!bh) { block = qnx4_block_map(dir, blkofs); if (block) - bh = sb_bread(dir->i_sb, block); + bh = sb_bread(inode_sb(dir), block); if (!bh) { blkofs++; continue; @@ -113,7 +113,7 @@ struct dentry * qnx4_lookup(struct inode *dir, struct dentry *dentry, unsigned i } brelse(bh); - foundinode = qnx4_iget(dir->i_sb, ino); + foundinode = qnx4_iget(inode_sb(dir), ino); if (IS_ERR(foundinode)) { QNX4DEBUG((KERN_ERR "qnx4: lookup->iget -> error %ld\n", PTR_ERR(foundinode))); -- 2.15.1
[PATCH 57/76] fs/orangefs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh <mfas...@suse.de> --- fs/orangefs/file.c| 2 +- fs/orangefs/namei.c | 12 fs/orangefs/orangefs-kernel.h | 8 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/fs/orangefs/file.c b/fs/orangefs/file.c index 0d228cd087e6..123a0c5b4a22 100644 --- a/fs/orangefs/file.c +++ b/fs/orangefs/file.c @@ -722,7 +722,7 @@ static int orangefs_lock(struct file *filp, int cmd, struct file_lock *fl) { int rc = -EINVAL; - if (ORANGEFS_SB(file_inode(filp)->i_sb)->flags & ORANGEFS_OPT_LOCAL_LOCK) { + if (ORANGEFS_SB(inode_sb(file_inode(filp)))->flags & ORANGEFS_OPT_LOCAL_LOCK) { if (cmd == F_GETLK) { rc = 0; posix_test_lock(filp, fl); diff --git a/fs/orangefs/namei.c b/fs/orangefs/namei.c index 6e3134e6d98a..79b76f8f0ba8 100644 --- a/fs/orangefs/namei.c +++ b/fs/orangefs/namei.c @@ -60,7 +60,8 @@ static int orangefs_create(struct inode *dir, ref = new_op->downcall.resp.create.refn; op_release(new_op); - inode = orangefs_new_inode(dir->i_sb, dir, S_IFREG | mode, 0, ); + inode = orangefs_new_inode(inode_sb(dir), dir, S_IFREG | mode, 0, + ); if (IS_ERR(inode)) { gossip_err("%s: Failed to allocate inode for file :%pd:\n", __func__, @@ -192,7 +193,8 @@ static struct dentry *orangefs_lookup(struct inode *dir, struct dentry *dentry, orangefs_set_timeout(dentry); - inode = orangefs_iget(dir->i_sb, _op->downcall.resp.lookup.refn); + inode = orangefs_iget(inode_sb(dir), + _op->downcall.resp.lookup.refn); if (IS_ERR(inode)) { gossip_debug(GOSSIP_NAME_DEBUG, "error %ld from iget\n", PTR_ERR(inode)); @@ -320,7 +322,8 @@ static int orangefs_symlink(struct inode *dir, ref = new_op->downcall.resp.sym.refn; op_release(new_op); - inode = orangefs_new_inode(dir->i_sb, dir, S_IFLNK | mode, 0, ); + inode = orangefs_new_inode(inode_sb(dir), dir, S_IFLNK | mode, 0, + ); if (IS_ERR(inode)) { gossip_err ("*** Failed to allocate orangefs symlink inode\n"); @@ -391,7 +394,8 @@ static int orangefs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode ref = new_op->downcall.resp.mkdir.refn; op_release(new_op); - inode = orangefs_new_inode(dir->i_sb, dir, S_IFDIR | mode, 0, ); + inode = orangefs_new_inode(inode_sb(dir), dir, S_IFDIR | mode, 0, + ); if (IS_ERR(inode)) { gossip_err("*** Failed to allocate orangefs dir inode\n"); ret = PTR_ERR(inode); diff --git a/fs/orangefs/orangefs-kernel.h b/fs/orangefs/orangefs-kernel.h index eebbaece85ef..c006a3f6dedd 100644 --- a/fs/orangefs/orangefs-kernel.h +++ b/fs/orangefs/orangefs-kernel.h @@ -325,11 +325,11 @@ static inline int is_root_handle(struct inode *inode) gossip_debug(GOSSIP_DCACHE_DEBUG, "%s: root handle: %pU, this handle: %pU:\n", __func__, -_SB(inode->i_sb)->root_khandle, +_SB(inode_sb(inode))->root_khandle, get_khandle_from_ino(inode)); - if (ORANGEFS_khandle_cmp(&(ORANGEFS_SB(inode->i_sb)->root_khandle), -get_khandle_from_ino(inode))) + if (ORANGEFS_khandle_cmp(&(ORANGEFS_SB(inode_sb(inode))->root_khandle), +get_khandle_from_ino(inode))) return 0; else return 1; @@ -513,7 +513,7 @@ int service_operation(struct orangefs_kernel_op_s *op, int flags); #define get_interruptible_flag(inode) \ - ((ORANGEFS_SB(inode->i_sb)->flags & ORANGEFS_OPT_INTR) ? \ + ((ORANGEFS_SB(inode_sb(inode))->flags & ORANGEFS_OPT_INTR) ? \ ORANGEFS_OP_INTERRUPTIBLE : 0) #define fill_default_sys_attrs(sys_attr, type, mode) \ -- 2.15.1
[PATCH 57/76] fs/orangefs: Use inode_sb() helper instead of inode->i_sb
Signed-off-by: Mark Fasheh --- fs/orangefs/file.c| 2 +- fs/orangefs/namei.c | 12 fs/orangefs/orangefs-kernel.h | 8 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/fs/orangefs/file.c b/fs/orangefs/file.c index 0d228cd087e6..123a0c5b4a22 100644 --- a/fs/orangefs/file.c +++ b/fs/orangefs/file.c @@ -722,7 +722,7 @@ static int orangefs_lock(struct file *filp, int cmd, struct file_lock *fl) { int rc = -EINVAL; - if (ORANGEFS_SB(file_inode(filp)->i_sb)->flags & ORANGEFS_OPT_LOCAL_LOCK) { + if (ORANGEFS_SB(inode_sb(file_inode(filp)))->flags & ORANGEFS_OPT_LOCAL_LOCK) { if (cmd == F_GETLK) { rc = 0; posix_test_lock(filp, fl); diff --git a/fs/orangefs/namei.c b/fs/orangefs/namei.c index 6e3134e6d98a..79b76f8f0ba8 100644 --- a/fs/orangefs/namei.c +++ b/fs/orangefs/namei.c @@ -60,7 +60,8 @@ static int orangefs_create(struct inode *dir, ref = new_op->downcall.resp.create.refn; op_release(new_op); - inode = orangefs_new_inode(dir->i_sb, dir, S_IFREG | mode, 0, ); + inode = orangefs_new_inode(inode_sb(dir), dir, S_IFREG | mode, 0, + ); if (IS_ERR(inode)) { gossip_err("%s: Failed to allocate inode for file :%pd:\n", __func__, @@ -192,7 +193,8 @@ static struct dentry *orangefs_lookup(struct inode *dir, struct dentry *dentry, orangefs_set_timeout(dentry); - inode = orangefs_iget(dir->i_sb, _op->downcall.resp.lookup.refn); + inode = orangefs_iget(inode_sb(dir), + _op->downcall.resp.lookup.refn); if (IS_ERR(inode)) { gossip_debug(GOSSIP_NAME_DEBUG, "error %ld from iget\n", PTR_ERR(inode)); @@ -320,7 +322,8 @@ static int orangefs_symlink(struct inode *dir, ref = new_op->downcall.resp.sym.refn; op_release(new_op); - inode = orangefs_new_inode(dir->i_sb, dir, S_IFLNK | mode, 0, ); + inode = orangefs_new_inode(inode_sb(dir), dir, S_IFLNK | mode, 0, + ); if (IS_ERR(inode)) { gossip_err ("*** Failed to allocate orangefs symlink inode\n"); @@ -391,7 +394,8 @@ static int orangefs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode ref = new_op->downcall.resp.mkdir.refn; op_release(new_op); - inode = orangefs_new_inode(dir->i_sb, dir, S_IFDIR | mode, 0, ); + inode = orangefs_new_inode(inode_sb(dir), dir, S_IFDIR | mode, 0, + ); if (IS_ERR(inode)) { gossip_err("*** Failed to allocate orangefs dir inode\n"); ret = PTR_ERR(inode); diff --git a/fs/orangefs/orangefs-kernel.h b/fs/orangefs/orangefs-kernel.h index eebbaece85ef..c006a3f6dedd 100644 --- a/fs/orangefs/orangefs-kernel.h +++ b/fs/orangefs/orangefs-kernel.h @@ -325,11 +325,11 @@ static inline int is_root_handle(struct inode *inode) gossip_debug(GOSSIP_DCACHE_DEBUG, "%s: root handle: %pU, this handle: %pU:\n", __func__, -_SB(inode->i_sb)->root_khandle, +_SB(inode_sb(inode))->root_khandle, get_khandle_from_ino(inode)); - if (ORANGEFS_khandle_cmp(&(ORANGEFS_SB(inode->i_sb)->root_khandle), -get_khandle_from_ino(inode))) + if (ORANGEFS_khandle_cmp(&(ORANGEFS_SB(inode_sb(inode))->root_khandle), +get_khandle_from_ino(inode))) return 0; else return 1; @@ -513,7 +513,7 @@ int service_operation(struct orangefs_kernel_op_s *op, int flags); #define get_interruptible_flag(inode) \ - ((ORANGEFS_SB(inode->i_sb)->flags & ORANGEFS_OPT_INTR) ? \ + ((ORANGEFS_SB(inode_sb(inode))->flags & ORANGEFS_OPT_INTR) ? \ ORANGEFS_OP_INTERRUPTIBLE : 0) #define fill_default_sys_attrs(sys_attr, type, mode) \ -- 2.15.1