[root@f25h mnt]# btrfs fi du -s home.20170104
Total Exclusive Set shared Filename
ERROR: cannot check space of 'home.20170104': Inappropriate ioctl for device
The command works on this snapshot's parent.
kernel 4.8.15
btrfs-progs 4.8.5
What's interesting is the parent contains nested subvolumes and
snapshots of those subvolumes. Whereas the snapshot of course doesn't
contain those nested subvolumes or snapshots. So it's almost like the
fact there's a "missing" nested snapshot is what's causing the error.
A strace suggests that's the problem...
newfstatat(4, "gits", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
stat("home.20170104/chris/gits", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
open("home.20170104/chris/gits", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
fstat(5, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
ioctl(5, BTRFS_IOC_INO_LOOKUP, {treeid=0, objectid=256 /*
BTRFS_FIRST_FREE_OBJECTID */}) = -1 ENOTTY (Inappropriate ioctl for
device)
close(5) = 0
getdents(4, /* 0 entries */, 32768) = 0
close(4) = 0
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
write(2, "ERROR: ", 7) = 7
write(2, "cannot check space of 'home.2017"..., 69) = 69
home.20170104/chris/gits is an empty directory (in the subvolume
that's having the btrfs du command run on). But in the original home,
this is home/chris/gits which is a subvolume that's not empty.
--
Chris Murphy
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html