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 };
--
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