Skip to content

Commit ab29622

Browse files
committed
Merge tag 'pull-file_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull file_inode() updates from Al Vrio: "whack-a-mole: cropped up open-coded file_inode() uses..." * tag 'pull-file_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: orangefs: use ->f_mapping _nfs42_proc_copy(): use ->f_mapping instead of file_inode()->i_mapping dma_buf: no need to bother with file_inode()->i_mapping nfs_finish_open(): don't open-code file_inode() bprm_fill_uid(): don't open-code file_inode() sgx: use ->f_mapping... exfat_iterate(): don't open-code file_inode(file) ibmvmc: don't open-code file_inode()
2 parents 7a3353c + 4094d98 commit ab29622

File tree

8 files changed

+13
-15
lines changed

8 files changed

+13
-15
lines changed

arch/x86/kernel/cpu/sgx/encl.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -912,8 +912,7 @@ const cpumask_t *sgx_encl_cpumask(struct sgx_encl *encl)
912912
static struct page *sgx_encl_get_backing_page(struct sgx_encl *encl,
913913
pgoff_t index)
914914
{
915-
struct inode *inode = encl->backing->f_path.dentry->d_inode;
916-
struct address_space *mapping = inode->i_mapping;
915+
struct address_space *mapping = encl->backing->f_mapping;
917916
gfp_t gfpmask = mapping_gfp_mask(mapping);
918917

919918
return shmem_read_mapping_page_gfp(mapping, index, gfpmask);

drivers/dma-buf/udmabuf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ static long udmabuf_create(struct miscdevice *device,
213213
memfd = fget(list[i].memfd);
214214
if (!memfd)
215215
goto err;
216-
mapping = file_inode(memfd)->i_mapping;
216+
mapping = memfd->f_mapping;
217217
if (!shmem_mapping(mapping) && !is_file_hugepages(memfd))
218218
goto err;
219219
seals = memfd_fcntl(memfd, F_GET_SEALS, 0);

drivers/misc/ibmvmc.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,7 @@ static unsigned int ibmvmc_poll(struct file *file, poll_table *wait)
10391039
static ssize_t ibmvmc_write(struct file *file, const char *buffer,
10401040
size_t count, loff_t *ppos)
10411041
{
1042+
struct inode *inode;
10421043
struct ibmvmc_buffer *vmc_buffer;
10431044
struct ibmvmc_file_session *session;
10441045
struct crq_server_adapter *adapter;
@@ -1122,8 +1123,9 @@ static ssize_t ibmvmc_write(struct file *file, const char *buffer,
11221123
if (p == buffer)
11231124
goto out;
11241125

1125-
file->f_path.dentry->d_inode->i_mtime = current_time(file_inode(file));
1126-
mark_inode_dirty(file->f_path.dentry->d_inode);
1126+
inode = file_inode(file);
1127+
inode->i_mtime = current_time(inode);
1128+
mark_inode_dirty(inode);
11271129

11281130
dev_dbg(adapter->dev, "write: file = 0x%lx, count = 0x%lx\n",
11291131
(unsigned long)file, (unsigned long)count);

fs/exec.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1587,7 +1587,7 @@ static void bprm_fill_uid(struct linux_binprm *bprm, struct file *file)
15871587
{
15881588
/* Handle suid and sgid on files */
15891589
struct user_namespace *mnt_userns;
1590-
struct inode *inode;
1590+
struct inode *inode = file_inode(file);
15911591
unsigned int mode;
15921592
kuid_t uid;
15931593
kgid_t gid;
@@ -1598,7 +1598,6 @@ static void bprm_fill_uid(struct linux_binprm *bprm, struct file *file)
15981598
if (task_no_new_privs(current))
15991599
return;
16001600

1601-
inode = file->f_path.dentry->d_inode;
16021601
mode = READ_ONCE(inode->i_mode);
16031602
if (!(mode & (S_ISUID|S_ISGID)))
16041603
return;

fs/exfat/dir.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,9 @@ static void exfat_free_namebuf(struct exfat_dentry_namebuf *nb)
212212

213213
/* skip iterating emit_dots when dir is empty */
214214
#define ITER_POS_FILLED_DOTS (2)
215-
static int exfat_iterate(struct file *filp, struct dir_context *ctx)
215+
static int exfat_iterate(struct file *file, struct dir_context *ctx)
216216
{
217-
struct inode *inode = filp->f_path.dentry->d_inode;
217+
struct inode *inode = file_inode(file);
218218
struct super_block *sb = inode->i_sb;
219219
struct inode *tmp;
220220
struct exfat_dir_entry de;
@@ -228,7 +228,7 @@ static int exfat_iterate(struct file *filp, struct dir_context *ctx)
228228
mutex_lock(&EXFAT_SB(sb)->s_lock);
229229

230230
cpos = ctx->pos;
231-
if (!dir_emit_dots(filp, ctx))
231+
if (!dir_emit_dots(file, ctx))
232232
goto unlock;
233233

234234
if (ctx->pos == ITER_POS_FILLED_DOTS) {

fs/nfs/dir.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2022,7 +2022,7 @@ static int nfs_finish_open(struct nfs_open_context *ctx,
20222022
err = finish_open(file, dentry, do_open);
20232023
if (err)
20242024
goto out;
2025-
if (S_ISREG(file->f_path.dentry->d_inode->i_mode))
2025+
if (S_ISREG(file_inode(file)->i_mode))
20262026
nfs_file_set_open_context(file, ctx);
20272027
else
20282028
err = -EOPENSTALE;

fs/nfs/nfs42proc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ static ssize_t _nfs42_proc_copy(struct file *src,
341341
return status;
342342
}
343343
}
344-
status = nfs_filemap_write_and_wait_range(file_inode(src)->i_mapping,
344+
status = nfs_filemap_write_and_wait_range(src->f_mapping,
345345
pos_src, pos_src + (loff_t)count - 1);
346346
if (status)
347347
return status;

fs/orangefs/file.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -417,9 +417,7 @@ static int orangefs_file_release(struct inode *inode, struct file *file)
417417
* readahead cache (if any); this forces an expensive refresh of
418418
* data for the next caller of mmap (or 'get_block' accesses)
419419
*/
420-
if (file_inode(file) &&
421-
file_inode(file)->i_mapping &&
422-
mapping_nrpages(&file_inode(file)->i_data)) {
420+
if (mapping_nrpages(file->f_mapping)) {
423421
if (orangefs_features & ORANGEFS_FEATURE_READAHEAD) {
424422
gossip_debug(GOSSIP_INODE_DEBUG,
425423
"calling flush_racache on %pU\n",

0 commit comments

Comments
 (0)