|
Description
|
In SPA 3.0, if there's a problem with a log we now hang.
This can be reproduced with
mkfile 100m /var/tmp/pool1 /var/tmp/slog1
zpool create test /var/tmp/pool1 log /var/tmp/slog1
rm /var/tmp/slog1
sync
: do some synchronous writes (in central domain)
/home/perrin/source/tools/sync/ds2.`uname -p` -n /test/f -c 524288 -s 512 &
zpool iostat -v test 1 3
: kill system
mdb -FK
On reboot it hangs
> 30005d867e0::findstack -v
stack pointer for thread 30005d867e0: 2a100878441
[ 000002a100878441 cv_wait+0x5c() ]
000002a1008784f1 zio_wait+0x68(3000847fbd8, 4003, 3000847fe78, 0, 0, 7ae90400
)
000002a1008785a1 arc_read_nolock+0x978(200, 3000847fbd8, 2, 0, 7ae03800, 1000
)
000002a1008786b1 zil_read_log_block+0x7c(30007929180, 2a100879100, 2a1008790f8
, 2a100878fc8, 100000008, fffffffffffffff8)
000002a100878841 zil_check_log_chain+0x78(30006b66dc0, 0, 7ae8fc00,
2a1008790f8, fc00, 2a100879108)
000002a100878991 dmu_objset_find_spa+0x3b0(0, 30006b66dc0, 7ae14b98,
2a100879330, 30005ef1540, 0)
000002a100878a81 dmu_objset_find+0x20(30006b66dc0, 7ae52f7c, 0, 2, 1, 7ae14800
)
000002a100878b41 spa_check_logs+0x34(30006b66dc0, 7ae52c00, 7ae88528, 8, 1, 0
)
000002a100878bf1 spa_load+0x824(30006b66dc0, 0, 1, 1, bab10c, 30006b67020)
000002a100878cf1 spa_load+0x4f0(30006b66dc0, 0, 1, 0, bab10c, 6)
000002a100878df1 spa_open_common+0x74(3000890a000, 2a100879758, 7ae7b3e2,
2a100879818, 0, 7017c800)
000002a100878ea1 spa_get_stats+0x18(3000890a000, 2a100879818, 3000890a400, 800
, 74, 7ae7b000)
000002a100878f61 zfs_ioc_pool_stats+0x10(3000890a000, 0, 0, 74, 3000890a000,
30002590c40)
000002a100879021 zfsdev_ioctl+0x164(7ae65348, 7016f848, ffbfecd8, 1000,
3000393f6d0, 3000890a000)
000002a1008790d1 fop_ioctl+0x58(30006f2d100, 5a05, ffbfecd8, 100003, 0,
2a100879adc)
000002a100879191 ioctl+0x164(3, 5a05, ffbfecd8, 0, 30006ca9fa0, 800)
000002a1008792e1 syscall_trap32+0x1e8(3, 5a05, ffbfecd8, 0, ffffffff, 800)
See Evaluation.
|