LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Mark Fasheh <mfasheh@suse.de> To: linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-btrfs@vger.kernel.org, Mark Fasheh <mfasheh@suse.de> Subject: [PATCH 08/76] mm: Use inode_sb() helper instead of inode->i_sb Date: Tue, 8 May 2018 11:03:28 -0700 [thread overview] Message-ID: <20180508180436.716-9-mfasheh@suse.de> (raw) In-Reply-To: <20180508180436.716-1-mfasheh@suse.de> Signed-off-by: Mark Fasheh <mfasheh@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, &key) >= 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..08e2367985f8 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -98,7 +98,7 @@ static int hwpoison_filter_dev(struct page *p) if (mapping == NULL || mapping->host == NULL) return -EINVAL; - dev = mapping->host->i_sb->s_dev; + dev = inode_sb(mapping->host)->s_dev; if (hwpoison_filter_dev_major != ~0U && hwpoison_filter_dev_major != MAJOR(dev)) return -EINVAL; diff --git a/mm/shmem.c b/mm/shmem.c index b85919243399..29ad457b4774 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -192,7 +192,7 @@ static inline void shmem_unacct_blocks(unsigned long flags, long pages) static inline bool shmem_inode_acct_block(struct inode *inode, long pages) { struct shmem_inode_info *info = SHMEM_I(inode); - struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + struct shmem_sb_info *sbinfo = SHMEM_SB(inode_sb(inode)); if (shmem_acct_block(info->flags, pages)) return false; @@ -214,7 +214,7 @@ static inline bool shmem_inode_acct_block(struct inode *inode, long pages) static inline void shmem_inode_unacct_blocks(struct inode *inode, long pages) { struct shmem_inode_info *info = SHMEM_I(inode); - struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + struct shmem_sb_info *sbinfo = SHMEM_SB(inode_sb(inode)); if (sbinfo->max_blocks) percpu_counter_sub(&sbinfo->used_blocks, pages); @@ -1002,7 +1002,7 @@ static int shmem_setattr(struct dentry *dentry, struct iattr *attr) { struct inode *inode = d_inode(dentry); struct shmem_inode_info *info = SHMEM_I(inode); - struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + struct shmem_sb_info *sbinfo = SHMEM_SB(inode_sb(inode)); int error; error = setattr_prepare(dentry, attr); @@ -1068,7 +1068,7 @@ static int shmem_setattr(struct dentry *dentry, struct iattr *attr) static void shmem_evict_inode(struct inode *inode) { struct shmem_inode_info *info = SHMEM_I(inode); - struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + struct shmem_sb_info *sbinfo = SHMEM_SB(inode_sb(inode)); if (inode->i_mapping->a_ops == &shmem_aops) { shmem_unacct_size(info->flags, inode->i_size); @@ -1091,7 +1091,7 @@ static void shmem_evict_inode(struct inode *inode) simple_xattrs_free(&info->xattrs); WARN_ON(inode->i_blocks); - shmem_free_inode(inode->i_sb); + shmem_free_inode(inode_sb(inode)); clear_inode(inode); } @@ -1654,7 +1654,7 @@ static int shmem_getpage_gfp(struct inode *inode, pgoff_t index, * Fast cache lookup did not find it: * bring it back from swap or allocate. */ - sbinfo = SHMEM_SB(inode->i_sb); + sbinfo = SHMEM_SB(inode_sb(inode)); charge_mm = vma ? vma->vm_mm : current->mm; if (swap.val) { @@ -2056,7 +2056,7 @@ unsigned long shmem_get_unmapped_area(struct file *file, if (file) { VM_BUG_ON(file->f_op != &shmem_file_operations); - sb = file_inode(file)->i_sb; + sb = inode_sb(file_inode(file)); } else { /* * Called directly from mm/mmap.c, or drivers/char/mem.c @@ -2852,7 +2852,7 @@ static long shmem_fallocate(struct file *file, int mode, loff_t offset, loff_t len) { struct inode *inode = file_inode(file); - struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + struct shmem_sb_info *sbinfo = SHMEM_SB(inode_sb(inode)); struct shmem_inode_info *info = SHMEM_I(inode); struct shmem_falloc shmem_falloc; pgoff_t start, index, end; @@ -3010,7 +3010,7 @@ shmem_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev) struct inode *inode; int error = -ENOSPC; - inode = shmem_get_inode(dir->i_sb, dir, mode, dev, VM_NORESERVE); + inode = shmem_get_inode(inode_sb(dir), dir, mode, dev, VM_NORESERVE); if (inode) { error = simple_acl_create(dir, inode); if (error) @@ -3039,7 +3039,7 @@ shmem_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) struct inode *inode; int error = -ENOSPC; - inode = shmem_get_inode(dir->i_sb, dir, mode, 0, VM_NORESERVE); + inode = shmem_get_inode(inode_sb(dir), dir, mode, 0, VM_NORESERVE); if (inode) { error = security_inode_init_security(inode, dir, NULL, @@ -3086,7 +3086,7 @@ static int shmem_link(struct dentry *old_dentry, struct inode *dir, struct dentr * but each new link needs a new dentry, pinning lowmem, and * tmpfs dentries cannot be pruned until they are unlinked. */ - ret = shmem_reserve_inode(inode->i_sb); + ret = shmem_reserve_inode(inode_sb(inode)); if (ret) goto out; @@ -3105,7 +3105,7 @@ static int shmem_unlink(struct inode *dir, struct dentry *dentry) struct inode *inode = d_inode(dentry); if (inode->i_nlink > 1 && !S_ISDIR(inode->i_mode)) - shmem_free_inode(inode->i_sb); + shmem_free_inode(inode_sb(inode)); dir->i_size -= BOGO_DIRENT_SIZE; inode->i_ctime = dir->i_ctime = dir->i_mtime = current_time(inode); @@ -3230,7 +3230,8 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s if (len > PAGE_SIZE) return -ENAMETOOLONG; - inode = shmem_get_inode(dir->i_sb, dir, S_IFLNK|S_IRWXUGO, 0, VM_NORESERVE); + inode = shmem_get_inode(inode_sb(dir), dir, S_IFLNK|S_IRWXUGO, 0, + VM_NORESERVE); if (!inode) return -ENOSPC; @@ -4093,7 +4094,7 @@ struct kobj_attribute shmem_enabled_attr = bool shmem_huge_enabled(struct vm_area_struct *vma) { struct inode *inode = file_inode(vma->vm_file); - struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + struct shmem_sb_info *sbinfo = SHMEM_SB(inode_sb(inode)); loff_t i_size; pgoff_t off; diff --git a/mm/swapfile.c b/mm/swapfile.c index c7a33717d079..e2316b4ad91e 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2446,7 +2446,7 @@ static int swap_node(struct swap_info_struct *p) if (p->bdev) bdev = p->bdev; else - bdev = p->swap_file->f_inode->i_sb->s_bdev; + bdev = inode_sb(p->swap_file->f_inode)->s_bdev; return bdev ? bdev->bd_disk->node_id : NUMA_NO_NODE; } @@ -2899,7 +2899,7 @@ static int claim_swapfile(struct swap_info_struct *p, struct inode *inode) return error; p->flags |= SWP_BLKDEV; } else if (S_ISREG(inode->i_mode)) { - p->bdev = inode->i_sb->s_bdev; + p->bdev = inode_sb(inode)->s_bdev; inode_lock(inode); if (IS_SWAPFILE(inode)) return -EBUSY; -- 2.15.1
next prev parent reply other threads:[~2018-05-08 18:05 UTC|newest] Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-08 18:03 [RFC][PATCH 0/76] vfs: 'views' for filesystems with more than one root Mark Fasheh 2018-05-08 18:03 ` [PATCH 01/76] vfs: Introduce struct fs_view Mark Fasheh 2018-05-08 18:03 ` [PATCH 02/76] arch: Use inode_sb() helper instead of inode->i_sb Mark Fasheh 2018-05-08 18:03 ` [PATCH 03/76] drivers: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 04/76] fs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 05/76] include: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 06/76] ipc: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 07/76] kernel: " Mark Fasheh 2018-05-08 18:03 ` Mark Fasheh [this message] 2018-05-08 18:03 ` [PATCH 09/76] net: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 10/76] security: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 11/76] fs/9p: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 12/76] fs/adfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 13/76] fs/affs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 14/76] fs/afs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 15/76] fs/autofs4: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 16/76] fs/befs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 17/76] fs/bfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 18/76] fs/btrfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 19/76] fs/ceph: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 20/76] fs/cifs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 21/76] fs/coda: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 22/76] fs/configfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 23/76] fs/cramfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 24/76] fs/crypto: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 25/76] fs/ecryptfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 26/76] fs/efivarfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 27/76] fs/efs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 28/76] fs/exofs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 29/76] fs/exportfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 30/76] fs/ext2: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 31/76] fs/ext4: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 32/76] fs/f2fs: " Mark Fasheh 2018-05-10 10:10 ` Chao Yu 2018-05-08 18:03 ` [PATCH 33/76] fs/fat: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 34/76] fs/freevxfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 35/76] fs/fuse: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 36/76] fs/gfs2: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 37/76] fs/hfs: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 38/76] fs/hfsplus: " Mark Fasheh 2018-05-08 18:03 ` [PATCH 39/76] fs/hostfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 40/76] fs/hpfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 41/76] fs/hugetlbfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 42/76] fs/isofs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 43/76] fs/jbd2: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 44/76] fs/jffs2: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 45/76] fs/jfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 46/76] fs/kernfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 47/76] fs/lockd: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 48/76] fs/minix: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 49/76] fs/nfsd: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 50/76] fs/nfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 51/76] fs/nilfs2: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 52/76] fs/notify: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 53/76] fs/ntfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 54/76] fs/ocfs2: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 55/76] fs/omfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 56/76] fs/openpromfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 57/76] fs/orangefs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 58/76] fs/overlayfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 59/76] fs/proc: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 60/76] fs/qnx4: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 61/76] fs/qnx6: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 62/76] fs/quota: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 63/76] fs/ramfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 64/76] fs/read: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 65/76] fs/reiserfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 66/76] fs/romfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 67/76] fs/squashfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 68/76] fs/sysv: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 69/76] fs/ubifs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 70/76] fs/udf: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 71/76] fs/ufs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 72/76] fs/xfs: " Mark Fasheh 2018-05-08 18:04 ` [PATCH 73/76] vfs: Move s_dev to to struct fs_view Mark Fasheh 2018-05-08 18:04 ` [PATCH 74/76] fs: Use fs_view device from struct inode Mark Fasheh 2018-05-08 18:04 ` [PATCH 75/76] fs: Use fs view device from struct super_block Mark Fasheh 2018-05-08 18:04 ` [PATCH 76/76] btrfs: Use fs_view in roots, point inodes to it Mark Fasheh 2018-05-08 23:38 ` [RFC][PATCH 0/76] vfs: 'views' for filesystems with more than one root Dave Chinner 2018-05-09 2:06 ` Jeff Mahoney 2018-05-09 6:41 ` Dave Chinner 2018-06-05 20:17 ` Jeff Mahoney 2018-06-06 9:49 ` Amir Goldstein 2018-06-06 20:42 ` Mark Fasheh 2018-06-07 6:06 ` Amir Goldstein 2018-06-07 20:44 ` Mark Fasheh 2018-06-06 21:19 ` Jeff Mahoney 2018-06-07 6:17 ` Amir Goldstein
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180508180436.716-9-mfasheh@suse.de \ --to=mfasheh@suse.de \ --cc=linux-btrfs@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).