Opened 12 years ago

Closed 12 years ago

#54 closed defect (fixed)

Error in chkdsk of a drive formatted with JFS FS

Reported by: Anchieri Owned by: somebody
Priority: critical Component: basedrv
Version: Keywords:
Cc:

Description

I have installed your last usbhcd-190 version but if I want to check a disk I receive a fatal error.

I have attached a jfs-error.txt file with information on this error, please read it.

Attachments (17)

jfs_error.txt (3.7 KB ) - added by Anchieri 12 years ago.
description of error
anchieri.zip (32.8 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: fixes to "PrepareToRemove": back out setting currTD to ZERO
jfs-error-02.txt (3.0 KB ) - added by Anchieri 12 years ago.
information on chkdsk
anchieri.2.zip (75.3 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: back out resetting QTD_IOC_FLAG on cancel, back out some changes in FreeClaimed
dfsee.jpg (145.0 KB ) - added by Anchieri 12 years ago.
anchieri.3.zip (75.1 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: back out changes to AddTDToQH
anchieri.4.zip (75.2 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: put in NULL pointer check for p_qtd accidentally left out
anchieri4.txt (5.2 KB ) - added by Anchieri 12 years ago.
anchieri.5.zip (75.3 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: fix NULL pointer problem in UnallocateUsbrbData
anchieri.6.zip (75.3 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: additional changes to "CheckQH" and "FinishIO"
anchieri.7.zip (75.4 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: put back in read pointer skip over USBRB to free, trigger doorbell on QH still being active
anchieri.8.zip (75.5 KB ) - added by Lars Erdmann 12 years ago.
USBEHCD: reintroduce frame list rollover interrupt
anchieri8.txt (950 bytes ) - added by Anchieri 12 years ago.
anchieri.9.zip (75.6 KB ) - added by Lars Erdmann 12 years ago.
anchieri9.txt (4.2 KB ) - added by Anchieri 12 years ago.
CPUASUS-1.jpg (148.6 KB ) - added by Anchieri 12 years ago.
CPUASUS2.jpg (219.9 KB ) - added by Anchieri 12 years ago.

Download all attachments as: .zip

Change History (42)

by Anchieri, 12 years ago

Attachment: jfs_error.txt added

description of error

comment:1 by Barry Landy, 12 years ago

I tried the same thing on my system without error.

I used DFSEE to give a drive letter to a pre-existing partition on an external USB connected drive. I used LVM to make sure the system recognised the letter.

I could then CHKDSK it without problem and read and write (quite a lot of stuff) to it.

HOWEVER... I then tried to clean up by using DFSEE again to remove the drive letter but instead of DFSEE starting up, the system spontaneously rebooted with no clue as to why.

On reboot I could tidy up without problem.

reported for interest....

comment:2 by Lars Erdmann, 12 years ago

@Anchieri: are you plugging in your USB drives into an external USB hub ? If yes, directly attach them to your computer.

by Lars Erdmann, 12 years ago

Attachment: anchieri.zip added

USBEHCD: fixes to "PrepareToRemove": back out setting currTD to ZERO

comment:3 by Lars Erdmann, 12 years ago

try anchieri.zip for USBEHCD.SYS.

comment:4 by Anchieri, 12 years ago

I have tested your anchieri.zip as previous: with attaching all my external disk drives before booting. Of this three disk only the first two come attached J: and K:. I open the folder of drive K: and in this time the system don't stopped. I then tested the chkdsk on disk K: the result is in the attached file jfs-error-02.txt In response of your question I have inserted also the output of usb.cmd the disks are attached at one of this internal host controller, I don't have external hub.

by Anchieri, 12 years ago

Attachment: jfs-error-02.txt added

information on chkdsk

comment:5 by Lars Erdmann, 12 years ago

I cannot help you with your drive letter problem. It's something that is going wrong with OS2LVM.DMD. I suggest you assign new drive letters to your JFS USB drives. Maybe that rectifies the situation. For sure it's not a problem with the USB drivers.

comment:6 by Lars Erdmann, 12 years ago

By the way: for your attach problems, try blandy2.zip and also blandy3.zip from ticket #49. Report back which version works for you.

by Lars Erdmann, 12 years ago

Attachment: anchieri.2.zip added

USBEHCD: back out resetting QTD_IOC_FLAG on cancel, back out some changes in FreeClaimed

comment:7 by Lars Erdmann, 12 years ago

Try anchieri2.zip and tell me if that fixes your chkdsk problems.

comment:8 by Anchieri, 12 years ago

I have installed the content of file anchieri2.zip and rebooted. After that I have open dfsee and I have captured an image of dfsee (dfsee.jpg) drive as you can see, then I have run chkdsk on drive K: attached before boot, here is the result:

[C:\]chkdsk K: /F

The current hard disk drive is: K:

The type of file system for the disk is JFS.

The JFS file system program has been started.

CHKDSK Block size in bytes: 4096

CHKDSK File system size in blocks: 39072080

CHKDSK *Phase 0 - Replay Journal Log

CHKDSK *Phase 1 - Check Blocks, Files/Directories, and Directory Entries

Internal error: devices.c(532): Write error 31 (GEN_FAILURE)

JFS0187: CHKDSK Unrecoverable error writing M to K:. CHKDSK CANNOT CONTINUE.

CHKDSK File system is clean.

CHKDSK THE FILE SYSTEM IS NOW AVAILABLE.

CHKDSK Transferring entries from the LVM Bad Block Table for this file

system to the JFS Bad Block Table for this file system.

CHKDSK LVM reports 0 bad blocks. Of these, 0 have been transferred

to the JFS Bad Block List.

.@.......

[C:\]

then I have run the command:

[C:\]dir K:\*.*

The volume label in drive K is IOMEGA-JFS.

The Volume Serial Number is B71A:95C0.

Directory of K:\

10/01/13 16:39 <DIR> 0 ---- .

10/01/13 16:39 <DIR> 0 ---- ..

17/12/12 16:42 <DIR> 0 ---- C_

03/12/12 18:15 <DIR> 0 ---- D_

14/03/13 15:27 <DIR> 0 ---- H_

29/04/13 17:25 <DIR> 0 ---- I_

6 file(s) 0 bytes used

2.749.542 K bytes free

[C:\] As you can see the disk is readable but the error remain.

by Anchieri, 12 years ago

Attachment: dfsee.jpg added

by Lars Erdmann, 12 years ago

Attachment: anchieri.3.zip added

USBEHCD: back out changes to AddTDToQH

comment:9 by Lars Erdmann, 12 years ago

try anchieri.3.zip

by Lars Erdmann, 12 years ago

Attachment: anchieri.4.zip added

USBEHCD: put in NULL pointer check for p_qtd accidentally left out

comment:10 by Lars Erdmann, 12 years ago

try anchieri.4.zip instead of anchieri.3.zip. In anchieri.3.zip I accidentally left out a fix done long ago in order to prevent a Trap D.

comment:11 by Anchieri, 12 years ago

I have executed many test as you can see in anchieri4.txt attached, nothing give a valid result.

by Anchieri, 12 years ago

Attachment: anchieri4.txt added

by Lars Erdmann, 12 years ago

Attachment: anchieri.5.zip added

USBEHCD: fix NULL pointer problem in UnallocateUsbrbData

comment:12 by Lars Erdmann, 12 years ago

Try anchieri.5.zip.

by Lars Erdmann, 12 years ago

Attachment: anchieri.6.zip added

USBEHCD: additional changes to "CheckQH" and "FinishIO"

comment:13 by Lars Erdmann, 12 years ago

Try anchieri.6.zip.

comment:14 by Anchieri, 12 years ago

I have installed your anchieri.6.zip and reboted the PC, running chsck disk, here the result:

[C:\]chkdsk K: /F The current hard disk drive is: K: The type of file system for the disk is JFS.

The JFS file system program has been started.

CHKDSK Block size in bytes: 4096

CHKDSK File system size in blocks: 39072080

CHKDSK *Phase 0 - Replay Journal Log

CHKDSK *Phase 1 - Check Blocks, Files/Directories, and Directory Entries

JFS0148: CHKDSK Unrecoverable error reading M from K:. CHKDSK CANNOT CONTINUE.

@........

[C:\] the failure remain.

by Lars Erdmann, 12 years ago

Attachment: anchieri.7.zip added

USBEHCD: put back in read pointer skip over USBRB to free, trigger doorbell on QH still being active

comment:15 by Lars Erdmann, 12 years ago

Try anchieri.7.zip. Sorry but I cannot reproduce your problem as I can properly run chkdsk on large JFS or HPFS drives without a problem. It'll take some trial and error.

by Lars Erdmann, 12 years ago

Attachment: anchieri.8.zip added

USBEHCD: reintroduce frame list rollover interrupt

comment:16 by Lars Erdmann, 12 years ago

Try anchieri.8.zip (skip anchieri.7.zip)

comment:17 by Anchieri, 12 years ago

I have tested your anchieri.8.zip, but the failure persist, see my thought on this error in anchieri8.txt attached.

by Anchieri, 12 years ago

Attachment: anchieri8.txt added

comment:18 by Lars Erdmann, 12 years ago

Is M: not a USB disk ? Is K: not a USB disk ?

Anyway: please use the /S: switch of USBEHCD.SYS to lower the transmission speed:

BASEDEV=USBEHCD.SYS /S:8

Tell me if that makes a difference.

by Lars Erdmann, 12 years ago

Attachment: anchieri.9.zip added

comment:19 by Lars Erdmann, 12 years ago

please try anchieri.9.zip. Then do as described above with the /S: switch.

You can then succesively try these values until you get the failure again:
/S:4
/S:2
/S:1 (this is the default if you don't specify the /S: switch)

Last edited 12 years ago by Lars Erdmann (previous) (diff)

comment:20 by Barry Landy, 12 years ago

"drive K is an IOMEGA RAM drive" - do I understand that correctly: it is a drive using RAM emulating a USB drive? In which case it might be totally different to a real USB drive.

I am happy to try it out on my system to generate extra data but I would need the source to install the RAM drive.

comment:21 by Anchieri, 12 years ago

Mr Erdmann, I have Installed the last anchieri.9.zip file and I have tested with /S:4 and With /S:8, with the first I have minor error but with the last all com OK as in anchieri9.txt that I have attached.

I will test this version other many time, also with the M: drive that has 500GB in JFS mode and if I find out other problem I open another bug report, For now you can close this bug report with all ok.

by Anchieri, 12 years ago

Attachment: anchieri9.txt added

comment:22 by Lars Erdmann, 12 years ago

Looks like your USB HW cannot handle the high interrupt rate of 128 microseconds with /S:1 (which is the default). The solution for you is to stick to /S:8.

If you don't mind I would like to test yet another version as there are still issues with chkdsk and device attach.

comment:23 by Lars Erdmann, 12 years ago

By the way: what CPU do you have ? Dual core ? What's the CPU frequency ?

comment:24 by Anchieri, 12 years ago

MY CPU IS: ASUS P5LD2-X/1333 MOTHERBOARD with Intel Core 2 DUO with 3GB of RAM. Intel 945 family +ICH7 - 2,33 GHz, 4MB L2 cache 1333 MHz FSB

For more information on this CPU view the image: CPUASUS.jpg that I have attached.

by Anchieri, 12 years ago

Attachment: CPUASUS-1.jpg added

by Anchieri, 12 years ago

Attachment: CPUASUS2.jpg added

comment:25 by Lars Erdmann, 12 years ago

Resolution: fixed
Status: newclosed

Fixed by adding /S:8 switch and additional changes to USBEHCD.SYS.

Note: See TracTickets for help on using tickets.