]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r245264:
authordelphij <delphij@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 9 Feb 2013 00:29:36 +0000 (00:29 +0000)
committerdelphij <delphij@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 9 Feb 2013 00:29:36 +0000 (00:29 +0000)
commit60611b9b4e8c279e571d22f1cafbee046b0dace0
tree9224370750af07657499daff27e6be0e48422e6c
parentbe5b2ae9590d1a8d53a4d2e9df8a88506c615042
MFC r245264:

The current ZFS code expects ddt_zap_count to always succeed by asserting
the underlying zap_count() to return no errors.  However, it is possible
that the pool reaches to such a state where zap_count would return error,
leading to panics when a pool is imported.

This commit changes the ddt_zap_count to return error returned from
zap_count and handle the error appropriately.  With this change, it's now
possible to let zpool rollback damaged transaction groups and import the
pool.

Obtained from: ZFS on Linux github (e8fd45a0f975c6b8ae8cd644714fc21f14fac2bf)

git-svn-id: svn://svn.freebsd.org/base/stable/9@246574 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
cddl/contrib/opensolaris/cmd/zdb/zdb.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt_zap.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h