static int mfi_syspd_dump(void *arg, void *virt, vm_offset_t phys, off_t offset, size_t len) { struct mfi_system_pd *sc; struct mfi_softc *parent_sc; struct disk *dp; int error; dp = arg; sc = dp->d_drv1; parent_sc = sc->pd_controller; if (len > 0) { if ((error = mfi_dump_syspd_blocks(parent_sc, sc->pd_id, offset / MFI_SECTOR_LEN, virt, len)) != 0) return (error); } else { /* mfi_sync_cache(parent_sc, sc->ld_id); */ } return (0); }
static int mfi_syspd_dump(struct dev_dump_args *ap) { cdev_t dev = ap->a_head.a_dev; off_t offset = ap->a_offset; void *virt = ap->a_virtual; size_t len = ap->a_length; struct mfi_system_pd *sc; struct mfi_softc *parent_sc; int error; sc = dev->si_drv1; parent_sc = sc->pd_controller; if (len > 0) { if ((error = mfi_dump_syspd_blocks(parent_sc, sc->pd_id, offset / MFI_SECTOR_LEN, virt, len)) != 0) return (error); } else { /* mfi_sync_cache(parent_sc, sc->ld_id); */ } return (0); }