HomeFreeBSD

libzfs: refresh property cache after inheriting userprop

Description

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:

  1. zfs set xyz.nabijaczleweli:test=hehe zest/__test
  2. ./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:

  1. zfs set xyz.nabijaczleweli:test=hehe zest/__test
  2. ./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

Details

Provenance
наб <nabijaczleweli@nabijaczleweli.xyz>Authored on Apr 16 2021, 6:03 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Apr 17 2021, 7:39 PM
Parents
rGbfe8b9fff388: libzfs: don't mark prompt+raw as retriable
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rGa31ac10185e6: libzfs: refresh property cache after inheriting userprop (authored by наб <nabijaczleweli@nabijaczleweli.xyz>).Apr 17 2021, 7:39 PM