ceph: use page_offset() in ceph_writepages_start()
authorAlex Elder <elder@inktank.com>
Wed, 3 Apr 2013 20:03:53 +0000 (15:03 -0500)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:17:53 +0000 (21:17 -0700)
There's one spot in ceph_writepages_start() that open-codes what
page_offset() does safely.  Use the macro so we don't have to worry
about wrapping.

This resolves:
    http://tracker.ceph.com/issues/4648

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
fs/ceph/addr.c

index 45745aa..ae438d0 100644 (file)
@@ -900,7 +900,7 @@ get_more_pages:
                }
 
                /* submit the write */
-               offset = req->r_data_out.pages[0]->index << PAGE_CACHE_SHIFT;
+               offset = page_offset(req->r_data_out.pages[0]);
                len = min((snap_size ? snap_size : i_size_read(inode)) - offset,
                          (u64)locked_pages << PAGE_CACHE_SHIFT);
                dout("writepages got %d pages at %llu~%llu\n",