[Virtio-fs] [PATCH 1/4] virtiofsd: Fix number of padding bits in fuse_file_info

Dr. David Alan Gilbert dgilbert at redhat.com
Wed Aug 21 11:25:07 UTC 2019


* Dr. David Alan Gilbert (dgilbert at redhat.com) wrote:
> * Vivek Goyal (vgoyal at redhat.com) wrote:
> > Currently we have 27 padding bits while there are 6 bit fields. I suspect
> > this is wrong. We probably are trying to aling to 32 bits and hence padding
> > bits should be 26 instead.
> > 
> > Signed-off-by: Vivek Goyal <vgoyal at redhat.com>
> 
> Yeh, I reckon this was broken upstream by 19accdf ~6 years ago; whether
> it's fixable upstream I don't know because they have API requierments
> since it's a library.
> 
> Still, it's definitely wrong so:
> 
> Reviewed-by: Dr. David Alan Gilbert <dgilbert at redhat.com>

Actually I found this upstream bug:
https://github.com/libfuse/libfuse/issues/396

which is a 'wontfix'; I think the padding only really exists because
of the ABI requirements; so there's not much point in us changing it.
We could just drop padding.

Dave

> > ---
> >  contrib/virtiofsd/fuse_common.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/contrib/virtiofsd/fuse_common.h b/contrib/virtiofsd/fuse_common.h
> > index 6419f66470..4d95f6f28b 100644
> > --- a/contrib/virtiofsd/fuse_common.h
> > +++ b/contrib/virtiofsd/fuse_common.h
> > @@ -65,7 +65,7 @@ struct fuse_file_info {
> >  	unsigned int flock_release : 1;
> >  
> >  	/** Padding.  Do not use*/
> > -	unsigned int padding : 27;
> > +	unsigned int padding : 26;
> >  
> >  	/** File handle.  May be filled in by filesystem in open().
> >  	    Available in all other file operations */
> > -- 
> > 2.17.2
> > 
> --
> Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK
--
Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK




More information about the Virtio-fs mailing list