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
}

_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to