{"action":"created","issue":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/5294","repository_url":"https://api.github.com/repos/zfsonlinux/zfs","labels_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/5294/labels{/name}","comments_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/5294/comments","events_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/5294/events","html_url":"https://github.com/zfsonlinux/zfs/issues/5294","id":183550466,"number":5294,"title":"Pool features cannot be disabled at time of creation","user":{"login":"sempervictus","id":1331084,"avatar_url":"https://avatars.githubusercontent.com/u/1331084?v=3","gravatar_id":"","url":"https://api.github.com/users/sempervictus","html_url":"https://github.com/sempervictus","followers_url":"https://api.github.com/users/sempervictus/followers","following_url":"https://api.github.com/users/sempervictus/following{/other_user}","gists_url":"https://api.github.com/users/sempervictus/gists{/gist_id}","starred_url":"https://api.github.com/users/sempervictus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sempervictus/subscriptions","organizations_url":"https://api.github.com/users/sempervictus/orgs","repos_url":"https://api.github.com/users/sempervictus/repos","events_url":"https://api.github.com/users/sempervictus/events{/privacy}","received_events_url":"https://api.github.com/users/sempervictus/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-17T23:01:24Z","updated_at":"2016-10-17T23:25:05Z","closed_at":"2016-10-17T23:25:05Z","body":"Seems we can't create pools with newer features disabled for backwards compatibility:\r\n```\r\n# sudo zpool create -O mountpoint=none -O compression=lz4 -O overlay=on -O atime=off -o ashift=12 -o feature@async_destroy=enabled -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled -o feature@spacemap_histogram=enabled -o feature@enabled_txg=enabled -o feature@hole_birth=enabled -o feature@extensible_dataset=enabled -o feature@embedded_data=enabled -o feature@bookmarks=enabled -o feature@filesystem_limits=enabled -o feature@large_blocks=enabled rpool /dev/mapper/root_crypt\r\n```\r\nresults in:\r\n```\r\n# zpool get all rpool\r\nNAME   PROPERTY                    VALUE                       SOURCE\r\nrpool  size                        784M                        -\r\nrpool  capacity                    0%                          -\r\nrpool  altroot                     -                           default\r\nrpool  health                      ONLINE                      -\r\nrpool  guid                        14865096722165664340        -\r\nrpool  version                     -                           default\r\nrpool  bootfs                      -                           default\r\nrpool  delegation                  on                          default\r\nrpool  autoreplace                 off                         default\r\nrpool  cachefile                   -                           default\r\nrpool  failmode                    wait                        default\r\nrpool  listsnapshots               off                         default\r\nrpool  autoexpand                  off                         default\r\nrpool  dedupditto                  0                           default\r\nrpool  dedupratio                  1.00x                       -\r\nrpool  free                        784M                        -\r\nrpool  allocated                   456K                        -\r\nrpool  readonly                    off                         -\r\nrpool  ashift                      12                          local\r\nrpool  comment                     -                           default\r\nrpool  expandsize                  -                           -\r\nrpool  freeing                     0                           -\r\nrpool  fragmentation               0%                          -\r\nrpool  leaked                      0                           -\r\nrpool  feature@async_destroy       enabled                     local\r\nrpool  feature@empty_bpobj         enabled                     local\r\nrpool  feature@lz4_compress        active                      local\r\nrpool  feature@spacemap_histogram  active                      local\r\nrpool  feature@enabled_txg         active                      local\r\nrpool  feature@hole_birth          active                      local\r\nrpool  feature@extensible_dataset  enabled                     local\r\nrpool  feature@embedded_data       active                      local\r\nrpool  feature@bookmarks           enabled                     local\r\nrpool  feature@filesystem_limits   enabled                     local\r\nrpool  feature@large_blocks        enabled                     local\r\nrpool  feature@large_dnode         enabled                     local\r\nrpool  feature@sha512              enabled                     local\r\nrpool  feature@skein               enabled                     local\r\nrpool  feature@edonr               enabled                     local\r\n```\r\nWhereas\r\n```\r\nsudo zpool create -O mountpoint=none -O compression=lz4 -O overlay=on -O atime=off -o ashift=12 -o feature@userobj_accounting=disabled rpool /dev/mapper/root_crypt\r\n```\r\nreturns:\r\n```\r\ncannot create 'rpool': property 'feature@userobj_accounting' can only be set to 'enabled'\r\n```\r\n\r\nNeither the explicit disabled/disable settings nor the implicit \"only enable those features selected as enabled at creation time\" approach work presently. This prevents use of pools created from git master on stable systems and appears to contradict the point of feature flags.\r\n"},"comment":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/comments/254363443","html_url":"https://github.com/zfsonlinux/zfs/issues/5294#issuecomment-254363443","issue_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/5294","id":254363443,"user":{"login":"behlendorf","id":148917,"avatar_url":"https://avatars.githubusercontent.com/u/148917?v=3","gravatar_id":"","url":"https://api.github.com/users/behlendorf","html_url":"https://github.com/behlendorf","followers_url":"https://api.github.com/users/behlendorf/followers","following_url":"https://api.github.com/users/behlendorf/following{/other_user}","gists_url":"https://api.github.com/users/behlendorf/gists{/gist_id}","starred_url":"https://api.github.com/users/behlendorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/behlendorf/subscriptions","organizations_url":"https://api.github.com/users/behlendorf/orgs","repos_url":"https://api.github.com/users/behlendorf/repos","events_url":"https://api.github.com/users/behlendorf/events{/privacy}","received_events_url":"https://api.github.com/users/behlendorf/received_events","type":"User","site_admin":false},"created_at":"2016-10-17T23:25:04Z","updated_at":"2016-10-17T23:25:04Z","body":"You need to add `-d` to your original `zpool create`.  From `zpool(8)`.\r\n\r\n```\r\n           -d\r\n\r\n               Do not enable any features on the new pool. Individual features\r\n               can  be  enabled  by  setting their corresponding properties to\r\n               enabled with the -o option. See zpool-features(5)  for  details\r\n               about feature properties.\r\n```\r\n\r\nThat said I sympathize, as we add new features this becomes more and more painful.  @FransUrbo has a work in progress PR #3465 to add support for disabling specific flags.  The basic functional idea is described in this https://github.com/zfsonlinux/zfs/pull/3465#issuecomment-248718656.  Any help you could offer on the code/test side would be welcome.\r\n\r\nDuplicate of #3460."}}
{"actor":{"display_login":"behlendorf"}}