zfs/lib/libzfs
наб a31ac10185 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-04-17 12:39:54 -07:00
..
os lib/: set O_CLOEXEC on all fds 2021-04-11 15:45:59 -07:00
.gitignore Clean up lib dependencies 2020-07-10 14:26:00 -07:00
Makefile.am Bump libzfs.so and libzpool.so versions 2021-04-01 16:53:05 -07: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 libzfs: get rid of unused libzfs_handle::libzfs_{storeerr,chassis_id} 2021-04-13 14:15:06 -07:00
libzfs.pc.in Spruce up pkg-config files for libzfs/libzfs_core 2020-09-04 11:11:18 -07:00
libzfs.suppr Library ABI tracking with abigail 2020-11-17 09:18:52 -08:00
libzfs_changelist.c Add 'zfs rename -u' to rename without remounting 2020-09-01 16:14:16 -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-04-17 12:39:28 -07:00
libzfs_dataset.c libzfs: refresh property cache after inheriting userprop 2021-04-17 12:39:54 -07:00
libzfs_diff.c lib/: set O_CLOEXEC on all fds 2021-04-11 15:45:59 -07:00
libzfs_import.c zpool: speed up importing large pools (#11469) 2021-01-21 12:55:54 -08:00
libzfs_iter.c lib/: set O_CLOEXEC on all fds 2021-04-11 15:45:59 -07:00
libzfs_mount.c libzfs: get rid of libzfs_handle::libzfs_mnttab 2021-04-13 14:14:44 -07:00
libzfs_pool.c Improvements to the 'compatibility' property 2021-04-12 09:08:56 -07:00
libzfs_sendrecv.c cmd/zfs receive: allow dry-run (-n) to check property args 2021-04-12 09:35:55 -07:00
libzfs_status.c Improvements to the 'compatibility' property 2021-04-12 09:08:56 -07:00
libzfs_util.c libzfs: get rid of libzfs_handle::libzfs_mnttab 2021-04-13 14:14:44 -07:00