aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/addr.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-05-27 13:40:43 -0400
committerSage Weil <sage@newdream.net>2010-08-01 23:11:39 -0400
commit2962507ca204f886967e1a089d9bec206d427c22 (patch)
treee9cec16b13ad1d8e41c288658e62fb3bf1c66859 /fs/ceph/addr.c
parent33caad324b88f75f42d836735d86feaafb3b40cf (diff)
ceph: perform lazy reads when file mode and caps permit
If the file mode is marked as "lazy," perform cached/buffered reads when the caps permit it. Adjust the rdcache_gen and invalidation logic accordingly so that we manage our cache based on the FILE_CACHE -or- FILE_LAZYIO cap bits. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/addr.c')
-rw-r--r--fs/ceph/addr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index d9c60b84949..e00797eed29 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -552,7 +552,7 @@ static void writepages_finish(struct ceph_osd_request *req,
552 * page truncation thread, possibly losing some data that 552 * page truncation thread, possibly losing some data that
553 * raced its way in 553 * raced its way in
554 */ 554 */
555 if ((issued & CEPH_CAP_FILE_CACHE) == 0) 555 if ((issued & (CEPH_CAP_FILE_CACHE|CEPH_CAP_FILE_LAZYIO)) == 0)
556 generic_error_remove_page(inode->i_mapping, page); 556 generic_error_remove_page(inode->i_mapping, page);
557 557
558 unlock_page(page); 558 unlock_page(page);