X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=mm%2Ffilemap.c;h=c7fe2f16503f9f906e3f01be0155818ef86c522e;hb=f6167514c819cb7794e60cf36b9466598a789013;hp=2f7b7783bd6b207da7c39778a43654f76f6d93b8;hpb=daba2b314a43c53be61eb98e0e88b094398196f5;p=cascardo%2Flinux.git diff --git a/mm/filemap.c b/mm/filemap.c index 2f7b7783bd6b..c7fe2f16503f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -790,9 +790,7 @@ EXPORT_SYMBOL(__page_cache_alloc); */ wait_queue_head_t *page_waitqueue(struct page *page) { - const struct zone *zone = page_zone(page); - - return &zone->wait_table[hash_ptr(page, zone->wait_table_bits)]; + return bit_waitqueue(page, 0); } EXPORT_SYMBOL(page_waitqueue); @@ -1941,7 +1939,7 @@ generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) file_accessed(file); retval = mapping->a_ops->direct_IO(iocb, &data); - if (retval > 0) { + if (retval >= 0) { iocb->ki_pos += retval; iov_iter_advance(iter, retval); }