Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"zfs diff" is unable to determine path or stats for an object #948

Closed
chungy opened this issue Sep 8, 2012 · 14 comments
Closed

"zfs diff" is unable to determine path or stats for an object #948

chungy opened this issue Sep 8, 2012 · 14 comments

Comments

@chungy
Copy link
Contributor

chungy commented Sep 8, 2012

(OS info: Arch Linux x86_64 with stock kernel 3.5.3 and SPL/ZFS 0.6.0_rc10)

I have a filesystem I'm using to host a CentOS 5 container within, but when I try to use zfs diff I get an error; I have performed a zpool scrub that returned precisely zero errors in the pool, but it did not resolve this situation. No messages appear in dmesg about it, either.

Example run:

# zfs list -rt all philipjfry/lxc/centos5
NAME                           USED  AVAIL  REFER  MOUNTPOINT
philipjfry/lxc/centos5        1.53G  68.4G  1.52G  /lxc/centos5
philipjfry/lxc/centos5@fresh  1.09M      -  1.52G  -
# zfs diff philipjfry/lxc/centos5@fresh
M       /lxc/centos5/
M       /lxc/centos5/var/run
Unable to determine path or stats for object 7734 in philipjfry/lxc/centos5@fresh: No such file or directory

Sorry for the quite possible lack of information to reproduce it (short of myself running it), but I'll be happy to respond with more info if I'm asked to (and how).

@behlendorf
Copy link
Contributor

The zfs diff command relies on the .zfs/snapshot functionality. Unfortunately, this still requires at least a 2.6.37 kernel or something like RHEL6.2 which back ported these changes. If your running an older kernel, I could imaging you getting this failure.

Arguably we should disable the zfs diff command entirely in situations like this where it isn't expected to work.

@chungy
Copy link
Contributor Author

chungy commented Sep 10, 2012

This is actually on Linux 3.5.3, so I don't imagine it's running into the same issue you're thinking of.

I often use zfs diff on other filesystems fine -- just don't know why it jams up on this particular one.

@behlendorf
Copy link
Contributor

That is surprising then. It would be helpful if you were able to strace zfs diff.. and include the portion of the log where we get the failure. Presumably it will be in a system call.

@chungy
Copy link
Contributor Author

chungy commented Sep 10, 2012

Yes; this is the end portion where it fails on running zfs diff philipjfry/lxc/centos5@fresh:

M   /lxc/centos5/var/run
, 0x7fffafa74060)        = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=1582, si_uid=0} ---
close(10)                               = 0
close(8)                                = 0
write(2, "Unable to determine path or stat"..., 109Unable to determine path or stats for object 7734 in philipjfry/lxc/centos5@fresh: No such file or directory
) = 109
close(5)                                = 0
lseek(6, 1067, SEEK_SET)                = 1067
close(6)                                = 0
munmap(0x7f930feef000, 4096)            = 0
close(7)                                = 0
close(4)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

@cmtonkinson
Copy link

Here is a second report from quite a different system.

$ uname -a
Linux [redacted] 3.11.6-1-ARCH #1 SMP PREEMPT Fri Oct 18 23:22:36 CEST 2013 x86_64 GNU/Linux

$ strace zfs diff inground/home@AUTO-daily-2013-11-08-00:00:01
, 0x7fff6d10c6e0)        = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6456, si_uid=0} ---
close(8)                                = 0
close(6)                                = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Unable to determine path or stat"..., 126Unable to determine path or stats for object 20585 in inground/home@AUTO-daily-2013-11-08-00:00:01: No such file or directory
) = 126
close(3)                                = 0
close(4)                                = 0
munmap(0x7f9cdc972000, 4096)            = 0
close(5)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

@pdemarino
Copy link

Same issue here after a selinux relabel.

Linux xeon2.home 3.14.4-200.fc20.x86_64 #1 SMP Tue May 13 13:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

