On Wed, Dec 14, 2016 at 11:26:07AM -0800, Christoph Hellwig wrote:
> On Wed, Dec 14, 2016 at 10:38:45AM -0800, Darrick J. Wong wrote:
> > > > +struct fake_btrfs_ioctl_same_args {
> > > > + struct btrfs_ioctl_same_args args;
> > > > + struct btrfs_ioctl_same_extent_info info;
> > > > +};
> > >
> > > Why does this need a fake structure here?
> >
> > In order to test the ioctl we have to fill out at least one
> > btrfs_ioctl_same_extent_info so that we get far enough into the fs-specific
> > dedupe_range handler that we've verified that the fs is capable of dedupe and
> > that the fs is willing to try to satisfy the request.
>
> Oh, got it, it's just the fake that tripped me up.
>
> > We could just malloc sizeof(_same_args) + sizeof(_same_extent_info)...
>
> Either that, or more simply just don't give the structure a name
> by just declaring it locally on the stack:
>
> struct {
> struct btrfs_ioctl_same_args args;
> struct btrfs_ioctl_same_extent_info info;
> } sa = { 0 };
Fair enough, no need to pollute the namespace.
--D
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html