X-Git-Url: http://git.cascardo.info/?p=cascardo%2Flinux.git;a=blobdiff_plain;f=mm%2Ffilemap.c;h=6b965efe215e80696a52d73bebe26b4b64bf902c;hp=3083ded98b15f32b68c58d744a5c3abb07d94c96;hb=c3a690240423fc4eb8a0c3c7df025d13eadf140b;hpb=72b5ac54d620b29cae23d25f0405f2765b466f72 diff --git a/mm/filemap.c b/mm/filemap.c index 3083ded98b15..6b965efe215e 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -887,9 +887,9 @@ EXPORT_SYMBOL(end_page_writeback); * After completing I/O on a page, call this routine to update the page * flags appropriately */ -void page_endio(struct page *page, int rw, int err) +void page_endio(struct page *page, bool is_write, int err) { - if (rw == READ) { + if (!is_write) { if (!err) { SetPageUptodate(page); } else { @@ -897,7 +897,7 @@ void page_endio(struct page *page, int rw, int err) SetPageError(page); } unlock_page(page); - } else { /* rw == WRITE */ + } else { if (err) { SetPageError(page); if (page->mapping) @@ -1920,7 +1920,7 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) retval = mapping->a_ops->direct_IO(iocb, &data); } - if (retval > 0) { + if (retval >= 0) { iocb->ki_pos += retval; iov_iter_advance(iter, retval); }