Skip to content

Instantly share code, notes, and snippets.

View rincebrain's full-sized avatar

Rich Ercolani rincebrain

  • Google
View GitHub Profile
$ du /mntoops/demo;du --apparent-size /mntoops/demo;
1 /mntoops/demo
10485760 /mntoops/demo
$ sudo zpool create demopool /mntoops/demo
$ sudo zpool status -i;sudo zpool initialize demopool;sleep 90;sudo zpool status -i;
pool: demopool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
@rincebrain
rincebrain / zfswrites.py hackjob
Created September 18, 2018 08:47
zfswrites.py hackjob
#!/usr/bin/python
# @lint-avoid-python-3-compatibility-imports
#
# zfsslower Trace slow ZFS operations.
# For Linux, uses BCC, eBPF.
#
# USAGE: zfsslower [-h] [-j] [-p PID] [min_ms]
#
# This script traces common ZFS file operations: reads, writes, opens, and
# syncs. It measures the time spent in these operations, and prints details
@rincebrain
rincebrain / gist:c45b7663682c0a26f3e4c98f9c7152e6
Created January 8, 2018 09:43
raidz_test -vvv -T on amd64 versus ARM
===========
=== ARM ===
===========
================
Running with options:
(-a) zio ashift : 9
(-o) zio offset : 1 << 0
(-d) number of raidz data columns : 8
(-s) size of DATA : 1 << 19
(-S) sweep parameters : no
@rincebrain
rincebrain / gist:b811097361db0110df48a3c1b3e670ab
Created January 8, 2018 02:10
#6981 raidz_test segfault at ab9f4b0b824ab4cc64a4fa382c037f4154de12d6
(gdb) bt
#0 umem_cache_alloc (flags=256, cp=0x0) at ../../lib/libspl/include/umem.h:173
#1 zio_data_buf_alloc (size=<optimized out>) at ../../module/zfs/zio.c:253
#2 0x00011f84 in init_raidz_golden_map (opts=opts@entry=0x1dfbd40, parity=3) at raidz_test.c:282
#3 0x0001225c in run_gen_check (opts=0x1dfbd40) at raidz_test.c:350
#4 run_test (opts=opts@entry=0x1dfbd40) at raidz_test.c:568
#5 0x00012b64 in sweep_thread (arg=0x1dfbd40) at raidz_test.c:594
#6 0x76cad9dc in zk_thread_helper (arg=0x1dfbc88) at kernel.c:139
#7 0x76ba6e90 in start_thread (arg=0x6fa70420) at pthread_create.c:311
#8 0x76b30598 in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
@rincebrain
rincebrain / gist:adae4af8215e8a603d1e5de5f34442fd
Last active January 8, 2018 01:14
ZoL #6981 bisect state
git bisect start
# bad: [3c7fa6ca334c31f8ca442f37b0067d4070dd392c] Tag zfs-0.7.4
git bisect bad 3c7fa6ca334c31f8ca442f37b0067d4070dd392c
# good: [7a27ad00ae142b38d4aef8cc0af7a72b4c0e44fe] Tag zfs-0.6.5
git bisect good 7a27ad00ae142b38d4aef8cc0af7a72b4c0e44fe
# bad: [c6a89b58a997a2b2c672542542e675447efcf4e4] Tag 0.7.0-rc2
git bisect bad c6a89b58a997a2b2c672542542e675447efcf4e4
# skip: [540c39279322cb278ad45840f260fe4b92c3c8b7] Fix out-of-bound access in zfs_fillpage
git bisect skip 540c39279322cb278ad45840f260fe4b92c3c8b7
# skip: [06ee0031a6d658bbf4ab953070ff4cdf4af64496] Fix memleak in zpl_parse_options
[118631.700569] VERIFY3(0 == remove_reference(hdr, ((void *)0), tag)) failed (0 == 63)
[118631.702734] PANIC at arc.c:3076:arc_buf_destroy()
[118631.703816] Showing stack for process 7238
[118631.703824] CPU: 1 PID: 7238 Comm: z_rd_int_5 Tainted: P O 4.9.59-v7+ #1047
[118631.703826] Hardware name: BCM2835
[118631.703847] [<8010fb3c>] (unwind_backtrace) from [<8010c058>] (show_stack+0x20/0x24)
[118631.703857] [<8010c058>] (show_stack) from [<80456764>] (dump_stack+0xd4/0x118)
[118631.703925] [<80456764>] (dump_stack) from [<7f138d80>] (spl_dumpstack+0x54/0x58 [spl])
[118631.704037] [<7f138d80>] (spl_dumpstack [spl]) from [<7f138e18>] (spl_panic+0x94/0xc8 [spl])
[118631.704591] [<7f138e18>] (spl_panic [spl]) from [<7f25b350>] (arc_buf_destroy+0x1a0/0x1b8 [zfs])
--- a/module/zfs/dmu_traverse.c
+++ b/module/zfs/dmu_traverse.c
@@ -39,6 +39,7 @@
#include <sys/zfeature.h>
int32_t zfs_pd_bytes_max = 50 * 1024 * 1024; /* 50MB */
+int32_t ignore_hole_birth = 0;
typedef struct prefetch_data {
kmutex_t pd_mtx;
@rincebrain
rincebrain / gist:5340424
Created April 8, 2013 20:58
sfxge errors
cc1: warnings being treated as errors
../../common/io/sfxge/efx_mac.c: In function 'efx_mac_hash_set':
../../common/io/sfxge/efx_mac.c:420: error: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
../../common/io/sfxge/efx_mac.c:427: error: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
*** Error code 1
cc1: warnings being treated as errors
../../common/io/sfxge/efx_nic.c: In function 'efx_nic_test_registers':
../../common/io/sfxge/efx_nic.c:572: error: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
../../common/io/sfxge/efx_nic.c:587: error: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
*** Error code 1
Aug 21 02:26:59 avalon kernel: [94687.742338] INFO: task rsync:6740 blocked for more than 120 seconds.
Aug 21 02:26:59 avalon kernel: [94687.742343] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Aug 21 02:26:59 avalon kernel: [94687.742346] rsync D 0000000000000002 0 6740 4892 0x00000000
Aug 21 02:26:59 avalon kernel: [94687.742352] ffff88010e70b308 0000000000000082 0000000000015bc0 0000000000015bc0
Aug 21 02:26:59 avalon kernel: [94687.742358] ffff880121ebb1a0 ffff88010e70bfd8 0000000000015bc0 ffff880121ebade0
Aug 21 02:26:59 avalon kernel: [94687.742362] 0000000000015bc0 ffff88010e70bfd8 0000000000015bc0 ffff880121ebb1a0
Aug 21 02:26:59 avalon kernel: [94687.742367] Call Trace:
Aug 21 02:26:59 avalon kernel: [94687.742378] [<ffffffff810f4980>] ? sync_page+0x0/0x50
Aug 21 02:26:59 avalon kernel: [94687.742385] [<ffffffff815420c7>] io_schedule+0x47/0x70
Aug 21 02:26:59 avalon kernel: [94687.742389] [<ffffffff810f49bd>] sync_page+0x3d/0x50