diff --git a/include/linux/fs.h b/include/linux/fs.h index 493c13cf7cd6480137b2981288686df44cf88b33..5e7aeb5ff463d817fa1423ce1800f40dd767ec23 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -373,8 +373,6 @@ enum rw_hint { #define IOCB_DIO_CALLER_COMP (1 << 22) /* kiocb is a read or write operation submitted by fs/aio.c. */ #define IOCB_AIO_RW (1 << 23) -/* fault int small chunks(PAGE_SIZE) from userspace */ -#define IOCB_NO_LARGE_CHUNK (1 << 24) /* for use in trace events */ #define TRACE_IOCB_STRINGS \ diff --git a/mm/filemap.c b/mm/filemap.c index 63b8ef7f31b1197c9b37afe530df626f659940ab..905ebca8670e8944187520b0f5ab34a499a531c5 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -4050,14 +4050,9 @@ ssize_t generic_perform_write(struct kiocb *iocb, struct iov_iter *i) loff_t pos = iocb->ki_pos; struct address_space *mapping = file->f_mapping; const struct address_space_operations *a_ops = mapping->a_ops; + size_t chunk = mapping_max_folio_size(mapping); long status = 0; ssize_t written = 0; - size_t chunk; - - if (iocb->ki_flags & IOCB_NO_LARGE_CHUNK) - chunk = PAGE_SIZE; - else - chunk = mapping_max_folio_size(mapping); do { struct page *page; diff --git a/mm/shmem.c b/mm/shmem.c index 6fdc7144ca91b8325e56135b789a88fb7548c20e..aa50cd285ee9781157152f0a845800fd78d7e039 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3269,7 +3269,6 @@ static ssize_t shmem_file_write_iter(struct kiocb *iocb, struct iov_iter *from) { struct file *file = iocb->ki_filp; struct inode *inode = file->f_mapping->host; - pgoff_t index = iocb->ki_pos >> PAGE_SHIFT; ssize_t ret; inode_lock(inode); @@ -3282,10 +3281,6 @@ static ssize_t shmem_file_write_iter(struct kiocb *iocb, struct iov_iter *from) ret = file_update_time(file); if (ret) goto unlock; - - if (!shmem_allowable_huge_orders(inode, NULL, index, 0, false)) - iocb->ki_flags |= IOCB_NO_LARGE_CHUNK; - ret = generic_perform_write(iocb, from); unlock: inode_unlock(inode);