usb disk dirty after every reboot

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

usb disk dirty after every reboot

Jan Stary
This is current/i386 on an ALIX.1E (demsg below).
I have an USB disk connected for /backup.

Upon every reboot, the filesystem on that disk is dirty:
WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck

It seems that it does not get properly umounted when shutting down.
I added 'umount /backup' to my rc.shutdown and that works around it.

However, what could be causing this?

        Jan



OpenBSD 6.0-current (GENERIC) #2062: Sun Sep 18 23:12:44 MDT 2016
    [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 499 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX,MMXX,3DNOW2,3DNOW
real mem  = 259207168 (247MB)
avail mem = 241659904 (230MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: date 07/19/10, BIOS32 rev. 0 @ 0xfa950
apm0 at bios0: Power Management spec V1.2 (slowidle)
pcibios0 at bios0: rev 2.1 @ 0xf0000/0xdfb4
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf30/128 (6 entries)
pcibios0: PCI Exclusive IRQs: 5 10 11
pcibios0: no compatible PCI ICU found: ICU vendor 0x1022 product 0x2090
pcibios0: Warning, unable to fix up PCI interrupt routing
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0xa800 0xef000/0x1000!
cpu0 at mainbus0: (uniprocessor)
mtrr: K6-family MTRR support (2 registers)
amdmsr0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
vga1 at pci0 dev 1 function 1 "AMD Geode LX Video" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES
vr0 at pci0 dev 13 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:0d:b9:0e:9e:f4
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
glxpcib0 at pci0 dev 15 function 0 "AMD CS5536 ISA" rev 0x03: rev 3, 32-bit 3579545Hz timer, watchdog, gpio, i2c
gpio0 at glxpcib0: 32 pins
iic0 at glxpcib0
pciide0 at pci0 dev 15 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <SanDisk SDCFHSNJC-016G>
wd0: 1-sector PIO, LBA48, 15259MB, 31250432 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
auglx0 at pci0 dev 15 function 3 "AMD CS5536 Audio" rev 0x01: irq 11, CS5536 AC97
ac97: codec id 0x414c4770 (Avance Logic ALC203 rev 0)
ac97: codec features headphone, 20 bit DAC, 18 bit ADC, No 3D Stereo
audio0 at auglx0
ohci0 at pci0 dev 15 function 4 "AMD CS5536 USB" rev 0x02: irq 5, version 1.0, legacy support
ehci0 at pci0 dev 15 function 5 "AMD CS5536 USB" rev 0x02: irq 5
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41
lm1 at wbsio0 port 0x290/8: W83627HF
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00 addr 1
umass0 at uhub0 port 4 configuration 1 interface 0 "Prolific Technology Inc. Mass Storage Device" rev 2.00/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd0 at scsibus1 targ 1 lun 0: <ST980815, A, 3.AL> SCSI0 0/direct fixed serial.067b2506000000000000
sd0: 76319MB, 512 bytes/sector, 156301488 sectors
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (5162f658323b2b07.a) swap on wd0b dump on wd0b
WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Edgar Pettijohn III-2
On 16-09-19 17:43:06, Jan Stary wrote:

> This is current/i386 on an ALIX.1E (demsg below).
> I have an USB disk connected for /backup.
>
> Upon every reboot, the filesystem on that disk is dirty:
> WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck
>
> It seems that it does not get properly umounted when shutting down.
> I added 'umount /backup' to my rc.shutdown and that works around it.
>
> However, what could be causing this?
>
> Jan

What is in your /etc/fstab?

>
>
>
> OpenBSD 6.0-current (GENERIC) #2062: Sun Sep 18 23:12:44 MDT 2016
>     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC
> cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 499 MHz
> cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX,MMXX,3DNOW2,3DNOW
> real mem  = 259207168 (247MB)
> avail mem = 241659904 (230MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: date 07/19/10, BIOS32 rev. 0 @ 0xfa950
> apm0 at bios0: Power Management spec V1.2 (slowidle)
> pcibios0 at bios0: rev 2.1 @ 0xf0000/0xdfb4
> pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf30/128 (6 entries)
> pcibios0: PCI Exclusive IRQs: 5 10 11
> pcibios0: no compatible PCI ICU found: ICU vendor 0x1022 product 0x2090
> pcibios0: Warning, unable to fix up PCI interrupt routing
> pcibios0: PCI bus #0 is the last bus
> bios0: ROM list: 0xc0000/0x8000 0xc8000/0xa800 0xef000/0x1000!
> cpu0 at mainbus0: (uniprocessor)
> mtrr: K6-family MTRR support (2 registers)
> amdmsr0 at mainbus0
> pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
> vga1 at pci0 dev 1 function 1 "AMD Geode LX Video" rev 0x00
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES
> vr0 at pci0 dev 13 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:0d:b9:0e:9e:f4
> ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
> glxpcib0 at pci0 dev 15 function 0 "AMD CS5536 ISA" rev 0x03: rev 3, 32-bit 3579545Hz timer, watchdog, gpio, i2c
> gpio0 at glxpcib0: 32 pins
> iic0 at glxpcib0
> pciide0 at pci0 dev 15 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
> wd0 at pciide0 channel 0 drive 0: <SanDisk SDCFHSNJC-016G>
> wd0: 1-sector PIO, LBA48, 15259MB, 31250432 sectors
> wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
> pciide0: channel 1 ignored (disabled)
> auglx0 at pci0 dev 15 function 3 "AMD CS5536 Audio" rev 0x01: irq 11, CS5536 AC97
> ac97: codec id 0x414c4770 (Avance Logic ALC203 rev 0)
> ac97: codec features headphone, 20 bit DAC, 18 bit ADC, No 3D Stereo
> audio0 at auglx0
> ohci0 at pci0 dev 15 function 4 "AMD CS5536 USB" rev 0x02: irq 5, version 1.0, legacy support
> ehci0 at pci0 dev 15 function 5 "AMD CS5536 USB" rev 0x02: irq 5
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
> isa0 at glxpcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 irq 7
> wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41
> lm1 at wbsio0 port 0x290/8: W83627HF
> npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
> usb1 at ohci0: USB revision 1.0
> uhub1 at usb1 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00 addr 1
> umass0 at uhub0 port 4 configuration 1 interface 0 "Prolific Technology Inc. Mass Storage Device" rev 2.00/1.00 addr 2
> umass0: using SCSI over Bulk-Only
> scsibus1 at umass0: 2 targets, initiator 0
> sd0 at scsibus1 targ 1 lun 0: <ST980815, A, 3.AL> SCSI0 0/direct fixed serial.067b2506000000000000
> sd0: 76319MB, 512 bytes/sector, 156301488 sectors
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on wd0a (5162f658323b2b07.a) swap on wd0b dump on wd0b
> WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck

--
Edgar Pettijohn

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Jan Stary
On Sep 19 10:50:30, [hidden email] wrote:

> On 16-09-19 17:43:06, Jan Stary wrote:
> > This is current/i386 on an ALIX.1E (demsg below).
> > I have an USB disk connected for /backup.
> >
> > Upon every reboot, the filesystem on that disk is dirty:
> > WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck
> >
> > It seems that it does not get properly umounted when shutting down.
> > I added 'umount /backup' to my rc.shutdown and that works around it.
> >
> > However, what could be causing this?
> >
> > Jan
>
> What is in your /etc/fstab?

5162f658323b2b07.a /               ffs rw,softdep                         1 1
5162f658323b2b07.d /usr            ffs rw,softdep,noatime,nodev           1 2
5162f658323b2b07.e /usr/local      ffs rw,softdep,noatime,nodev,wxallowed 1 2
5162f658323b2b07.f /var            ffs rw,softdep,noatime,nodev,nosuid    1 2
5162f658323b2b07.g /var/log        ffs rw,softdep,noatime,nodev,nosuid    1 2
5162f658323b2b07.h /var/www        ffs rw,softdep,noatime,nodev,nosuid    1 2
5162f658323b2b07.i /var/mail       ffs rw,softdep,nodev,nosuid            1 2
5162f658323b2b07.j /var/mysql      ffs rw,softdep,noatime,nodev,nosuid    1 2
5162f658323b2b07.k /var/postgresql ffs rw,softdep,noatime,nodev,nosuid    1 2
5162f658323b2b07.l /tmp            ffs rw,softdep,noatime,nodev,nosuid    1 2
5162f658323b2b07.m /home           ffs rw,softdep,noatime,nodev,nosuid    1 2

5162f658323b2b07.n /usr/src        ffs rw,softdep,noatime,nodev,nosuid,noauto
5162f658323b2b07.o /usr/obj        ffs rw,softdep,noatime,nodev,nosuid,noauto
5162f658323b2b07.p /usr/ports      ffs rw,softdep,noatime,nodev,nosuid,noauto

9d24108772d1158c.a /backup         ffs rw,softdep,noatime,nodev,noexec

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Edgar Pettijohn III-2
On 16-09-19 18:22:37, Jan Stary wrote:

> On Sep 19 10:50:30, [hidden email] wrote:
> > On 16-09-19 17:43:06, Jan Stary wrote:
> > > This is current/i386 on an ALIX.1E (demsg below).
> > > I have an USB disk connected for /backup.
> > >
> > > Upon every reboot, the filesystem on that disk is dirty:
> > > WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck
> > >
> > > It seems that it does not get properly umounted when shutting down.
> > > I added 'umount /backup' to my rc.shutdown and that works around it.
> > >
> > > However, what could be causing this?
> > >
> > > Jan
> >
> > What is in your /etc/fstab?
>
> 5162f658323b2b07.a /               ffs rw,softdep                         1 1
> 5162f658323b2b07.d /usr            ffs rw,softdep,noatime,nodev           1 2
> 5162f658323b2b07.e /usr/local      ffs rw,softdep,noatime,nodev,wxallowed 1 2
> 5162f658323b2b07.f /var            ffs rw,softdep,noatime,nodev,nosuid    1 2
> 5162f658323b2b07.g /var/log        ffs rw,softdep,noatime,nodev,nosuid    1 2
> 5162f658323b2b07.h /var/www        ffs rw,softdep,noatime,nodev,nosuid    1 2
> 5162f658323b2b07.i /var/mail       ffs rw,softdep,nodev,nosuid            1 2
> 5162f658323b2b07.j /var/mysql      ffs rw,softdep,noatime,nodev,nosuid    1 2
> 5162f658323b2b07.k /var/postgresql ffs rw,softdep,noatime,nodev,nosuid    1 2
> 5162f658323b2b07.l /tmp            ffs rw,softdep,noatime,nodev,nosuid    1 2
> 5162f658323b2b07.m /home           ffs rw,softdep,noatime,nodev,nosuid    1 2
>
> 5162f658323b2b07.n /usr/src        ffs rw,softdep,noatime,nodev,nosuid,noauto
> 5162f658323b2b07.o /usr/obj        ffs rw,softdep,noatime,nodev,nosuid,noauto
> 5162f658323b2b07.p /usr/ports      ffs rw,softdep,noatime,nodev,nosuid,noauto
>
> 9d24108772d1158c.a /backup         ffs rw,softdep,noatime,nodev,noexec

It works for me. Maybe your filesystem is gunked up or the thumbdrive.

--
Edgar Pettijohn

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Darren Tucker
In reply to this post by Jan Stary
On Tue, Sep 20, 2016 at 1:43 AM, Jan Stary <[hidden email]> wrote:
>
> This is current/i386 on an ALIX.1E (demsg below).
> I have an USB disk connected for /backup.
>
> Upon every reboot, the filesystem on that disk is dirty:
> WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck


I saw something similar on an APU where the root disk was on
(USB-attached) sdcard:
http://marc.info/?l=openbsd-misc&m=144237305322074&w=2

It seems to be a race.  There used to be a 4sec pause in the kernel
that was removed:

"""
Remove 4 second delay on reboot/shutdown that was added 8 years
ago to "workaround MP timeout/splhigh/scsi race at reboot time".
"""

> It seems that it does not get properly umounted when shutting down.
> I added 'umount /backup' to my rc.shutdown and that works around it.
>
> However, what could be causing this?

I suspect your addition to the shutdown script makes the unmount early
enough that it has time to complete whatever operation it's trying to
complete.

--
Darren Tucker (dtucker at zip.com.au)
GPG key 11EAA6FA / A86E 3E07 5B19 5880 E860  37F4 9357 ECEF 11EA A6FA (new)
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Stefan Fritsch
On Tue, 20 Sep 2016, Darren Tucker wrote:

> On Tue, Sep 20, 2016 at 1:43 AM, Jan Stary <[hidden email]> wrote:
> >
> > This is current/i386 on an ALIX.1E (demsg below).
> > I have an USB disk connected for /backup.
> >
> > Upon every reboot, the filesystem on that disk is dirty:
> > WARNING: R/W mount of /backup denied.  Filesystem is not clean - run fsck
>
>
> I saw something similar on an APU where the root disk was on
> (USB-attached) sdcard:
> http://marc.info/?l=openbsd-misc&m=144237305322074&w=2
>
> It seems to be a race.  There used to be a 4sec pause in the kernel
> that was removed:
>
> """
> Remove 4 second delay on reboot/shutdown that was added 8 years
> ago to "workaround MP timeout/splhigh/scsi race at reboot time".
> """

I think before we re-add some arbitrary delays, we should check if we are
actually sending an explicit cache flush command to the disk controllers.
I have some code somewhere that does this for umount and mount -ur. I will
look for it and send it to tech@, but probably not today.

Cheers,
Stefan

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Craig Skinner-3
In reply to this post by Jan Stary
Hi Jan,

On Mon, 19 Sep 2016 18:22:37 +0200 Jan Stary wrote:
>
> 9d24108772d1158c.a /backup         ffs rw,softdep,noatime,nodev,noexec
>

With softdep everywhere, would this help in /etc/rc.shutdown?

for i in 4 3 2 1                                                                
do                                                                              
    sync                                                                        
    sleep ${i}                                                                  
done

Reply | Threaded
Open this post in threaded view
|

Re: usb disk dirty after every reboot

Ted Unangst-6
Craig Skinner wrote:

> Hi Jan,
>
> On Mon, 19 Sep 2016 18:22:37 +0200 Jan Stary wrote:
> >
> > 9d24108772d1158c.a /backup         ffs rw,softdep,noatime,nodev,noexec
> >
>
> With softdep everywhere, would this help in /etc/rc.shutdown?
>
> for i in 4 3 2 1                                                                
> do                                                                              
>     sync                                                                        
>     sleep ${i}                                                                  
> done

Only if there is a bug that should be fixed instead.