From: Brian Behlendorf Date: Fri, 26 Oct 2012 17:01:49 +0000 (-0700) Subject: Add ddt_object_count() error handling X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=e8fd45a0f975c6b8ae8cd644714fc21f14fac2bf;hp=e8fd45a0f975c6b8ae8cd644714fc21f14fac2bf;p=zfs.git Add ddt_object_count() error handling The interface for the ddt_zap_count() function assumes it can never fail. However, internally ddt_zap_count() is implemented with zap_count() which can potentially fail. Now because there was no way to return the error to the caller a VERIFY was used to ensure this case never happens. Unfortunately, it has been observed that pools can be damaged in such a way that zap_count() fails. The result is that the pool can not be imported without hitting the VERIFY and crashing the system. This patch reworks ddt_object_count() so the error can be safely caught and returned to the caller. This allows a pool which has be damaged in this way to be safely rewound for import. Signed-off-by: Brian Behlendorf Closes #910 ---