Lines Matching refs:feature

71 	    "    feature stat <pool>\n"
73 " feature enable [-d desc] <pool> <feature>\n"
74 " add a new enabled feature to the pool\n"
75 " -d <desc> sets the feature's description\n"
76 " feature ref [-md] <pool> <feature>\n"
77 " change the refcount on the given feature\n"
79 " -m add the feature to the label if increasing refcount\n"
81 " <feature> : should be a feature guid\n");
291 zfeature_info_t *feature = arg;
293 feature_enable_sync(spa, feature, tx);
295 spa_history_log_internal(spa, "zhack enable feature", tx,
297 feature->fi_guid, feature->fi_flags);
307 zfeature_info_t feature;
315 feature.fi_uname = "zhack";
316 feature.fi_flags = 0;
317 feature.fi_depends = nodeps;
318 feature.fi_feature = SPA_FEATURE_NONE;
324 feature.fi_flags |= ZFEATURE_FLAG_READONLY_COMPAT;
337 feature.fi_desc = desc;
343 (void) fprintf(stderr, "error: missing feature or pool name\n");
347 feature.fi_guid = argv[1];
349 if (!zfeature_is_valid_guid(feature.fi_guid))
350 fatal(NULL, FTAG, "invalid feature guid: %s", feature.fi_guid);
355 if (zfeature_is_supported(feature.fi_guid))
356 fatal(spa, FTAG, "'%s' is a real feature, will not enable");
357 if (0 == zap_contains(mos, spa->spa_feat_desc_obj, feature.fi_guid))
358 fatal(spa, FTAG, "feature already enabled: %s",
359 feature.fi_guid);
362 zhack_feature_enable_sync, &feature, 5, ZFS_SPACE_CHECK_NORMAL));
373 zfeature_info_t *feature = arg;
376 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount));
377 feature_sync(spa, feature, refcount + 1, tx);
378 spa_history_log_internal(spa, "zhack feature incr", tx,
379 "guid=%s", feature->fi_guid);
386 zfeature_info_t *feature = arg;
389 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount));
390 feature_sync(spa, feature, refcount - 1, tx);
391 spa_history_log_internal(spa, "zhack feature decr", tx,
392 "guid=%s", feature->fi_guid);
403 zfeature_info_t feature;
408 * when the feature was enabled, but we need to properly set the
409 * feature for read or write based on the information we read off
412 feature.fi_uname = "zhack";
413 feature.fi_flags = 0;
414 feature.fi_desc = NULL;
415 feature.fi_depends = nodeps;
416 feature.fi_feature = SPA_FEATURE_NONE;
422 feature.fi_flags |= ZFEATURE_FLAG_MOS;
436 (void) fprintf(stderr, "error: missing feature or pool name\n");
440 feature.fi_guid = argv[1];
442 if (!zfeature_is_valid_guid(feature.fi_guid))
443 fatal(NULL, FTAG, "invalid feature guid: %s", feature.fi_guid);
448 if (zfeature_is_supported(feature.fi_guid)) {
450 "'%s' is a real feature, will not change refcount");
454 feature.fi_guid)) {
455 feature.fi_flags &= ~ZFEATURE_FLAG_READONLY_COMPAT;
457 feature.fi_guid)) {
458 feature.fi_flags |= ZFEATURE_FLAG_READONLY_COMPAT;
460 fatal(spa, FTAG, "feature is not enabled: %s", feature.fi_guid);
465 if (feature_get_refcount_from_disk(spa, &feature,
467 fatal(spa, FTAG, "feature refcount already 0: %s",
468 feature.fi_guid);
473 decr ? feature_decr_sync : feature_incr_sync, &feature,
488 "error: no feature operation specified\n");
551 if (strcmp(subcommand, "feature") == 0) {