Btrfs: use wrapper page_offset
PATCH 2/3 Btrfs: use wrapper page_offset
From: Liu Bo <[email protected]>
Use wrapper page_offset to get byte-offset into filesystem object for page.
Signed-off-by Liu Bo <[email protected]>
Signed-off-by Miao Xie <[email protected]>
--- fs/btrfs/disk-io.c | 2 +- fs/btrfs/extent_io.c | 20 ++++++++++---------- fs/btrfs/inode.c | 2 +- fs/btrfs/relocation.c | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-)
fs/btrfs/disk-io.c +1 -1
@@ -420,7 +420,7 @@ static int btree_read_extent_buffer_pages(struct btrfs_root *root,static int csum_dirty_buffer (struct btrfs_root *root,struct page *page) {struct extent_io_tree *tree; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start = (u64 )page_offset (page);u64 found_start;struct extent_buffer *eb;
fs/btrfs/extent_io.c +10 -10
@@ -1834,7 +1834,7 @@ int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end,*/ static void check_page_uptodate (struct extent_io_tree *tree,struct page *page) { -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start = (u64 )page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ;if (test_range_bit (tree, start, end,EXTENT_UPTODATE ,1 ,NULL ))SetPageUptodate (page);
@@ -1846,7 +1846,7 @@ static void check_page_uptodate(struct extent_io_tree *tree, struct page *page)*/ static void check_page_locked (struct extent_io_tree *tree,struct page *page) { -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start = (u64 )page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ;if (!test_range_bit (tree, start, end,EXTENT_LOCKED ,0 ,NULL ))unlock_page (page);
@@ -2293,7 +2293,7 @@ static void end_bio_extent_writepage(struct bio *bio, int err)struct page *page = bvec->bv_page; tree = &BTRFS_I (page->mapping->host)->io_tree; - start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + + start = ((u64 )page_offset (page)) + bvec->bv_offset; end = start + bvec->bv_len -1 ;
@@ -2353,7 +2353,7 @@ static void end_bio_extent_readpage(struct bio *bio, int err) (long int)bio->bi_bdev); tree = &BTRFS_I (page->mapping->host)->io_tree; - start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + + start = ((u64 )page_offset (page)) + bvec->bv_offset; end = start + bvec->bv_len -1 ;
@@ -2471,7 +2471,7 @@ static int __must_check submit_one_bio(int rw, struct bio *bio,struct extent_io_tree *tree = bio->bi_private;u64 start; - start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + bvec->bv_offset; + start = ((u64 )page_offset (page)) + bvec->bv_offset; bio->bi_private =NULL ;
@@ -2595,7 +2595,7 @@ static int __extent_read_full_page(struct extent_io_tree *tree, unsigned long *bio_flags) {struct inode *inode = page->mapping->host; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start = (u64 )page_offset (page);u64 page_end = start +PAGE_CACHE_SIZE -1 ;u64 end;u64 cur = start;
@@ -2806,7 +2806,7 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,struct inode *inode = page->mapping->host;struct extent_page_data *epd = data;struct extent_io_tree *tree = epd->tree; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start = (u64 )page_offset (page);u64 delalloc_start;u64 page_end = start +PAGE_CACHE_SIZE -1 ;u64 end;
@@ -3674,7 +3674,7 @@ int extent_invalidatepage(struct extent_io_tree *tree, struct page *page, unsigned long offset) {struct extent_state *cached_state =NULL ; -u64 start = ((u64 )page->index <<PAGE_CACHE_SHIFT ); +u64 start = (u64 )page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ;size_t blocksize = page->mapping->host->i_sb->s_blocksize;
@@ -3700,7 +3700,7 @@ int try_release_extent_state(struct extent_map_tree *map, struct extent_io_tree *tree, struct page *page, gfp_t mask) { - u64 start = (u64)page->index << PAGE_CACHE_SHIFT; + u64 start = (u64)page_offset(page);u64 end = start +PAGE_CACHE_SIZE -1 ;int ret =1 ;
@@ -3739,7 +3739,7 @@ int try_release_extent_mapping(struct extent_map_tree *map, gfp_t mask) {struct extent_map *em; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start = (u64 )page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ; if ((mask & __GFP_WAIT) &&
fs/btrfs/inode.c +1 -1
@@ -2062,7 +2062,7 @@ static int btrfs_writepage_end_io_hook(struct page *page, u64 start, u64 end,static int btrfs_readpage_end_io_hook (struct page *page,u64 start,u64 end,struct extent_state *state,int mirror) { -size_t offset = start - ((u64 )page->index <<PAGE_CACHE_SHIFT ); +size_t offset = start - ((u64 )page_offset (page));struct inode *inode = page->mapping->host;struct extent_io_tree *io_tree = &BTRFS_I (inode)->io_tree;char *kaddr;
fs/btrfs/relocation.c +1 -1
@@ -3017,7 +3017,7 @@ static int relocate_file_extent_cluster(struct inode *inode, } } - page_start = (u64 )page->index <<PAGE_CACHE_SHIFT ; + page_start = (u64 )page_offset (page); page_end = page_start +PAGE_CACHE_SIZE -1 ;lock_extent (&BTRFS_I (inode)->io_tree, page_start, page_end);
Signature · 1 line
1.7.11.7
Review
Quoted 2 lines
(quoted diff) +1
-1- u64 start = (u64)page->index << PAGE_CACHE_SHIFT; + u64 start = (u64)page_offset(page);
The (u64) cast was presumably to keep from losing high bits during the shift. page_offset() already has that cast internally and returns loff_t, which is always long long. I think that you can drop the cast from all these calls.
fs/btrfs/extent_io.c static void end_bio_extent_writepage(struct bio *bio, int err) · line 2297
Quoted 3 lines
fs/btrfs/extent_io.c +1
-1- start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + + start = ((u64 )page_offset (page)) + bvec->bv_offset;
And you can fix the line break now that the line will be nice and short.
And the parenthesis can be removed.
- z
PATCH v2 2/3 Btrfs: use wrapper page_offset
Use wrapper page_offset to get byte-offset into filesystem object for page.
Signed-off-by Liu Bo <[email protected]>
Signed-off-by Miao Xie <[email protected]>
--- fs/btrfs/disk-io.c | 2 +- fs/btrfs/extent_io.c | 24 +++++++++++------------- fs/btrfs/inode.c | 5 ++--- fs/btrfs/relocation.c | 2 +- 4 files changed, 15 insertions(+), 18 deletions(-)
fs/btrfs/disk-io.c +1 -1
@@ -420,7 +420,7 @@ static int btree_read_extent_buffer_pages(struct btrfs_root *root,static int csum_dirty_buffer (struct btrfs_root *root,struct page *page) {struct extent_io_tree *tree; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start =page_offset (page);u64 found_start;struct extent_buffer *eb;
fs/btrfs/extent_io.c +11 -13
@@ -1834,7 +1834,7 @@ int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end,*/ static void check_page_uptodate (struct extent_io_tree *tree,struct page *page) { -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start =page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ;if (test_range_bit (tree, start, end,EXTENT_UPTODATE ,1 ,NULL ))SetPageUptodate (page);
@@ -1846,7 +1846,7 @@ static void check_page_uptodate(struct extent_io_tree *tree, struct page *page)*/ static void check_page_locked (struct extent_io_tree *tree,struct page *page) { -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start =page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ;if (!test_range_bit (tree, start, end,EXTENT_LOCKED ,0 ,NULL ))unlock_page (page);
@@ -1960,7 +1960,7 @@ int repair_io_failure(struct btrfs_fs_info *fs_info, u64 start,return -EIO ; } bio->bi_bdev = dev->bdev; -bio_add_page (bio, page, length, start-page_offset (page)); +bio_add_page (bio, page, length, start -page_offset (page));btrfsic_submit_bio (WRITE_SYNC , bio);wait_for_completion (&compl);
@@ -2293,8 +2293,7 @@ static void end_bio_extent_writepage(struct bio *bio, int err)struct page *page = bvec->bv_page; tree = &BTRFS_I (page->mapping->host)->io_tree; - start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + - bvec->bv_offset; + start =page_offset (page) + bvec->bv_offset; end = start + bvec->bv_len -1 ;if (bvec->bv_offset ==0 && bvec->bv_len ==PAGE_CACHE_SIZE )
@@ -2353,8 +2352,7 @@ static void end_bio_extent_readpage(struct bio *bio, int err) (long int)bio->bi_bdev); tree = &BTRFS_I (page->mapping->host)->io_tree; - start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + - bvec->bv_offset; + start =page_offset (page) + bvec->bv_offset; end = start + bvec->bv_len -1 ;if (bvec->bv_offset ==0 && bvec->bv_len ==PAGE_CACHE_SIZE )
@@ -2471,7 +2469,7 @@ static int __must_check submit_one_bio(int rw, struct bio *bio,struct extent_io_tree *tree = bio->bi_private;u64 start; - start = ((u64 )page->index <<PAGE_CACHE_SHIFT ) + bvec->bv_offset; + start =page_offset (page) + bvec->bv_offset; bio->bi_private =NULL ;
@@ -2595,7 +2593,7 @@ static int __extent_read_full_page(struct extent_io_tree *tree, unsigned long *bio_flags) {struct inode *inode = page->mapping->host; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start =page_offset (page);u64 page_end = start +PAGE_CACHE_SIZE -1 ;u64 end;u64 cur = start;
@@ -2806,7 +2804,7 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,struct inode *inode = page->mapping->host;struct extent_page_data *epd = data;struct extent_io_tree *tree = epd->tree; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start =page_offset (page);u64 delalloc_start;u64 page_end = start +PAGE_CACHE_SIZE -1 ;u64 end;
@@ -3674,7 +3672,7 @@ int extent_invalidatepage(struct extent_io_tree *tree, struct page *page, unsigned long offset) {struct extent_state *cached_state =NULL ; -u64 start = ((u64 )page->index <<PAGE_CACHE_SHIFT ); +u64 start =page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ;size_t blocksize = page->mapping->host->i_sb->s_blocksize;
@@ -3700,7 +3698,7 @@ int try_release_extent_state(struct extent_map_tree *map, struct extent_io_tree *tree, struct page *page, gfp_t mask) { - u64 start = (u64)page->index << PAGE_CACHE_SHIFT; + u64 start = page_offset(page);u64 end = start +PAGE_CACHE_SIZE -1 ;int ret =1 ;
@@ -3739,7 +3737,7 @@ int try_release_extent_mapping(struct extent_map_tree *map, gfp_t mask) {struct extent_map *em; -u64 start = (u64 )page->index <<PAGE_CACHE_SHIFT ; +u64 start =page_offset (page);u64 end = start +PAGE_CACHE_SIZE -1 ; if ((mask & __GFP_WAIT) &&
fs/btrfs/inode.c +2 -3
@@ -2062,7 +2062,7 @@ static int btrfs_writepage_end_io_hook(struct page *page, u64 start, u64 end,static int btrfs_readpage_end_io_hook (struct page *page,u64 start,u64 end,struct extent_state *state,int mirror) { -size_t offset = start - ((u64 )page->index <<PAGE_CACHE_SHIFT ); +size_t offset = start -page_offset (page);struct inode *inode = page->mapping->host;struct extent_io_tree *io_tree = &BTRFS_I (inode)->io_tree;char *kaddr;
@@ -6695,8 +6695,7 @@ static void btrfs_invalidatepage(struct page *page, unsigned long offset)return ; }lock_extent_bits (tree, page_start, page_end,0 , &cached_state); - ordered =btrfs_lookup_ordered_extent (inode, -page_offset (page)); + ordered =btrfs_lookup_ordered_extent (inode,page_offset (page));if (ordered) {/* * IO on this page will never be started, so we need
fs/btrfs/relocation.c +1 -1
@@ -3017,7 +3017,7 @@ static int relocate_file_extent_cluster(struct inode *inode, } } - page_start = (u64 )page->index <<PAGE_CACHE_SHIFT ; + page_start =page_offset (page); page_end = page_start +PAGE_CACHE_SIZE -1 ;lock_extent (&BTRFS_I (inode)->io_tree, page_start, page_end);
Signature · 1 line
1.7.11.7