[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

Reply via email to