ceph: use page_offset() in ceph_writepages_start()
Alex Elder [Wed, 3 Apr 2013 20:03:53 +0000 (15:03 -0500)]
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",