On 07/06/2018 03:43 PM, Julio Faracco wrote: > This commit renames and adds other macros to support aother filesystems > when a reflink is performed. After that, XFS filesystems (and others) > with reflink support will be able to clone. > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1565004 > > Signed-off-by: Julio Faracco <jcfaracco@xxxxxxxxx> > --- > src/storage/storage_util.c | 20 ++++++++++++++------ > 1 file changed, 14 insertions(+), 6 deletions(-) > > diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c > index a701a75702..fd1239c6cb 100644 > --- a/src/storage/storage_util.c > +++ b/src/storage/storage_util.c > @@ -36,6 +36,9 @@ > # ifndef FS_NOCOW_FL > # define FS_NOCOW_FL 0x00800000 /* Do not cow file */ > # endif > +# ifdef FICLONE > +# define REFLINK_IOC_CLONE FICLONE > +# endif > #endif > > #if WITH_BLKID > @@ -48,6 +51,10 @@ > > #if HAVE_LINUX_BTRFS_H > # include <linux/btrfs.h> > +# define REFLINK_IOC_CLONE BTRFS_IOC_CLONE > +#elif HAVE_XFS_XFS_H > +# include <xfs/xfs.h> > +# define REFLINK_IOC_CLONE XFS_IOC_CLONE > #endif > Problem is, REFLING_IOC_CLONE is defined already at this point (by hunk above) so this redefines the macro. Fixed by squashing this in: diff --git i/src/storage/storage_util.c w/src/storage/storage_util.c index fd1239c6cb..da99043e0a 100644 --- i/src/storage/storage_util.c +++ w/src/storage/storage_util.c @@ -36,9 +36,6 @@ # ifndef FS_NOCOW_FL # define FS_NOCOW_FL 0x00800000 /* Do not cow file */ # endif -# ifdef FICLONE -# define REFLINK_IOC_CLONE FICLONE -# endif #endif #if WITH_BLKID @@ -55,6 +52,8 @@ #elif HAVE_XFS_XFS_H # include <xfs/xfs.h> # define REFLINK_IOC_CLONE XFS_IOC_CLONE +#elif defined(FICLONE) +# define REFLINK_IOC_CLONE FICLONE #endif #include "datatypes.h" Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list