execve("/sbin/zfs", ["zfs", "diff", "tank/oldraid@zfs-auto-snap_hourl"...], [/* 18 vars _/]) = 0
brk(0) = 0xde1000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d55000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=81775, ...}) = 0
mmap(NULL, 81775, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8355d41000
close(3) = 0
open("/lib64/libnvpair.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0pM\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=86528, ...}) = 0
mmap(NULL, 2180128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8355922000
mprotect(0x7f8355935000, 2097152, PROT_NONE) = 0
mmap(0x7f8355b35000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f8355b35000
close(3) = 0
open("/lib64/libuutil.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@W\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=74864, ...}) = 0
mmap(NULL, 2173272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f835570f000
mprotect(0x7f8355720000, 2093056, PROT_NONE) = 0
mmap(0x7f835591f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f835591f000
mmap(0x7f8355921000, 2392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8355921000
close(3) = 0
open("/lib64/libzpool.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0S\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1221760, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d40000
mmap(NULL, 3363000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f83553d9000
mprotect(0x7f83554fb000, 2093056, PROT_NONE) = 0
mmap(0x7f83556fa000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x121000) = 0x7f83556fa000
mmap(0x7f8355702000, 49336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8355702000
close(3) = 0
open("/lib64/libzfs.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\242\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=270264, ...}) = 0
mmap(NULL, 2362856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8355198000
mprotect(0x7f83551d7000, 2097152, PROT_NONE) = 0
mmap(0x7f83553d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3f000) = 0x7f83553d7000
close(3) = 0
open("/lib64/libzfs_core.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=15360, ...}) = 0
mmap(NULL, 2109840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354f94000
mprotect(0x7f8354f97000, 2093056, PROT_NONE) = 0
mmap(0x7f8355196000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f8355196000
close(3) = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220X\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1159944, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3f000
mmap(NULL, 3170648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354c8d000
mprotect(0x7f8354d92000, 2097152, PROT_NONE) = 0
mmap(0x7f8354f92000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x105000) = 0x7f8354f92000
close(3) = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19512, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354a89000
mprotect(0x7f8354a8c000, 2093056, PROT_NONE) = 0
mmap(0x7f8354c8b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f8354c8b000
close(3) = 0
open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=44048, ...}) = 0
mmap(NULL, 2128952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354881000
mprotect(0x7f8354888000, 2093056, PROT_NONE) = 0
mmap(0x7f8354a87000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f8354a87000
close(3) = 0
open("/lib64/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19944, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3e000
mmap(NULL, 2113920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f835467c000
mprotect(0x7f8354680000, 2093056, PROT_NONE) = 0
mmap(0x7f835487f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f835487f000
close(3) = 0
open("/lib64/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=90000, ...}) = 0
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=15360, ...}) = 0
mmap(NULL, 2109840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354f94000
mprotect(0x7f8354f97000, 2093056, PROT_NONE) = 0
mmap(0x7f8355196000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f8355196000
close(3) = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220X\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1159944, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3f000
mmap(NULL, 3170648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354c8d000
mprotect(0x7f8354d92000, 2097152, PROT_NONE) = 0
mmap(0x7f8354f92000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x105000) = 0x7f8354f92000
close(3) = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19512, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354a89000
mprotect(0x7f8354a8c000, 2093056, PROT_NONE) = 0
mmap(0x7f8354c8b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f8354c8b000
close(3) = 0
open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=44048, ...}) = 0
mmap(NULL, 2128952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354881000
mprotect(0x7f8354888000, 2093056, PROT_NONE) = 0
mmap(0x7f8354a87000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f8354a87000
close(3) = 0
open("/lib64/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19944, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3e000
mmap(NULL, 2113920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f835467c000
mprotect(0x7f8354680000, 2093056, PROT_NONE) = 0
mmap(0x7f835487f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f835487f000
close(3) = 0
open("/lib64/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=90000, ...}) = 0
mmap(NULL, 2183688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354466000
mprotect(0x7f835447b000, 2093056, PROT_NONE) = 0
mmap(0x7f835467a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f835467a000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340m\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=147544, ...}) = 0
mmap(NULL, 2213104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354249000
mprotect(0x7f8354261000, 2093056, PROT_NONE) = 0
mmap(0x7f8354460000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f8354460000
mmap(0x7f8354462000, 13552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8354462000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\36\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2097264, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3d000
mmap(NULL, 3924576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8353e8a000
mprotect(0x7f835403e000, 2097152, PROT_NONE) = 0
mmap(0x7f835423e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b4000) = 0x7f835423e000
mmap(0x7f8354244000, 16992, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8354244000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3c000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3a000
arch_prctl(ARCH_SET_FS, 0x7f8355d3abc0) = 0
mprotect(0x7f835423e000, 16384, PROT_READ) = 0
mprotect(0x7f8354460000, 4096, PROT_READ) = 0
mprotect(0x7f835467a000, 4096, PROT_READ) = 0
mprotect(0x7f835487f000, 4096, PROT_READ) = 0
mprotect(0x7f8354a87000, 4096, PROT_READ) = 0
mprotect(0x7f8354c8b000, 4096, PROT_READ) = 0
mprotect(0x7f8354f92000, 4096, PROT_READ) = 0
mprotect(0x7f835591f000, 4096, PROT_READ) = 0
mprotect(0x7f8355b35000, 4096, PROT_READ) = 0
mprotect(0x7f8355196000, 4096, PROT_READ) = 0
mprotect(0x7f83556fa000, 8192, PROT_READ) = 0
mprotect(0x7f83553d7000, 4096, PROT_READ) = 0
mprotect(0x616000, 4096, PROT_READ) = 0
mprotect(0x7f8355d56000, 4096, PROT_READ) = 0
munmap(0x7f8355d41000, 81775) = 0
set_tid_address(0x7f8355d3ae90) = 12170
mprotect(0x7f835447b000, 2093056, PROT_NONE) = 0
mmap(0x7f835467a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f835467a000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340m\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=147544, ...}) = 0
mmap(NULL, 2213104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8354249000
mprotect(0x7f8354261000, 2093056, PROT_NONE) = 0
mmap(0x7f8354460000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f8354460000
mmap(0x7f8354462000, 13552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8354462000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\36\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2097264, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3d000
mmap(NULL, 3924576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8353e8a000
mprotect(0x7f835403e000, 2097152, PROT_NONE) = 0
mmap(0x7f835423e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b4000) = 0x7f835423e000
mmap(0x7f8354244000, 16992, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8354244000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3c000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d3a000
arch_prctl(ARCH_SET_FS, 0x7f8355d3abc0) = 0
mprotect(0x7f835423e000, 16384, PROT_READ) = 0
mprotect(0x7f8354460000, 4096, PROT_READ) = 0
mprotect(0x7f835467a000, 4096, PROT_READ) = 0
mprotect(0x7f835487f000, 4096, PROT_READ) = 0
mprotect(0x7f8354a87000, 4096, PROT_READ) = 0
mprotect(0x7f8354c8b000, 4096, PROT_READ) = 0
mprotect(0x7f8354f92000, 4096, PROT_READ) = 0
mprotect(0x7f835591f000, 4096, PROT_READ) = 0
mprotect(0x7f8355b35000, 4096, PROT_READ) = 0
mprotect(0x7f8355196000, 4096, PROT_READ) = 0
mprotect(0x7f83556fa000, 8192, PROT_READ) = 0
mprotect(0x7f83553d7000, 4096, PROT_READ) = 0
mprotect(0x616000, 4096, PROT_READ) = 0
mprotect(0x7f8355d56000, 4096, PROT_READ) = 0
munmap(0x7f8355d41000, 81775) = 0
set_tid_address(0x7f8355d3ae90) = 12170
set_robust_list(0x7f8355d3aea0, 24) = 0
rt_sigaction(SIGRTMIN, {0x7f835424f8c0, [], SA_RESTORER|SA_SIGINFO, 0x7f8354258750}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f835424f950, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f8354258750}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192_1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0xde1000
brk(0xe02000) = 0xe02000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106070960, ...}) = 0
mmap(NULL, 106070960, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f834d961000
close(3) = 0
access("/sys/module/zfs", F_OK) = 0
open("/dev/zfs", O_RDWR) = 3
open("/etc/mtab", O_RDONLY) = 4
open("/etc/dfs/sharetab", O_RDONLY) = 5
open("/dev/zfs", O_RDWR) = 6
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=2492, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d54000
read(7, "# Locale name alias data base.\n#"..., 4096) = 2492
read(7, "", 4096) = 0
close(7) = 0
munmap(0x7f8355d54000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
ioctl(3, 0x5a12, 0x7fff6ab6dbf0) = 0
ioctl(3, 0x5a05, 0x7fff6ab6a5a0) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7f8353ebfcb0}, NULL, 8) = 0
open("/dev/zfs", O_RDWR) = 7
ioctl(3, 0x5a37, 0x7fff6ab690d0) = 0
open("/etc/mtab", O_RDONLY) = 8
dup3(8, 4, 0) = 4
close(8) = 0
fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d54000
read(4, "rootfs / rootfs rw,seclabel 0 0\n"..., 1024) = 1024
rt_sigaction(SIGRTMIN, {0x7f835424f8c0, [], SA_RESTORER|SA_SIGINFO, 0x7f8354258750}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f835424f950, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f8354258750}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0xde1000
brk(0xe02000) = 0xe02000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106070960, ...}) = 0
mmap(NULL, 106070960, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f834d961000
close(3) = 0
access("/sys/module/zfs", F_OK) = 0
open("/dev/zfs", O_RDWR) = 3
open("/etc/mtab", O_RDONLY) = 4
open("/etc/dfs/sharetab", O_RDONLY) = 5
open("/dev/zfs", O_RDWR) = 6
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=2492, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d54000
read(7, "# Locale name alias data base.\n#"..., 4096) = 2492
read(7, "", 4096) = 0
close(7) = 0
munmap(0x7f8355d54000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/zfs-linux-user.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
ioctl(3, 0x5a12, 0x7fff6ab6dbf0) = 0
ioctl(3, 0x5a05, 0x7fff6ab6a5a0) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7f8353ebfcb0}, NULL, 8) = 0
open("/dev/zfs", O_RDWR) = 7
ioctl(3, 0x5a37, 0x7fff6ab690d0) = 0
open("/etc/mtab", O_RDONLY) = 8
dup3(8, 4, 0) = 4
close(8) = 0
fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8355d54000
read(4, "rootfs / rootfs rw,seclabel 0 0\n"..., 1024) = 1024
read(4, ",memory 0 0\ncgroup /sys/fs/cgrou"..., 1024) = 1024
read(4, "sunrpc /proc/fs/nfsd nfsd rw,rel"..., 1024) = 1024
read(4, "eclabel,noatime,xattr,noacl 0 0\n"..., 1024) = 1020
read(4, "", 1024) = 0
stat("/tank/oldraid/.zfs/shares/", {st_mode=S_IFDIR|0555, st_size=2, ...}) = 0
pipe([8, 9]) = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f834d160000
mprotect(0x7f834d160000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f834d95fb30, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f834d9609d0, tls=0x7f834d960700, child_tidptr=0x7f834d9609d0) = 12171
ioctl(3, 0x5a36, 0x7fff6ab6cc20) = 0
close(9) = 0
futex(0x7f834d9609d0, FUTEX_WAIT, 12171, NULL) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Unable to determine path or stat"..., 133Unable to determine path or stats for object 4257516 in tank/oldraid@zfs-auto-snap_hourly-2014-05-22-1201: No such file or directory
) = 133
close(3) = 0
close(4) = 0
munmap(0x7f8355d54000, 4096) = 0
close(5) = 0
close(6) = 0
exit_group(1) = ?
+++ exited with 1 +++

@FransUrbo
Copy link
Contributor

@behlendorf Why is this marked 'Documentation"?

@behlendorf
Copy link
Contributor

Changed to bug. When I originally categorized this issue I thought @chungy was using a kernel which didn't support the .zfs snapshot support. That appears to not be the case.

Has anyone tried to reproduce this in the latest code?

@chungy
Copy link
Contributor Author

chungy commented Jun 10, 2014

It's been over a year since I've had the system this bug was even an issue on. I can't reproduce it anywhere anymore, but assuming others can, the bug may as well remain open.

@pdemarino
Copy link

Not sure it is completely fixed. I just had a chance to run another test - changing the SELinux context for a couple files and running a zfs diff. Now it doesn't complain -- but it doesn't show a difference in the file system either.

Steps to reproduce:

[root@xeon2 git]# ll -Z
drwxr-xr-x. root root system_u:object_r:usr_t:s0 ZeroAccent.git
drwxr-xr-x. root root system_u:object_r:usr_t:s0 ZeroAccentTest

[root@xeon2 git]# chcon -R -t samba_share_t *

[root@xeon2 git]# ll -Z
drwxr-xr-x. root root system_u:object_r:samba_share_t:s0 ZeroAccent.git
drwxr-xr-x. root root system_u:object_r:samba_share_t:s0 ZeroAccentTest
[root@xeon2 git]# zfs diff tank/git@zfs-auto-snap_hourly-2014-06-13-2301
[root@xeon2 git]#

(The snapshot was taken before the chcon)

@behlendorf
Copy link
Contributor

@pdemarino It sounds like we have addressed the crash but there's another open issue, #2081, regarding changes not appearing in zfs diff. This appears to be an issue in the upstream ZFS code and isn't specific to Linux. Regardless, we need to fix it but let's move the discussion over to #2081 since that more clearly describes the remaining issue.

@behlendorf
Copy link
Contributor

I'm closing this issue out. The crash was addressed but there's clearly still an issue here which need to be fixed in the context of #2081.

@Bernard-Limogne
Copy link

If you create a ciphered dataset with 'dnodesize=auto', the result of the command 'zfs diff' is quite wrong after any update of the dataset .

@behlendorf
Copy link
Contributor

@Bernard-Limogne the issue you're describing sounds like the issue addressed by #9343. The fix for this is queued up for 0.8.3.

pcd1193182 pushed a commit to pcd1193182/zfs that referenced this issue Sep 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants