Re: [PATCH 2/3] fs/ext2/inode: Fix a type cast error for fsdax

From: Al Viro
Date: Sun Jul 01 2018 - 15:29:46 EST

On Sun, Jul 01, 2018 at 02:18:47PM +0800, Huaisheng Ye wrote:
> From: Huaisheng Ye <yehs1@xxxxxxxxxx>
> The type of offset within struct iomap is loff_t, which represents
> file offset of mapping.
> In ext2_iomap_begin, iomap->offset shall be given a type cast as
> loff_t instead of u64.

Why is it an error? loff_t is uniformly typedefed to long long.
In which case the second variant is different from the first one
*and* does not step into nasal demon territory?

> - iomap->offset = (u64)first_block << blkbits;
> + iomap->offset = (loff_t)first_block << blkbits;