On Wed, Jun 26, 2019 at 08:35:42AM -0700, Darrick J. Wong wrote: > > static inline void simple_fill_fsxattr(struct fsxattr *fa, unsigned xflags) > > { > > memset(fa, 0, sizeof(*fa)); > > fa->fsx_xflags = xflags; > > } > > > > and let the compiler optimize the crap out? > > The v2 series used to do that, but Christoph complained that having a > helper for a two-line memset and initialization was silly[1] so now we > have this version. > > I don't mind reinstating it as a static inline helper, but I'd like some > input from any of the btrfs developers (or you, Al) about which form is > preferred. I complained having that helper in btrfs. I think Al wants a generic one, which at least makes a little more sense. That being said I wonder if we should lift these attr ioctls to file op methods and deal with all that crap in VFS code instead of having all those duplicated ioctl parsers.