diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 44e8355978c7e178f2529574b15cda707a79784a..693368e3feb54df5184af3bccbc3e74f689be8d9 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1860,7 +1860,7 @@ static int __write_data_page(struct page *page, bool *submitted, loff_t i_size = i_size_read(inode); const pgoff_t end_index = ((unsigned long long) i_size) >> PAGE_SHIFT; - loff_t psize = (page->index + 1) << PAGE_SHIFT; + loff_t psize = (loff_t)(page->index + 1) << PAGE_SHIFT; unsigned offset = 0; bool need_balance_fs = false; int err = 0; diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 5eef2a8b29ab62dc3f51273a739f46a8a2880ec5..59b5c0b032bb56b414d017c00977f268a887fe14 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -1101,7 +1101,7 @@ static int __clone_blkaddrs(struct inode *src_inode, struct inode *dst_inode, } dn.ofs_in_node++; i++; - new_size = (dst + i) << PAGE_SHIFT; + new_size = (loff_t)(dst + i) << PAGE_SHIFT; if (dst_inode->i_size < new_size) f2fs_i_size_write(dst_inode, new_size); } while (--ilen && (do_replace[i] || blkaddr[i] == NULL_ADDR));