Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#58 closed defect (fixed)

SVN rev 298: recovered EA files are creating files with drive letter prepended (invalid filename)

Reported by: erdmann Owned by:
Priority: major Milestone: Future
Component: IFS Version:
Severity: medium Keywords:
Cc:

Description

using version SVN rev 298: a chkdsk on a FAT32 formatted USB stick found orphaned EA references and recreated EA files. However, these files where created with names with the drive letter prepended such as:

G:\USBCOM.SYS.EA G:\USBEHCD.SYS.EA

(where g: is the current drive letter of the USB stick).

Consequently, these files cannot be opened, deleted or used otherwise. This is also true from a commandline.

Change History (6)

comment:1 Changed 2 years ago by valerius

2Lars: Ok, I'll look into it. BTW, you can try deleting these files under Linux -- they should delete ok.

comment:2 Changed 2 years ago by erdmann

I'll have to look around for a Linux Live CD. Even Windows will not delete these files :-)

I would think that you are missing to strip drive and path info from a fully qualified filepath to get to the filename only. In other words: if I had placed these files in say g:\subdir then the recreated filenames would have been G:\SUBDIR\USBCOM.SYS.EA etc.

comment:3 Changed 2 years ago by valerius

This should be fixed with r306.

comment:4 Changed 2 years ago by erdmann

tested with version SVN rev 306:

1) make sure EAs are enabled for FAT32.IFS by specifying /EAS switch on config.sys
2) create a file, say "test.txt" and use the WPS to add a subject or comment.

That will lead to creation of hidden EA file "test.txt EA. SF" that contains the subject/comment EAs

3) shut down and use a Linux live CD to boot
4) use Linux to delete file "test.txt" but leave file "test.txt EA. SF" untouched

Note: EA file is visible under Linux (as can be expected)

5) reboot into OS/2 and run a "chkdsk C: /F" on the drive (C: in my case)
6) "chkdsk" will report that it found a lost extended attribute file:

CHKDSK is checking fats :Ok.
CHKDSK is checking files and directories...
CHKDSK found an improperly terminated cluster chain for C:\test.txt EA. SF  and
corrected the problem
A lost Extended attribute was found (for C:\test.txt)
This attribute has been converted to a file
(TEST.TXT.EA)
CHKDSK is searching for lost data.
CHKDSK has searched 100% of the disk.
The correct free space is set to 160151 allocation units
      959488 kilobytes total disk space.
          64 kilobytes are in 11 directories.
      318456 kilobytes are in 287 user files.
        4096 bytes in 1 hidden files.
         360 kilobytes are in extended attributes.
      640604 kilobytes are available for use.

        4096 bytes in each allocation unit.
      239872 total allocation units.
      160151 available allocation units on disk.

1% of the files and directories are fragmented.

7) file "test.txt.ea" is created and contains the contents of orphaned EA file.

It can be deleted/renamed/etc. just like any other file. No drive/path is prepended to the filename any longer.

Works as advertised, thanks ! I'll close this ticket.

comment:5 Changed 2 years ago by erdmann

  • Resolution set to fixed
  • Status changed from new to closed

comment:6 Changed 2 years ago by valerius

Good. Also, you could do the same without Linux LiveCD. You just need to create a file with EA, then reboot without /EAS switch, and you will see both text.txt and text.txt EA, SF. So, you delete text.txt etc.

Note: See TracTickets for help on using tickets.