diskp 704 kern/subr_disk.c disk_construct(struct disk *diskp, char *lockname)
diskp 706 kern/subr_disk.c rw_init(&diskp->dk_lock, lockname);
diskp 708 kern/subr_disk.c diskp->dk_flags |= DKF_CONSTRUCTED;
diskp 717 kern/subr_disk.c disk_attach(struct disk *diskp)
diskp 720 kern/subr_disk.c if (!ISSET(diskp->dk_flags, DKF_CONSTRUCTED))
diskp 721 kern/subr_disk.c disk_construct(diskp, diskp->dk_name);
diskp 728 kern/subr_disk.c diskp->dk_label = malloc(sizeof(struct disklabel), M_DEVBUF, M_NOWAIT);
diskp 729 kern/subr_disk.c if (diskp->dk_label == NULL)
diskp 732 kern/subr_disk.c bzero(diskp->dk_label, sizeof(struct disklabel));
diskp 737 kern/subr_disk.c microuptime(&diskp->dk_attachtime);
diskp 742 kern/subr_disk.c TAILQ_INSERT_TAIL(&disklist, diskp, dk_link);
diskp 751 kern/subr_disk.c disk_detach(struct disk *diskp)
diskp 757 kern/subr_disk.c free(diskp->dk_label, M_DEVBUF);
diskp 762 kern/subr_disk.c TAILQ_REMOVE(&disklist, diskp, dk_link);
diskp 773 kern/subr_disk.c disk_busy(struct disk *diskp)
diskp 780 kern/subr_disk.c if (diskp->dk_busy++ == 0) {
diskp 781 kern/subr_disk.c microuptime(&diskp->dk_timestamp);
diskp 790 kern/subr_disk.c disk_unbusy(struct disk *diskp, long bcount, int read)
diskp 794 kern/subr_disk.c if (diskp->dk_busy-- == 0)
diskp 795 kern/subr_disk.c printf("disk_unbusy: %s: dk_busy < 0\n", diskp->dk_name);
diskp 799 kern/subr_disk.c timersub(&dv_time, &diskp->dk_timestamp, &diff_time);
diskp 800 kern/subr_disk.c timeradd(&diskp->dk_time, &diff_time, &diskp->dk_time);
diskp 802 kern/subr_disk.c diskp->dk_timestamp = dv_time;
diskp 805 kern/subr_disk.c diskp->dk_rbytes += bcount;
diskp 806 kern/subr_disk.c diskp->dk_rxfer++;
diskp 808 kern/subr_disk.c diskp->dk_wbytes += bcount;
diskp 809 kern/subr_disk.c diskp->dk_wxfer++;
diskp 812 kern/subr_disk.c diskp->dk_seek++;