equal
deleted
inserted
replaced
1922 zfs_set_prop_nvlist(const char *dsname, zprop_source_t source, nvlist_t *nvl, |
1922 zfs_set_prop_nvlist(const char *dsname, zprop_source_t source, nvlist_t *nvl, |
1923 nvlist_t **errlist) |
1923 nvlist_t **errlist) |
1924 { |
1924 { |
1925 nvpair_t *pair; |
1925 nvpair_t *pair; |
1926 nvpair_t *propval; |
1926 nvpair_t *propval; |
1927 int err = 0; |
|
1928 int rv = 0; |
1927 int rv = 0; |
1929 uint64_t intval; |
1928 uint64_t intval; |
1930 char *strval; |
1929 char *strval; |
1931 nvlist_t *genericnvl; |
1930 nvlist_t *genericnvl; |
1932 nvlist_t *errors; |
1931 nvlist_t *errors; |
1939 retry: |
1938 retry: |
1940 pair = NULL; |
1939 pair = NULL; |
1941 while ((pair = nvlist_next_nvpair(nvl, pair)) != NULL) { |
1940 while ((pair = nvlist_next_nvpair(nvl, pair)) != NULL) { |
1942 const char *propname = nvpair_name(pair); |
1941 const char *propname = nvpair_name(pair); |
1943 zfs_prop_t prop = zfs_name_to_prop(propname); |
1942 zfs_prop_t prop = zfs_name_to_prop(propname); |
|
1943 int err = 0; |
1944 |
1944 |
1945 /* decode the property value */ |
1945 /* decode the property value */ |
1946 propval = pair; |
1946 propval = pair; |
1947 if (nvpair_type(pair) == DATA_TYPE_NVLIST) { |
1947 if (nvpair_type(pair) == DATA_TYPE_NVLIST) { |
1948 nvlist_t *attrs; |
1948 nvlist_t *attrs; |
2029 * can, so try setting them individually. |
2029 * can, so try setting them individually. |
2030 */ |
2030 */ |
2031 pair = NULL; |
2031 pair = NULL; |
2032 while ((pair = nvlist_next_nvpair(genericnvl, pair)) != NULL) { |
2032 while ((pair = nvlist_next_nvpair(genericnvl, pair)) != NULL) { |
2033 const char *propname = nvpair_name(pair); |
2033 const char *propname = nvpair_name(pair); |
|
2034 int err = 0; |
2034 |
2035 |
2035 propval = pair; |
2036 propval = pair; |
2036 if (nvpair_type(pair) == DATA_TYPE_NVLIST) { |
2037 if (nvpair_type(pair) == DATA_TYPE_NVLIST) { |
2037 nvlist_t *attrs; |
2038 nvlist_t *attrs; |
2038 VERIFY(nvpair_value_nvlist(pair, &attrs) == 0); |
2039 VERIFY(nvpair_value_nvlist(pair, &attrs) == 0); |