GFS2: Fix typo in gfs_page_mkwrite()
authorBenjamin Marzinski <bmarzins@redhat.com>
Tue, 6 Jan 2009 16:47:50 +0000 (10:47 -0600)
committerSteven Whitehouse <swhiteho@redhat.com>
Wed, 7 Jan 2009 08:58:28 +0000 (08:58 +0000)
There is a typo in gfs2_page_mkwrite()

gfs2_write_alloc_required() expects pos to be the offset in bytes. However,
instead of the page index being shifted by by PAGE_CACHE_SHIFT, it was shifted
by (PAGE_CACHE_SIZE - inode->i_blkbits).  This patch simply shifts the page
index by the proper amount.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/ops_file.c

index 289c5f54ba539bc1e5421c90d236091a841dd68f..93fe41b67f9749ed6ed901943ab1e7ae0808eb00 100644 (file)
@@ -342,7 +342,7 @@ static int gfs2_page_mkwrite(struct vm_area_struct *vma, struct page *page)
        struct gfs2_inode *ip = GFS2_I(inode);
        struct gfs2_sbd *sdp = GFS2_SB(inode);
        unsigned long last_index;
-       u64 pos = page->index << (PAGE_CACHE_SIZE - inode->i_blkbits);
+       u64 pos = page->index << PAGE_CACHE_SHIFT;
        unsigned int data_blocks, ind_blocks, rblocks;
        int alloc_required = 0;
        struct gfs2_holder gh;