---- On Mon, 02 Jul 2018 03:26:00 +0800 Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote ---- > 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? Sorry for my inaccuracy. The type of iomap->offset is loff_t, is it better to cast first_block to loff_t, then do the left shift operation? > > > - iomap->offset = (u64)first_block << blkbits; > > + iomap->offset = (loff_t)first_block << blkbits; > --- Cheers, Huaisheng