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 , 8 years ago
Severity: | → highest |
---|
comment:3 by , 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 , 8 years ago
Updated the binaries again, the link is at http://trac.netlabs.org/fat32/ticket/24#comment:11
comment:5 by , 8 years ago
Priority: | major → Feedback Pending |
---|
comment:7 by , 8 years ago
Now chkdsk is run from the IFS routine, and seems to work as expected, so closing the ticket.
comment:8 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
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.