zfs/lib/libzfs
наб 30620ad8e1 libzfs: refresh property cache after inheriting userprop
This matches what happens when inheriting a system property

Consider the following program:
	int main() {
		void *zhp = libzfs_init();
		void *dataset = zfs_open(zhp, "zest/__test", 1);

		printf("before:");
		dump_nvlist(zfs_get_user_props(dataset), 2);
		printf("\n");

		zfs_prop_inherit(dataset, "xyz.nabijaczleweli:test", 0);
		printf("after:");
		dump_nvlist(zfs_get_user_props(dataset), 2);
		printf("\n");

		zfs_refresh_properties(dataset);
		printf("refreshed:");
		dump_nvlist(zfs_get_user_props(dataset), 2);
		printf("\n");
	}

And the output before:
	# zfs set xyz.nabijaczleweli:test=hehe zest/__test
	# ./a.out
	before:  xyz.nabijaczleweli:test:
	      value: 'hehe'
	      source: 'zest/__test'

	after:  xyz.nabijaczleweli:test:
	      value: 'hehe'
	      source: 'zest/__test'

	refreshed:

As compared to the output after:
	# zfs set xyz.nabijaczleweli:test=hehe zest/__test
	# ./a.out
	before:  xyz.nabijaczleweli:test:
	      value: 'hehe'
	      source: 'zest/__test'

	after:
	refreshed:

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #11064
Closes #11911
2021-06-23 13:22:14 -07:00
..
os FreeBSD libzfs: gcc requires __thread after static 2020-12-23 14:34:59 -08:00
.gitignore Clean up lib dependencies 2020-07-10 14:26:00 -07:00
Makefile.am Linux 5.10 compat: use iov_iter in uio structure 2020-12-23 14:35:39 -08:00
THIRDPARTYLICENSE.openssl Fix typos in lib/ 2019-09-02 17:53:27 -07:00
THIRDPARTYLICENSE.openssl.descrip Encryption patch follow-up 2017-10-11 16:54:48 -04:00
libzfs.abi Add ABI snapshot 2020-11-17 20:48:53 +00:00
libzfs.pc.in Spruce up pkg-config files for libzfs/libzfs_core 2020-09-09 10:26:01 -07:00
libzfs.suppr Library ABI tracking with abigail 2020-11-17 20:29:02 +00:00
libzfs_changelist.c Add 'zfs rename -u' to rename without remounting 2020-09-03 16:16:15 -07:00
libzfs_config.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_crypto.c libzfs: don't mark prompt+raw as retriable 2021-06-23 13:22:14 -07:00
libzfs_dataset.c libzfs: refresh property cache after inheriting userprop 2021-06-23 13:22:14 -07:00
libzfs_diff.c Don't open zfs control device exclusively 2020-02-28 14:54:14 -08:00
libzfs_import.c Persistent L2ARC 2020-04-10 10:33:35 -07:00
libzfs_iter.c Mark functions as static 2020-06-18 12:20:38 -07:00
libzfs_mount.c libzfs: zfs_mount_at(): load key for encryption root if MS_CRYPT 2021-06-23 13:22:14 -07:00
libzfs_pool.c zpool: Dryrun fails to list some devices 2021-01-08 15:37:56 -08:00
libzfs_sendrecv.c send_iterate_snap : doall send without fromsnap 2021-03-05 12:54:39 -08:00
libzfs_status.c Import vdev ashift optimization from FreeBSD 2020-08-21 12:53:17 -07:00
libzfs_util.c libzfs{,_core}: set O_CLOEXEC on persistent (ZFS_DEV and MNTTAB) fds 2021-06-23 13:22:14 -07:00