@@ -1229,7 +1229,7 @@ EXPORT_SYMBOL(test_range_bit);
1229
1229
static int check_page_uptodate (struct extent_map_tree * tree ,
1230
1230
struct page * page )
1231
1231
{
1232
- u64 start = page -> index << PAGE_CACHE_SHIFT ;
1232
+ u64 start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1233
1233
u64 end = start + PAGE_CACHE_SIZE - 1 ;
1234
1234
if (test_range_bit (tree , start , end , EXTENT_UPTODATE , 1 ))
1235
1235
SetPageUptodate (page );
@@ -1243,7 +1243,7 @@ static int check_page_uptodate(struct extent_map_tree *tree,
1243
1243
static int check_page_locked (struct extent_map_tree * tree ,
1244
1244
struct page * page )
1245
1245
{
1246
- u64 start = page -> index << PAGE_CACHE_SHIFT ;
1246
+ u64 start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1247
1247
u64 end = start + PAGE_CACHE_SIZE - 1 ;
1248
1248
if (!test_range_bit (tree , start , end , EXTENT_LOCKED , 0 ))
1249
1249
unlock_page (page );
@@ -1257,7 +1257,7 @@ static int check_page_locked(struct extent_map_tree *tree,
1257
1257
static int check_page_writeback (struct extent_map_tree * tree ,
1258
1258
struct page * page )
1259
1259
{
1260
- u64 start = page -> index << PAGE_CACHE_SHIFT ;
1260
+ u64 start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1261
1261
u64 end = start + PAGE_CACHE_SIZE - 1 ;
1262
1262
if (!test_range_bit (tree , start , end , EXTENT_WRITEBACK , 0 ))
1263
1263
end_page_writeback (page );
@@ -1296,7 +1296,8 @@ static int end_bio_extent_writepage(struct bio *bio,
1296
1296
1297
1297
do {
1298
1298
struct page * page = bvec -> bv_page ;
1299
- start = (page -> index << PAGE_CACHE_SHIFT ) + bvec -> bv_offset ;
1299
+ start = ((u64 )page -> index << PAGE_CACHE_SHIFT ) +
1300
+ bvec -> bv_offset ;
1300
1301
end = start + bvec -> bv_len - 1 ;
1301
1302
1302
1303
if (bvec -> bv_offset == 0 && bvec -> bv_len == PAGE_CACHE_SIZE )
@@ -1361,7 +1362,8 @@ static int end_bio_extent_readpage(struct bio *bio,
1361
1362
1362
1363
do {
1363
1364
struct page * page = bvec -> bv_page ;
1364
- start = (page -> index << PAGE_CACHE_SHIFT ) + bvec -> bv_offset ;
1365
+ start = ((u64 )page -> index << PAGE_CACHE_SHIFT ) +
1366
+ bvec -> bv_offset ;
1365
1367
end = start + bvec -> bv_len - 1 ;
1366
1368
1367
1369
if (bvec -> bv_offset == 0 && bvec -> bv_len == PAGE_CACHE_SIZE )
@@ -1427,7 +1429,8 @@ static int end_bio_extent_preparewrite(struct bio *bio,
1427
1429
1428
1430
do {
1429
1431
struct page * page = bvec -> bv_page ;
1430
- start = (page -> index << PAGE_CACHE_SHIFT ) + bvec -> bv_offset ;
1432
+ start = ((u64 )page -> index << PAGE_CACHE_SHIFT ) +
1433
+ bvec -> bv_offset ;
1431
1434
end = start + bvec -> bv_len - 1 ;
1432
1435
1433
1436
if (-- bvec >= bio -> bi_io_vec )
@@ -1503,7 +1506,7 @@ int extent_read_full_page(struct extent_map_tree *tree, struct page *page,
1503
1506
get_extent_t * get_extent )
1504
1507
{
1505
1508
struct inode * inode = page -> mapping -> host ;
1506
- u64 start = page -> index << PAGE_CACHE_SHIFT ;
1509
+ u64 start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1507
1510
u64 page_end = start + PAGE_CACHE_SIZE - 1 ;
1508
1511
u64 end ;
1509
1512
u64 cur = start ;
@@ -1608,7 +1611,7 @@ int extent_write_full_page(struct extent_map_tree *tree, struct page *page,
1608
1611
struct writeback_control * wbc )
1609
1612
{
1610
1613
struct inode * inode = page -> mapping -> host ;
1611
- u64 start = page -> index << PAGE_CACHE_SHIFT ;
1614
+ u64 start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1612
1615
u64 page_end = start + PAGE_CACHE_SIZE - 1 ;
1613
1616
u64 end ;
1614
1617
u64 cur = start ;
@@ -1750,7 +1753,7 @@ EXPORT_SYMBOL(extent_write_full_page);
1750
1753
int extent_invalidatepage (struct extent_map_tree * tree ,
1751
1754
struct page * page , unsigned long offset )
1752
1755
{
1753
- u64 start = (page -> index << PAGE_CACHE_SHIFT );
1756
+ u64 start = (( u64 ) page -> index << PAGE_CACHE_SHIFT );
1754
1757
u64 end = start + PAGE_CACHE_SIZE - 1 ;
1755
1758
size_t blocksize = page -> mapping -> host -> i_sb -> s_blocksize ;
1756
1759
@@ -1792,7 +1795,7 @@ int extent_prepare_write(struct extent_map_tree *tree,
1792
1795
struct inode * inode , struct page * page ,
1793
1796
unsigned from , unsigned to , get_extent_t * get_extent )
1794
1797
{
1795
- u64 page_start = page -> index << PAGE_CACHE_SHIFT ;
1798
+ u64 page_start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1796
1799
u64 page_end = page_start + PAGE_CACHE_SIZE - 1 ;
1797
1800
u64 block_start ;
1798
1801
u64 orig_block_start ;
@@ -1890,7 +1893,7 @@ EXPORT_SYMBOL(extent_prepare_write);
1890
1893
int try_release_extent_mapping (struct extent_map_tree * tree , struct page * page )
1891
1894
{
1892
1895
struct extent_map * em ;
1893
- u64 start = page -> index << PAGE_CACHE_SHIFT ;
1896
+ u64 start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
1894
1897
u64 end = start + PAGE_CACHE_SIZE - 1 ;
1895
1898
u64 orig_start = start ;
1896
1899
int ret = 1 ;
@@ -2202,7 +2205,7 @@ int clear_extent_buffer_dirty(struct extent_map_tree *tree,
2202
2205
if ((i == 0 && (eb -> start & (PAGE_CACHE_SIZE - 1 ))) ||
2203
2206
((i == num_pages - 1 ) &&
2204
2207
((eb -> start + eb -> len ) & (PAGE_CACHE_SIZE - 1 )))) {
2205
- start = page -> index << PAGE_CACHE_SHIFT ;
2208
+ start = ( u64 ) page -> index << PAGE_CACHE_SHIFT ;
2206
2209
end = start + PAGE_CACHE_SIZE - 1 ;
2207
2210
if (test_range_bit (tree , start , end ,
2208
2211
EXTENT_DIRTY , 0 )) {
0 commit comments