X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=mm%2Ffilemap.c;h=a8c69c8c0a90a1e50cfdc822ce2cbc3854e0c8e8;hb=6dba72eca7fb879bf2e0c8fdc784fb974cb4f9d5;hp=7c00f105845ebb2601dd6083eb32046f91b06f32;hpb=e531cdf50a8a0fb7a4d51c06e52097bd01e9bf7c;p=karo-tx-linux.git diff --git a/mm/filemap.c b/mm/filemap.c index 7c00f105845e..a8c69c8c0a90 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1840,15 +1840,16 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) ssize_t retval = 0; loff_t *ppos = &iocb->ki_pos; loff_t pos = *ppos; + size_t count = iov_iter_count(iter); + + if (!count) + goto out; /* skip atime */ if (iocb->ki_flags & IOCB_DIRECT) { struct address_space *mapping = file->f_mapping; struct inode *inode = mapping->host; - size_t count = iov_iter_count(iter); loff_t size; - if (!count) - goto out; /* skip atime */ size = i_size_read(inode); retval = filemap_write_and_wait_range(mapping, pos, pos + count - 1);