zfs icon indicating copy to clipboard operation
zfs copied to clipboard

zcp: can’t zfs.get_prop() on a bookmark

Open delan opened this issue 1 month ago • 0 comments

System information

Type Version/Name
Distribution Name NixOS
Distribution Version 25.11.20250830.d7600c7
Kernel Version 6.16.4
Architecture x86_64
OpenZFS Version zfs-2.3.4-1
zfs-kmod-2.3.4-1

Describe the problem you're observing

according to zfs get all, bookmarks appear to have properties including creation, just like snapshots. but if you try to read the creation of a bookmark in a channel program, it fails with EXDEV (for bookmarks on the root dataset of a pool) or ENOENT (otherwise).

Describe how to reproduce the problem

$ sudo zfs create tank/test
$ sudo zfs snapshot -r tank@foo
$ sudo zfs bookmark tank@foo tank\#foo
$ sudo zfs bookmark tank/test@foo tank/test\#foo
$ sudo zfs program tank test.zfs.lua tank@foo
$ sudo zfs program tank test.zfs.lua tank/test@foo
$ sudo zfs program tank test.zfs.lua tank\#foo
$ sudo zfs program tank test.zfs.lua tank/test\#foo

test.zfs.lua:

result = zfs.get_prop((...).argv[1], "creation")
return result

Include any warning/errors/backtraces from the system logs

$ sudo zfs program tank test.zfs.lua tank@foo
Channel program fully executed and produced output:
    return: 1763460442
$ sudo zfs program tank test.zfs.lua tank/test@foo
Channel program fully executed and produced output:
    return: 1763460442
$ sudo zfs program tank test.zfs.lua tank\#foo
Channel program execution failed:
[string "channel program"]:8: bad argument #1 to 'get_prop' (dataset 'tank#foo' is not in the target pool 'tank')
stack traceback:
	[C]: in function 'get_prop'
	[string "channel program"]:8: in main chunk
$ sudo zfs program tank test.zfs.lua tank/test\#foo
Channel program execution failed:
[string "channel program"]:8: bad argument #1 to 'get_prop' (no such dataset 'tank/test#foo')
stack traceback:
	[C]: in function 'get_prop'
	[string "channel program"]:8: in main chunk

delan avatar Nov 18 '25 10:11 delan