[LU-9960] Rolling downgrade master to 2.10 - unable to import zpools Created: 08/Sep/17 Updated: 15/Apr/18 Resolved: 21/Sep/17 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.10.0, Lustre 2.10.1, Lustre 2.11.0 |
| Fix Version/s: | Lustre 2.10.1, Lustre 2.11.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Saurabh Tandan (Inactive) | Assignee: | Nathaniel Clark |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
master, 3631 zfs 0.7.1 |
||
| Issue Links: |
|
||||||||||||
| Severity: | 3 | ||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||
| Description |
|
While performing Rolling downgrade testing for bfs from master to 2.10, I am unable to import the zpool. [root@onyx-78 ~]# zpool import lustre-mdt1 [ 939.565075] SPL: using hostid 0x61303230 This pool uses the following feature(s) not supported by this system: org.zfsonlinux:userobj_accounting (User/Group object accounting.) All unsupported features are only required for writing to the pool. The pool can be imported using '-o readonly=on'. cannot import 'lustre-mdt1': unsupported version or feature Steps Followed: 1. Started with all clients and servers with 2.10 build 5 and build the Lustre File system |
| Comments |
| Comment by Peter Jones [ 08/Sep/17 ] |
|
Nathaniel Can you please advise on this one? Thanks Peter |
| Comment by Andreas Dilger [ 08/Sep/17 ] |
|
This is pretty clearly the fault of the https://review.whamcloud.com/15294 patch, which is enabling user quota automatically at mount time: static inline bool osd_dmu_userobj_accounting_available(struct osd_device *osd) { if (unlikely(dmu_objset_userobjspace_upgradable(osd->od_os))) dmu_objset_userobjspace_upgrade(osd->od_os); return dmu_objset_userobjspace_present(osd->od_os); } This should instead just print a message at mount time like dnode accounting feature missing, run "zfs/zpool ..." to enable (prevents downgrade to ZFS < 0.7) or similar, and leave it up to the administrator to enable this feature. It should be up to them to enable this feature. For our own testing, we should automatically enable this feature for newly-formatted ZFS datasets in libmount_utils_zfs.c. I think this also needs to be included into Lustre 2.10.1 if at all possible, to avoid causing problems for users upgrading their system to use ZFS 0.7. |
| Comment by Nathaniel Clark [ 08/Sep/17 ] |
|
Looking at zpool-features(5): userobj_accounting
GUID org.zfsonlinux:userobj_accounting
READ-ONLY COMPATIBLE yes
DEPENDENCIES extensible_dataset
This feature allows administrators to account the object usage information by user and group.
This feature becomes active as soon as it is enabled and will never return to being enabled.
Each filesystem will be upgraded automatically when remounted, or when new files are created
under that filesystem. The upgrade can also be started manually on filesystems by running `zfs
set version=current <pool/fs>`. The upgrade process runs in the background and may take a while
to complete for filesystems containing a large number of files.
It implies that as soon as the old filesystem is mounted, the feature will be enabled and then the pool can't be downgraded. I'll test this. |
| Comment by Nathaniel Clark [ 08/Sep/17 ] |
|
It doesn't auto-upgrade; So I'll work up a patch in the vein Andreas recommended. |
| Comment by Gerrit Updater [ 11/Sep/17 ] |
|
Nathaniel Clark (nathaniel.l.clark@intel.com) uploaded a new patch: https://review.whamcloud.com/28924 |
| Comment by Gerrit Updater [ 12/Sep/17 ] |
|
Minh Diep (minh.diep@intel.com) uploaded a new patch: https://review.whamcloud.com/28954 |
| Comment by Gerrit Updater [ 14/Sep/17 ] |
|
John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/28954/ |
| Comment by Gerrit Updater [ 21/Sep/17 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/28924/ |
| Comment by Peter Jones [ 21/Sep/17 ] |
|
Landed for 2.11 |