Lines Matching full:feature

76 	    "    feature stat <pool>\n"  in usage()
78 " feature enable [-r] [-d desc] <pool> <feature>\n" in usage()
79 " add a new enabled feature to the pool\n" in usage()
80 " -d <desc> sets the feature's description\n" in usage()
81 " -r set read-only compatible flag for feature\n" in usage()
82 " feature ref [-md] <pool> <feature>\n" in usage()
83 " change the refcount on the given feature\n" in usage()
85 " -m add the feature to the label if increasing refcount\n" in usage()
87 " <feature> : should be a feature guid\n" in usage()
276 zfeature_info_t *feature = arg; in zhack_feature_enable_sync() local
278 feature_enable_sync(spa, feature, tx); in zhack_feature_enable_sync()
280 spa_history_log_internal(spa, "zhack enable feature", tx, in zhack_feature_enable_sync()
282 feature->fi_guid, feature->fi_flags); in zhack_feature_enable_sync()
292 zfeature_info_t feature; in zhack_do_feature_enable() local
300 feature.fi_uname = "zhack"; in zhack_do_feature_enable()
301 feature.fi_flags = 0; in zhack_do_feature_enable()
302 feature.fi_depends = nodeps; in zhack_do_feature_enable()
303 feature.fi_feature = SPA_FEATURE_NONE; in zhack_do_feature_enable()
309 feature.fi_flags |= ZFEATURE_FLAG_READONLY_COMPAT; in zhack_do_feature_enable()
324 feature.fi_desc = desc; in zhack_do_feature_enable()
330 (void) fprintf(stderr, "error: missing feature or pool name\n"); in zhack_do_feature_enable()
334 feature.fi_guid = argv[1]; in zhack_do_feature_enable()
336 if (!zfeature_is_valid_guid(feature.fi_guid)) in zhack_do_feature_enable()
337 fatal(NULL, FTAG, "invalid feature guid: %s", feature.fi_guid); in zhack_do_feature_enable()
342 if (zfeature_is_supported(feature.fi_guid)) in zhack_do_feature_enable()
343 fatal(spa, FTAG, "'%s' is a real feature, will not enable", in zhack_do_feature_enable()
344 feature.fi_guid); in zhack_do_feature_enable()
345 if (0 == zap_contains(mos, spa->spa_feat_desc_obj, feature.fi_guid)) in zhack_do_feature_enable()
346 fatal(spa, FTAG, "feature already enabled: %s", in zhack_do_feature_enable()
347 feature.fi_guid); in zhack_do_feature_enable()
350 zhack_feature_enable_sync, &feature, 5, ZFS_SPACE_CHECK_NORMAL)); in zhack_do_feature_enable()
361 zfeature_info_t *feature = arg; in feature_incr_sync() local
364 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount)); in feature_incr_sync()
365 feature_sync(spa, feature, refcount + 1, tx); in feature_incr_sync()
366 spa_history_log_internal(spa, "zhack feature incr", tx, in feature_incr_sync()
367 "name=%s", feature->fi_guid); in feature_incr_sync()
374 zfeature_info_t *feature = arg; in feature_decr_sync() local
377 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount)); in feature_decr_sync()
378 feature_sync(spa, feature, refcount - 1, tx); in feature_decr_sync()
379 spa_history_log_internal(spa, "zhack feature decr", tx, in feature_decr_sync()
380 "name=%s", feature->fi_guid); in feature_decr_sync()
391 zfeature_info_t feature; in zhack_do_feature_ref() local
396 * when the feature was enabled, but we need to properly set the in zhack_do_feature_ref()
397 * feature for read or write based on the information we read off in zhack_do_feature_ref()
400 feature.fi_uname = "zhack"; in zhack_do_feature_ref()
401 feature.fi_flags = 0; in zhack_do_feature_ref()
402 feature.fi_desc = NULL; in zhack_do_feature_ref()
403 feature.fi_depends = nodeps; in zhack_do_feature_ref()
404 feature.fi_feature = SPA_FEATURE_NONE; in zhack_do_feature_ref()
410 feature.fi_flags |= ZFEATURE_FLAG_MOS; in zhack_do_feature_ref()
424 (void) fprintf(stderr, "error: missing feature or pool name\n"); in zhack_do_feature_ref()
428 feature.fi_guid = argv[1]; in zhack_do_feature_ref()
430 if (!zfeature_is_valid_guid(feature.fi_guid)) in zhack_do_feature_ref()
431 fatal(NULL, FTAG, "invalid feature guid: %s", feature.fi_guid); in zhack_do_feature_ref()
436 if (zfeature_is_supported(feature.fi_guid)) { in zhack_do_feature_ref()
438 "'%s' is a real feature, will not change refcount", in zhack_do_feature_ref()
439 feature.fi_guid); in zhack_do_feature_ref()
443 feature.fi_guid)) { in zhack_do_feature_ref()
444 feature.fi_flags &= ~ZFEATURE_FLAG_READONLY_COMPAT; in zhack_do_feature_ref()
446 feature.fi_guid)) { in zhack_do_feature_ref()
447 feature.fi_flags |= ZFEATURE_FLAG_READONLY_COMPAT; in zhack_do_feature_ref()
449 fatal(spa, FTAG, "feature is not enabled: %s", feature.fi_guid); in zhack_do_feature_ref()
454 if (feature_get_refcount_from_disk(spa, &feature, in zhack_do_feature_ref()
456 fatal(spa, FTAG, "feature refcount already 0: %s", in zhack_do_feature_ref()
457 feature.fi_guid); in zhack_do_feature_ref()
462 decr ? feature_decr_sync : feature_incr_sync, &feature, in zhack_do_feature_ref()
477 "error: no feature operation specified\n"); in zhack_do_feature()
1008 if (strcmp(subcommand, "feature") == 0) { in main()