DF-0815 / fix.diff
diff --git a/sys/vfs/hammer2/hammer2_ioctl.c b/sys/vfs/hammer2/hammer2_ioctl.c --- a/sys/vfs/hammer2/hammer2_ioctl.c +++ b/sys/vfs/hammer2/hammer2_ioctl.c @@ -142,17 +142,20 @@ error = hammer2_ioctl_inode_set(ip, data); break; case HAMMER2IOC_BULKFREE_SCAN: - error = hammer2_ioctl_bulkfree_scan(ip, data); + if (error == 0) + error = hammer2_ioctl_bulkfree_scan(ip, data); break; case HAMMER2IOC_BULKFREE_ASYNC: - error = hammer2_ioctl_bulkfree_scan(ip, NULL); + if (error == 0) + error = hammer2_ioctl_bulkfree_scan(ip, NULL); break; case HAMMER2IOC_DESTROY: if (error == 0) error = hammer2_ioctl_destroy(ip, data); break; case HAMMER2IOC_DEBUG_DUMP: - error = hammer2_ioctl_debug_dump(ip, *(u_int *)data); + if (error == 0) + error = hammer2_ioctl_debug_dump(ip, *(u_int *)data); break; case HAMMER2IOC_EMERG_MODE: if (error == 0) |