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

From: Matthew Wilcox
Date: Thu May 06 2021 - 15:35:39 EST


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.