11 #include <linux/ioctl.h>
12 #include <linux/types.h>
13 #include "../../src/os/btrfs_ioctl.h"
15 struct btrfs_ioctl_vol_args_v2 va;
16 struct btrfs_ioctl_vol_args vold;
18 int main(int argc, char **argv)
26 printf("will do %d iterations\n", num);
28 fd = open(".", O_RDONLY);
30 strcpy(vold.name, "current");
31 r = ioctl(fd, BTRFS_IOC_SUBVOL_CREATE, (unsigned long int)&vold);
32 printf("create current ioctl got %d\n", r ? errno:0);
36 for (i=0; i<num; i++) {
37 sprintf(buf, "current/dir.%d", i);
39 printf("mkdir got %d\n", r ? errno:0);
44 va.fd = open("current", O_RDONLY);
45 va.flags = BTRFS_SUBVOL_CREATE_ASYNC;
46 for (i=0; i<num; i++) {
47 system("/bin/cp /boot/vmlinuz-3.2.0-ceph-00142-g9e98323 current/foo");
48 sprintf(buf, "current/dir.%d", i);
50 printf("rmdir got %d\n", r ? errno:0);
55 sprintf(va.name, "snap.%d", i);
56 r = ioctl(fd, BTRFS_IOC_SNAP_CREATE_V2, (unsigned long long)&va);
57 printf("ioctl got %d\n", r ? errno:0);