Print this page
2882 implement libzfs_core
2883 changing "canmount" property to "on" should not always remount dataset
2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Chris Siden <christopher.siden@delphix.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Bill Pijewski <wdp@joyent.com>
Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/zhack/zhack.c
          +++ new/usr/src/cmd/zhack/zhack.c
↓ open down ↓ 271 lines elided ↑ open up ↑
 272  272          spa_close(spa, FTAG);
 273  273  }
 274  274  
 275  275  static void
 276  276  feature_enable_sync(void *arg1, void *arg2, dmu_tx_t *tx)
 277  277  {
 278  278          spa_t *spa = arg1;
 279  279          zfeature_info_t *feature = arg2;
 280  280  
 281  281          spa_feature_enable(spa, feature, tx);
      282 +        spa_history_log_internal(spa, "zhack enable feature", tx,
      283 +            "name=%s can_readonly=%u",
      284 +            feature->fi_guid, feature->fi_can_readonly);
 282  285  }
 283  286  
 284  287  static void
 285  288  zhack_do_feature_enable(int argc, char **argv)
 286  289  {
 287  290          char c;
 288  291          char *desc, *target;
 289  292          spa_t *spa;
 290  293          objset_t *mos;
 291  294          zfeature_info_t feature;
↓ open down ↓ 57 lines elided ↑ open up ↑
 349  352          free(desc);
 350  353  }
 351  354  
 352  355  static void
 353  356  feature_incr_sync(void *arg1, void *arg2, dmu_tx_t *tx)
 354  357  {
 355  358          spa_t *spa = arg1;
 356  359          zfeature_info_t *feature = arg2;
 357  360  
 358  361          spa_feature_incr(spa, feature, tx);
      362 +        spa_history_log_internal(spa, "zhack feature incr", tx,
      363 +            "name=%s", feature->fi_guid);
 359  364  }
 360  365  
 361  366  static void
 362  367  feature_decr_sync(void *arg1, void *arg2, dmu_tx_t *tx)
 363  368  {
 364  369          spa_t *spa = arg1;
 365  370          zfeature_info_t *feature = arg2;
 366  371  
 367  372          spa_feature_decr(spa, feature, tx);
      373 +        spa_history_log_internal(spa, "zhack feature decr", tx,
      374 +            "name=%s", feature->fi_guid);
 368  375  }
 369  376  
 370  377  static void
 371  378  zhack_do_feature_ref(int argc, char **argv)
 372  379  {
 373  380          char c;
 374  381          char *target;
 375  382          boolean_t decr = B_FALSE;
 376  383          spa_t *spa;
 377  384          objset_t *mos;
↓ open down ↓ 156 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX