Hi guys,
I have 2 zpools (2 x 2TB HDD each) that i share between my Mac OS X(openzfsonosx) system and Linux(zfsonlinux) and so far have worked perfectly fine but recently this feature got active feature@userobj_accounting and now i can only mount the volumes on OS X as readonly. Is there any way to fix this?
Note that i don't remember seeing any warning that this feature is linux exclusive neither i remember enabling it manually, so i have no idea why is active to begin with
zpool get all ImportantData
NAME PROPERTY VALUE SOURCE
ImportantData size 1.81T -
ImportantData capacity 96% -
ImportantData altroot - default
ImportantData health ONLINE -
ImportantData guid 2990178400385225961 -
ImportantData version - default
ImportantData bootfs - default
ImportantData delegation on default
ImportantData autoreplace off default
ImportantData cachefile - default
ImportantData failmode wait default
ImportantData listsnapshots off default
ImportantData autoexpand off default
ImportantData dedupditto 0 default
ImportantData dedupratio 1.00x -
ImportantData free 60.5G -
ImportantData allocated 1.75T -
ImportantData readonly off -
ImportantData ashift 12 local
ImportantData comment - default
ImportantData expandsize - -
ImportantData freeing 0 -
ImportantData fragmentation 60% -
ImportantData leaked 0 -
ImportantData feature@async_destroy enabled local
ImportantData feature@empty_bpobj enabled local
ImportantData feature@lz4_compress active local
ImportantData feature@spacemap_histogram active local
ImportantData feature@enabled_txg active local
ImportantData feature@hole_birth active local
ImportantData feature@extensible_dataset active local
ImportantData feature@embedded_data active local
ImportantData feature@bookmarks enabled local
ImportantData feature@filesystem_limits enabled local
ImportantData feature@large_blocks enabled local
ImportantData feature@large_dnode enabled local
ImportantData feature@sha512 enabled local
ImportantData feature@skein enabled local
ImportantData feature@edonr enabled local
ImportantData feature@userobj_accounting active local
ZFSonlinux is the regular Archlinux DKMS git installation from AUR and i have the same issue with zen and regular kernel.
My mac uses ZFSonOSX 1.6.1(latest) with Mac OS X Sierra 10.12.4
Ty very much for your time
@jrch2k10 for existing pools new features __will not__ get automatically enabled. However I see from the output you've posted that the large_dnode feature is also enabled which is specific to Linux. Is there any chance that you ran zpool upgrade under Linux which would enable these new features? Also be aware that any new pools will always enable all supported features by default.
Unfortunately there's no really easy way to disable this feature. One way would be to send/recv the datasets to a new pool where it's disabled. Alternately,, in this case you could patch zhack so it can disable this specific feature with commit 83025286175d1ee1c29b842531070f3250a172ba. This isn't a strictly a safe thing to do with all features, but in the case of feature@userobj_accounting it will only cost you a small amount of space.
That kinda sucks, I guess I did run pool upgrade but I wasn't aware it automagically enable features, my bad I guess(maybe include a fat warning message for future features for clueless people?)
I guess ill move the volumes to another set of disks and only do zpool operations on OS X/illumos from now on
ty for your time
Sorry! I'm not sure what more could have been done. The zpool status message prompting users that new features are available by running zpool upgrade includes a pretty clear warning.
$ zpool status
pool: tank
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(5) for details.
$ man zpool-features
...
DESCRIPTION
ZFS pool on-disk format versions are specified via "features" which
replace the old on-disk format numbers (the last supported on-disk forâ
mat number is 28). To enable a feature on a pool use the upgrade subâ
command of the zpool(8) command, or set the feature@feature_name propâ
erty to enabled.
The pool format does not affect file system version compatibility or
the ability to send file systems between pools.
Since most features can be enabled independently of each other the
on-disk format of the pool is specified by the set of all features
marked as active on the pool. If the pool was created by another softâ
ware version this set may include unsupported features.
yeah, I know. I only blame myself for this
I guess since it never happened to me before my brain went "Meh this should be for downgrades to previous on disk format versions" instead of "Oh shit, oh shit check extension X it is supported on OS X and Illumos first before making a booboo".
My idea of a warning is maybe something like this
"ImportantData feature@userobj_accounting active local BEWARE ONLY SUPPORTED ON ZFS ON LINUX VERSION X+ AND ETC.ETC.", I guess this way if you are unfamiliar about the extensions compatibility list between OSes (or ZoL releases) it make it easier to stop, I guess
At least now I will be aware on other systems of checking all extensions listed before do any zpool operation
ZFS features are documented and working as intended, closing.