From 980f718652f064f33a139a2b69d15df510d53e4a Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 18 Jan 2004 18:07:08 -0800 Subject: [PATCH] [PATCH] bdev: generic_write_checks() cleanup From: viro@parcelfarce.linux.theplanet.co.uk generic_write_checks() had lost the first argument (inode) - it can be calculated from the second one (file). --- fs/reiserfs/file.c | 2 +- include/linux/fs.h | 3 +-- mm/filemap.c | 6 +++--- mm/shmem.c | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c index e8e44eb1d9206..572b30f3f4170 100644 --- a/fs/reiserfs/file.c +++ b/fs/reiserfs/file.c @@ -1052,7 +1052,7 @@ ssize_t reiserfs_file_write( struct file *file, /* the file we are going to writ /* Check if we can write to specified region of file, file is not overly big and this kind of stuff. Adjust pos and count, if needed */ - res = generic_write_checks(inode, file, &pos, &count, 0); + res = generic_write_checks(file, &pos, &count, 0); if (res) goto out; diff --git a/include/linux/fs.h b/include/linux/fs.h index 8915617d3d486..2880d702043ed 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1296,8 +1296,7 @@ extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *); extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size); extern int file_send_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size); extern ssize_t generic_file_read(struct file *, char __user *, size_t, loff_t *); -int generic_write_checks(struct inode *inode, struct file *file, - loff_t *pos, size_t *count, int isblk); +int generic_write_checks(struct file *file, loff_t *pos, size_t *count, int isblk); extern ssize_t generic_file_write(struct file *, const char __user *, size_t, loff_t *); extern ssize_t generic_file_aio_read(struct kiocb *, char __user *, size_t, loff_t); extern ssize_t __generic_file_aio_read(struct kiocb *, const struct iovec *, unsigned long, loff_t *); diff --git a/mm/filemap.c b/mm/filemap.c index 01ca1d1390718..d9368c9368de4 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1626,9 +1626,9 @@ filemap_set_next_iovec(const struct iovec **iovp, size_t *basep, size_t bytes) * Returns appropriate error code that caller should return or * zero in case that write should be allowed. */ -inline int generic_write_checks(struct inode *inode, - struct file *file, loff_t *pos, size_t *count, int isblk) +inline int generic_write_checks(struct file *file, loff_t *pos, size_t *count, int isblk) { + struct inode *inode = file->f_mapping->host; unsigned long limit = current->rlim[RLIMIT_FSIZE].rlim_cur; if (unlikely(*pos < 0)) @@ -1767,7 +1767,7 @@ generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, current->backing_dev_info = mapping->backing_dev_info; written = 0; - err = generic_write_checks(inode, file, &pos, &count, isblk); + err = generic_write_checks(file, &pos, &count, isblk); if (err) goto out; diff --git a/mm/shmem.c b/mm/shmem.c index a9b7627e40e7e..9eee85b3f756c 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1186,7 +1186,7 @@ shmem_file_write(struct file *file, const char __user *buf, size_t count, loff_t pos = *ppos; written = 0; - err = generic_write_checks(inode, file, &pos, &count, 0); + err = generic_write_checks(file, &pos, &count, 0); if (err || !count) goto out; -- 2.53.0