I'm running FreeBSD 8.1 with ZFS v15. Recently some time after moving my mirrored pool from one device to another system crashes. From that time on zpool cannot be used/imported - any attempt fails with:
solaris assert: sm->space + size <= sm->size, file: /usr/src/sys/moules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c, line: 93 Debugging reveals that: sm->sm_space = 2147483648 size = 34304 sm->sm_size = 2147483648 Probably space map is trashed badly but I can't understand how to skip this assertion to make pool at least readable. FreeBSD zfsboot manages to load kernel and modules off the pool, but the system hangs whenever original zfs tries to open the pool. Error is persistent and shows up in: * MilaX - hangs; * OpenSolaris - hangs; * SystemRescueCD (zfs-fuse v23) - drops core with same message; * NexentsStore - ignores pool. What I am looking for is: * any information on how I can bring this pool to readonly state (tweaking source, making spacemap appear correct/full); * any pointers to tech specifications of how name/value pair list on-disk structure should be processed as it takes a lot time for me to understand how this should work rummaging through all the code involved. -- This message posted from opensolaris.org _______________________________________________ zfs-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
