Date: Fri, 9 Oct 2020 16:39:45 -0500 From: Eric van Gyzen <eric@vangyzen.net> To: current@freebsd.org Subject: ZFS crash -- zvol_geom_bio_getattr called when volmode=dev Message-ID: <1dfaf797-f23b-af97-d2d3-efa0f5bb88d9@vangyzen.net>
next in thread | raw e-mail | index | archive | help
Does this look familiar? I'm creating a zvol with volmode=dev, but some geom code paths were taken. If this looks new, I'll provide more details. Thanks in advance, Eric 13.0-CURRENT r366500+84ccaf49083c-c272054 GENERIC #8 <signal handler called> #9 zvol_geom_bio_getattr (bp=0xfffff80376132900) at /usr/src/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c:545 #10 zvol_geom_bio_start (bp=0xfffff80376132900) at /usr/src/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c:519 #11 0xffffffff80b1c684 in g_io_schedule_down (tp=<optimized out>) at /usr/src/sys/geom/geom_io.c:848 #12 0xffffffff80b1cfcc in g_down_procbody (arg=<optimized out>) at /usr/src/sys/geom/geom_kern.c:111 (kgdb) f 9 #9 zvol_geom_bio_getattr (bp=0xfffff80376132900) at /usr/src/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c:545 545 spa_t *spa = dmu_objset_spa(zv->zv_objset); (kgdb) l 540 zvol_state_t *zv; 541 542 zv = bp->bio_to->private; 543 ASSERT(zv != NULL); 544 545 spa_t *spa = dmu_objset_spa(zv->zv_objset); 546 uint64_t refd, avail, usedobjs, availobjs; 547 548 if (g_handleattr_int(bp, "GEOM::candelete", 1)) 549 return (0); (kgdb) p zv $1 = (zvol_state_t *) 0x0 (kgdb) p *bp $3 = { bio_cmd = 4, bio_flags = 0, bio_cflags = 0, bio_pflags = 0, bio_dev = 0x0, bio_disk = 0x0, bio_offset = 0, bio_bcount = 0, bio_data = 0xfffff801fa687c00 "", bio_ma = 0x0, bio_ma_offset = 0, bio_ma_n = 0, bio_error = 0, bio_resid = 0, bio_done = 0x0, bio_driver1 = 0x0, bio_driver2 = 0x0, bio_caller1 = 0x0, bio_caller2 = 0x0, bio_queue = { tqe_next = 0xffffffffffffffff, tqe_prev = 0xffffffffffffffff }, bio_attribute = 0xffffffff81223c03 "GEOM::physpath", bio_zone = { zone_cmd = 0 '\000', zone_params = { disk_params = { zone_mode = 0, flags = 0, optimal_seq_zones = 0, optimal_nonseq_zones = 0, max_seq_zones = 0 }, rwp = { id = 0, flags = 0 '\000' }, report = { starting_id = 0, rep_options = 0 '\000', header = { same = 0 '\000', maximum_lba = 0, reserved = '\000' <repeats 63 times> }, entries_allocated = 0, entries_filled = 0, entries_available = 0, entries = 0x0 } } }, bio_from = 0xfffff80006b92880, bio_to = 0xfffff80006972500, bio_length = 1024, bio_completed = 0, bio_children = 0, bio_inbed = 0, bio_parent = 0x0, bio_t0 = { sec = 50, frac = 10248368299661698441 }, bio_task = 0x0, bio_task_arg = 0x0, bio_spare1 = 0x0, bio_spare2 = 0x0, bio_track_bp = 0x0, bio_pblkno = 0 } (kgdb) p *bp->bio_to $4 = { name = 0xfffff80006972598 "zvol/disco_fast/vm/onefs1-1/disk7", provider = { le_next = 0x0, le_prev = 0xfffff80006972428 }, geom = 0xfffff80006972400, consumers = { lh_first = 0xfffff80006b92880 }, acr = 1, acw = 0, ace = 0, error = 0, orphan = { tqe_next = 0x0, tqe_prev = 0x0 }, mediasize = 5368709120, sectorsize = 512, stripesize = 8192, stripeoffset = 0, stat = 0xfffff80006d3d120, spare1 = 0, spare2 = 0, flags = 48, aliases = { lh_first = 0x0 }, private = 0x0, index = 0 }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1dfaf797-f23b-af97-d2d3-efa0f5bb88d9>