Re: [PATCH 1/2] virtiofs, dax: Fix smatch warning about loss of info during shift

From: Vivek Goyal
Date: Mon May 10 2021 - 14:16:33 EST


On Thu, May 06, 2021 at 12:35:17PM -0700, Matthew Wilcox wrote:
> On Thu, May 06, 2021 at 08:07:39PM +0100, Dr. David Alan Gilbert wrote:
> > > @@ -186,7 +186,7 @@ static int fuse_setup_one_mapping(struct inode *inode, unsigned long start_idx,
> > > struct fuse_conn_dax *fcd = fm->fc->dax;
> > > struct fuse_inode *fi = get_fuse_inode(inode);
> > > struct fuse_setupmapping_in inarg;
> > > - loff_t offset = start_idx << FUSE_DAX_SHIFT;
> > > + loff_t offset = (loff_t)start_idx << FUSE_DAX_SHIFT;
> >
> > I've not followed the others back, but isn't it easier to change
> > the start_idx parameter to be a loff_t, since the places it's called
> > from are poth loff_t pos?
>
> But an index isn't a file offset, and shouldn't be typed as such.

Agreed. This is index, so it seems better to not use "loff_t" to
represent it.

Vivek