goto err;
}
- if (mkdir_p(new->dest, 0755) < 0) {
- ERROR("Failed to create directory \"%s\"", new->dest);
- goto err;
- }
-
arg.src = orig->dest;
arg.dest = new->dest;
if (am_unpriv())
if (snap) {
struct rsync_data_char sdata;
- if (!am_unpriv())
- return btrfs_snapshot(orig->dest, new->dest);
+ if (!am_unpriv()) {
+ ret = btrfs_snapshot(orig->dest, new->dest);
+ if (ret < 0) {
+ SYSERROR("Failed to create btrfs snapshot "
+ "\"%s\" from \"%s\"",
+ new->dest, orig->dest);
+ return -1;
+ }
+ TRACE("Created btrfs snapshot \"%s\" from \"%s\"",
+ new->dest, orig->dest);
+ return 0;
+ }
+
sdata.dest = new->dest;
sdata.src = orig->dest;
return userns_exec_1(conf, btrfs_snapshot_wrapper, &sdata,
ret = btrfs_subvolume_create(new->dest);
if (ret < 0)
SYSERROR("Failed to create btrfs subvolume \"%s\"", new->dest);
+ else
+ TRACE("Created btrfs subvolume \"%s\"", new->dest);
return ret;
}