Kenneth R Westerback wrote:
> Weird. Try this diff, which should let me know which partition is
> being opened. i.e. why is rawopen different in 4.6 and -current.
> Also, what is your fstab?
> 
> .... Ken
> 
> Index: sd.c
> ===================================================================
> RCS file: /cvs/src/sys/scsi/sd.c,v
> retrieving revision 1.182
> diff -u -p -r1.182 sd.c
> --- sd.c      15 Jan 2010 05:50:31 -0000      1.182
> +++ sd.c      24 Jan 2010 02:07:47 -0000
> @@ -324,6 +324,8 @@ sdopen(dev_t dev, int flag, int fmt, str
>       part = DISKPART(dev);
>  
>       rawopen = (part == RAW_PART) && (fmt == S_IFCHR);
> +     printf("sdopen: part == %c, rawopen == %d, fmt == %d\n", 'a' + part, 
> rawopen,
> +         fmt);
>  
>       sc = sdlookup(unit);
>       if (sc == NULL)
> @@ -357,9 +359,8 @@ sdopen(dev_t dev, int flag, int fmt, str
>       } else {
>               /* Spin up non-UMASS devices ready or not. */
>               if ((sc->sc_link->flags & SDEV_UMASS) == 0)
> -                     scsi_start(sc_link, SSS_START, (rawopen ? SCSI_SILENT :
> -                         0) | SCSI_IGNORE_ILLEGAL_REQUEST |
> -                         SCSI_IGNORE_MEDIA_CHANGE);
> +                     scsi_start(sc_link, SSS_START, SCSI_SILENT |
> +                         SCSI_IGNORE_ILLEGAL_REQUEST | 
> SCSI_IGNORE_MEDIA_CHANGE);
>  
>               /* Use sd_interpret_sense() for sense errors.
>                *
> 

The following is printed, with or without the floppy.

sdopen: part == c, rawopen == 0, fmt == 24576
sdopen: part == c, rawopen == 1, fmt == 8192

If a floppy is inserted, those lines are delayed while it's reading the
disk.

There isn't anything fancy in my fstab, my root disk is wd0.

---
root on wd0a swap on wd0b dump on wd0b
--
/dev/wd0a / ffs rw 1 1
/dev/wd0d /tmp ffs rw,nodev,nosuid 1 2
/dev/wd0e /var ffs rw,nodev,nosuid 1 2
/dev/wd0f /usr ffs rw,nodev 1 2
/dev/wd0g /home ffs rw,nodev,nosuid 1 2

Thanks Ken.

-Bryan.

Reply via email to