Opened 14 years ago

Closed 8 years ago

#12 closed enhancement (fixed)

chkdsk processing during bootup needs to be changed

Reported by: warpuser Owned by: somebody
Priority: Feedback Pending Milestone: GA
Component: IFS Version: 1.0
Severity: highest Keywords: fat32 boot
Cc:

Description

We now run into a problem that due other developments to be able to boot from a FAT32 drive. All is working ok till the volume is in dirty state, unlike hpfs, jfs, and others the fat32.ifs driver wont run chkdsk to have a clean state after it. The job to run chkdsk is made by the cachef32 later in the boot process, however in this stage it will run into a "SYS0108 drive is locked by another process" ... so there is no way to have a clean drive in this situation. chkdsk handling needs to be moved to the ifs driver.

Change History (8)

comment:1 by Valery V. Sedletski, 8 years ago

Severity: highest

With ftp://osfree.org/upload/fat32/fat32-0.10-alpha5.zip, the support for autochecking of fat32 on IFS init is added. The problem was that CHKDSK called some ioctl and fsctl functions in fat32.ifs during the disk checking. So, I needed to port the called code from the IFS to chkdsk, to be called locally. This is done. Now CHKDSK is successfully called from IFS init. Also, added /autocheck or /ac switch to fat32.ifs. As it is with HPFS and JFS, this specifies the list of disks to be checked on init.

comment:2 by diver, 8 years ago

Milestone: GA

is this completely done now?

comment:3 by Valery V. Sedletski, 8 years ago

This is mostly works with ​ftp://osfree.org/upload/fat32/fat32-0.10-alpha6.zip, but I see sometimes it checks some disks almost at each reboot, and some disks are not checked, even after traps. Something with dirty flag setting?

comment:4 by Valery V. Sedletski, 8 years ago

Updated the binaries again, the link is at http://trac.netlabs.org/fat32/ticket/24#comment:11

comment:5 by diver, 8 years ago

Priority: majorFeedback Pending

comment:6 by diver, 8 years ago

goes along with #27?

comment:7 by Valery V. Sedletski, 8 years ago

Now chkdsk is run from the IFS routine, and seems to work as expected, so closing the ticket.

comment:8 by Valery V. Sedletski, 8 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.