From adc90e9d946b53cb3eba963a2e2b1331cba0e7b5 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 23 Oct 2014 15:26:49 -0700 Subject: [PATCH] Fix zdb segfault On 32-bit systems setting 'zfs_arc_max = 256M' in zdb results in the following segmentation fault. Rather than reverting 0ec0724 which introduced this flaw this code is only used for 64-bit builds. Segmentation fault (core dumped) ztest: '/sbin/zdb -bcc -d -U /var/tmp/zpool.cache ztest' exit code 139 child exited with code 3 Signed-off-by: Brian Behlendorf --- cmd/zdb/zdb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index 205f65577..b0d7170b9 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -3522,11 +3522,13 @@ main(int argc, char **argv) usage(); } +#if defined(_LP64) /* * ZDB does not typically re-read blocks; therefore limit the ARC * to 256 MB, which can be used entirely for metadata. */ zfs_arc_max = zfs_arc_meta_limit = 256 * 1024 * 1024; +#endif kernel_init(FREAD); if ((g_zfs = libzfs_init()) == NULL) -- 2.40.0