On Tuesday, July 11, 2017 11:55:47 PM Peter Wemm wrote: > On Tuesday, July 11, 2017 11:08:15 PM Peter Wemm wrote: > > On Wednesday, June 28, 2017 01:59:20 PM Andriy Gapon wrote: > > > A side bonus of this change is that now a vdev zio has a pointer > > > to its corresponding bio while the zio is active. > > > > fault virtual address = 0x28 > > > > > > db> where > > Tracing pid 0 tid 100471 td 0xfffff80005452000 > > vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe0239f9eaa0 > > zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe0239f9ead0 > > zio_execute() at zio_execute+0xac/frame 0xfffffe0239f9eb20 > > Oops, truncated. > > > taskqueue_run_locked() at taskqueue_run_locked+0x127/frame > 0xfffffe0239f9eb80 taskqueue_thread_loop() at > taskqueue_thread_loop+0xc8/frame 0xfffffe0239f9ebb0 fork_exit() at > fork_exit+0x85/frame 0xfffffe0239f9ebf0 > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0239f9ebf0 > --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
Likewise with a disk failing or being put offline. eg: the explicit offlining case, making a vdev degrade: r...@nope.ysv:/home/peter # zpool offline zroot mfid5p3 atal trap 12: page fault while in kernel mode cpuid = 4; apic id = 04 Fatal trap 12: page fault while in kernel mode fault virtual address = 0x28 Fatal trap 12: page fault while in kernel mode Fatal trap 12: page fault while in kernel mode Fatal trap 12: page fault while in kernel mode cpuid = 7; apic id = 07 cpuid = 1; apic id = 01 fault virtual address = 0x28 fault code = supervisor read data, page not present cpuid = 3; cpuid = 5; apic id = 03 Fatal trap 12: page fault while in kernel mode apic id = 05 fault virtual address = 0x28 fault virtual address = 0x28 fault code = supervisor read data, page not present instruction pointer = 0x20:0xffffffff803aab56 stack pointer = 0x28:0xfffffe085fb3aa90 instruction pointer = 0x20:0xffffffff803aab56 fault code = supervisor read data, page not present cpuid = 6; fault virtual address = 0x28 Fatal trap 12: page fault while in kernel mode fault code = supervisor read data, page not present instruction pointer = 0x20:0xffffffff803aab56 stack pointer = 0x28:0xfffffe085fb3fa90 frame pointer = 0x28:0xfffffe085fb3aaa0 fault code = supervisor read data, page not present cpuid = 2; apic id = 02 apic id = 06 instruction pointer = 0x20:0xffffffff803aab56 fault virtual address = 0x28 fault code = supervisor read data, page not present stack pointer = 0x28:0xfffffe085fb30a90 instruction pointer = 0x20:0xffffffff803aab56 stack pointer = 0x28:0xfffffe085fb35a90 frame pointer = 0x28:0xfffffe085fb3faa0 code segment = base 0x0, limit 0xfffff, type 0x1b stack pointer = 0x28:0xfffffe085fb44a90 frame pointer = 0x28:0xfffffe085fb44aa0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 fault virtual address = 0x28 = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, instruction pointer = 0x20:6 frame pointer = 0x28:0xfffffe085fb30aa0 code segment = base 0x0, limit 0xfffff, type 0x1b code segment = base 0x0, limit 0xfffff, type 0x1b frame pointer = 0x28:0xfffffe085fb35aa0 code segment = base 0x0, limit 0xfffff, type 0x1b resume, IOPL = 0 stack pointer = 0x28:0xfffffe085fb26a90 = DPL 0, pres 1, long 1, def32 0, gran 1 = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = fault code = supervisor read data, page not frame pointer = 0x28:0xfffffe085fb26aa0 instruction pointer = 0x20:0xffffffff803aab56 processor eflags = interrupt enabled, code segment = base b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 0 (zio_write_intr_2) [ thread pid 0 tid 100500 ] Stopped at vdev_geom_io_done+0x36: movq 0x28(%rbx),%rsi db> where Tracing pid 0 tid 100500 td 0xfffff8000aae6000 vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe085fb30aa0 zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe085fb30ad0 zio_execute() at zio_execute+0xac/frame 0xfffffe085fb30b20 taskqueue_run_locked() at taskqueue_run_locked+0x127/frame 0xfffffe085fb30b80 taskqueue_thread_loop() at taskqueue_thread_loop+0xc8/frame 0xfffffe085fb30bb0 fork_exit() at fork_exit+0x85/frame 0xfffffe085fb30bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe085fb30bf0 --- trap 0, rip = 0, rsp = 0, rbp = 0 --- db> -- Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246
signature.asc
Description: This is a digitally signed message part.