52 "userquota@",
53 "groupused@",
54 "groupquota@"
55 };
56
57 zprop_desc_t *
58 zfs_prop_get_table(void)
59 {
60 return (zfs_prop_table);
61 }
62
63 void
64 zfs_prop_init(void)
65 {
66 static zprop_index_t checksum_table[] = {
67 { "on", ZIO_CHECKSUM_ON },
68 { "off", ZIO_CHECKSUM_OFF },
69 { "fletcher2", ZIO_CHECKSUM_FLETCHER_2 },
70 { "fletcher4", ZIO_CHECKSUM_FLETCHER_4 },
71 { "sha256", ZIO_CHECKSUM_SHA256 },
72 { NULL }
73 };
74
75 static zprop_index_t dedup_table[] = {
76 { "on", ZIO_CHECKSUM_ON },
77 { "off", ZIO_CHECKSUM_OFF },
78 { "verify", ZIO_CHECKSUM_ON | ZIO_CHECKSUM_VERIFY },
79 { "sha256", ZIO_CHECKSUM_SHA256 },
80 { "sha256,verify",
81 ZIO_CHECKSUM_SHA256 | ZIO_CHECKSUM_VERIFY },
82 { NULL }
83 };
84
85 static zprop_index_t compress_table[] = {
86 { "on", ZIO_COMPRESS_ON },
87 { "off", ZIO_COMPRESS_OFF },
88 { "lzjb", ZIO_COMPRESS_LZJB },
89 { "gzip", ZIO_COMPRESS_GZIP_6 }, /* gzip default */
90 { "gzip-1", ZIO_COMPRESS_GZIP_1 },
91 { "gzip-2", ZIO_COMPRESS_GZIP_2 },
92 { "gzip-3", ZIO_COMPRESS_GZIP_3 },
93 { "gzip-4", ZIO_COMPRESS_GZIP_4 },
94 { "gzip-5", ZIO_COMPRESS_GZIP_5 },
95 { "gzip-6", ZIO_COMPRESS_GZIP_6 },
96 { "gzip-7", ZIO_COMPRESS_GZIP_7 },
97 { "gzip-8", ZIO_COMPRESS_GZIP_8 },
98 { "gzip-9", ZIO_COMPRESS_GZIP_9 },
99 { "zle", ZIO_COMPRESS_ZLE },
100 { "lz4", ZIO_COMPRESS_LZ4 },
101 { NULL }
187 { "metadata", ZFS_CACHE_METADATA },
188 { "all", ZFS_CACHE_ALL },
189 { NULL }
190 };
191
192 static zprop_index_t sync_table[] = {
193 { "standard", ZFS_SYNC_STANDARD },
194 { "always", ZFS_SYNC_ALWAYS },
195 { "disabled", ZFS_SYNC_DISABLED },
196 { NULL }
197 };
198
199 /* inherit index properties */
200 zprop_register_index(ZFS_PROP_SYNC, "sync", ZFS_SYNC_STANDARD,
201 PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
202 "standard | always | disabled", "SYNC",
203 sync_table);
204 zprop_register_index(ZFS_PROP_CHECKSUM, "checksum",
205 ZIO_CHECKSUM_DEFAULT, PROP_INHERIT, ZFS_TYPE_FILESYSTEM |
206 ZFS_TYPE_VOLUME,
207 "on | off | fletcher2 | fletcher4 | sha256", "CHECKSUM",
208 checksum_table);
209 zprop_register_index(ZFS_PROP_DEDUP, "dedup", ZIO_CHECKSUM_OFF,
210 PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
211 "on | off | verify | sha256[,verify]", "DEDUP",
212 dedup_table);
213 zprop_register_index(ZFS_PROP_COMPRESSION, "compression",
214 ZIO_COMPRESS_DEFAULT, PROP_INHERIT,
215 ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
216 "on | off | lzjb | gzip | gzip-[1-9] | zle | lz4",
217 "COMPRESS", compress_table);
218 zprop_register_index(ZFS_PROP_SNAPDIR, "snapdir", ZFS_SNAPDIR_HIDDEN,
219 PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
220 "hidden | visible", "SNAPDIR", snapdir_table);
221 zprop_register_index(ZFS_PROP_ACLMODE, "aclmode", ZFS_ACL_DISCARD,
222 PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
223 "discard | groupmask | passthrough | restricted", "ACLMODE",
224 acl_mode_table);
225 zprop_register_index(ZFS_PROP_ACLINHERIT, "aclinherit",
226 ZFS_ACL_RESTRICTED, PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
227 "discard | noallow | restricted | passthrough | passthrough-x",
228 "ACLINHERIT", acl_inherit_table);
229 zprop_register_index(ZFS_PROP_COPIES, "copies", 1, PROP_INHERIT,
230 ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
231 "1 | 2 | 3", "COPIES", copies_table);
232 zprop_register_index(ZFS_PROP_PRIMARYCACHE, "primarycache",
|
52 "userquota@",
53 "groupused@",
54 "groupquota@"
55 };
56
57 zprop_desc_t *
58 zfs_prop_get_table(void)
59 {
60 return (zfs_prop_table);
61 }
62
63 void
64 zfs_prop_init(void)
65 {
66 static zprop_index_t checksum_table[] = {
67 { "on", ZIO_CHECKSUM_ON },
68 { "off", ZIO_CHECKSUM_OFF },
69 { "fletcher2", ZIO_CHECKSUM_FLETCHER_2 },
70 { "fletcher4", ZIO_CHECKSUM_FLETCHER_4 },
71 { "sha256", ZIO_CHECKSUM_SHA256 },
72 { "edonr512/256", ZIO_CHECKSUM_EDONR512_256 },
73 { NULL }
74 };
75
76 static zprop_index_t dedup_table[] = {
77 { "on", ZIO_CHECKSUM_ON },
78 { "off", ZIO_CHECKSUM_OFF },
79 { "verify", ZIO_CHECKSUM_ON | ZIO_CHECKSUM_VERIFY },
80 { "sha256", ZIO_CHECKSUM_SHA256 },
81 { "sha256,verify",
82 ZIO_CHECKSUM_SHA256 | ZIO_CHECKSUM_VERIFY },
83 { "edonr512/256", ZIO_CHECKSUM_EDONR512_256 },
84 { "edonr512/256,verify",
85 ZIO_CHECKSUM_EDONR512_256 | ZIO_CHECKSUM_VERIFY },
86 { NULL }
87 };
88
89 static zprop_index_t compress_table[] = {
90 { "on", ZIO_COMPRESS_ON },
91 { "off", ZIO_COMPRESS_OFF },
92 { "lzjb", ZIO_COMPRESS_LZJB },
93 { "gzip", ZIO_COMPRESS_GZIP_6 }, /* gzip default */
94 { "gzip-1", ZIO_COMPRESS_GZIP_1 },
95 { "gzip-2", ZIO_COMPRESS_GZIP_2 },
96 { "gzip-3", ZIO_COMPRESS_GZIP_3 },
97 { "gzip-4", ZIO_COMPRESS_GZIP_4 },
98 { "gzip-5", ZIO_COMPRESS_GZIP_5 },
99 { "gzip-6", ZIO_COMPRESS_GZIP_6 },
100 { "gzip-7", ZIO_COMPRESS_GZIP_7 },
101 { "gzip-8", ZIO_COMPRESS_GZIP_8 },
102 { "gzip-9", ZIO_COMPRESS_GZIP_9 },
103 { "zle", ZIO_COMPRESS_ZLE },
104 { "lz4", ZIO_COMPRESS_LZ4 },
105 { NULL }
191 { "metadata", ZFS_CACHE_METADATA },
192 { "all", ZFS_CACHE_ALL },
193 { NULL }
194 };
195
196 static zprop_index_t sync_table[] = {
197 { "standard", ZFS_SYNC_STANDARD },
198 { "always", ZFS_SYNC_ALWAYS },
199 { "disabled", ZFS_SYNC_DISABLED },
200 { NULL }
201 };
202
203 /* inherit index properties */
204 zprop_register_index(ZFS_PROP_SYNC, "sync", ZFS_SYNC_STANDARD,
205 PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
206 "standard | always | disabled", "SYNC",
207 sync_table);
208 zprop_register_index(ZFS_PROP_CHECKSUM, "checksum",
209 ZIO_CHECKSUM_DEFAULT, PROP_INHERIT, ZFS_TYPE_FILESYSTEM |
210 ZFS_TYPE_VOLUME,
211 "on | off | fletcher2 | fletcher4 | sha256 | edonr512/256",
212 "CHECKSUM", checksum_table);
213 zprop_register_index(ZFS_PROP_DEDUP, "dedup", ZIO_CHECKSUM_OFF,
214 PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
215 "on | off | verify | sha256[,verify] | edonr512/256[,verify]",
216 "DEDUP", dedup_table);
217 zprop_register_index(ZFS_PROP_COMPRESSION, "compression",
218 ZIO_COMPRESS_DEFAULT, PROP_INHERIT,
219 ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
220 "on | off | lzjb | gzip | gzip-[1-9] | zle | lz4",
221 "COMPRESS", compress_table);
222 zprop_register_index(ZFS_PROP_SNAPDIR, "snapdir", ZFS_SNAPDIR_HIDDEN,
223 PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
224 "hidden | visible", "SNAPDIR", snapdir_table);
225 zprop_register_index(ZFS_PROP_ACLMODE, "aclmode", ZFS_ACL_DISCARD,
226 PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
227 "discard | groupmask | passthrough | restricted", "ACLMODE",
228 acl_mode_table);
229 zprop_register_index(ZFS_PROP_ACLINHERIT, "aclinherit",
230 ZFS_ACL_RESTRICTED, PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
231 "discard | noallow | restricted | passthrough | passthrough-x",
232 "ACLINHERIT", acl_inherit_table);
233 zprop_register_index(ZFS_PROP_COPIES, "copies", 1, PROP_INHERIT,
234 ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
235 "1 | 2 | 3", "COPIES", copies_table);
236 zprop_register_index(ZFS_PROP_PRIMARYCACHE, "primarycache",
|