Ticket #11787 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

ext2 filesystem corrupted by mkdir

Reported by: Quozl Owned by: Quozl
Priority: normal Milestone: 1.75-firmware
Component: ofw - open firmware Version: Development firmware
Keywords: Cc: wmb@…
Action Needed: no action Verified: no
Deployments affected: Blocked By:
Blocking:

Description

ok mkdir int:\test
# e2fsck -f /dev/mmcblk0p1
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 14 ref count is 1, should be 2.  Fix<y>? yes

Pass 5: Checking group summary information
Directories count wrong for group #0 (2, counted=3).
Fix<y>? yes

Boot: ***** FILE SYSTEM WAS MODIFIED *****
Boot: 68/16384 files (4.4% non-contiguous), 16872/65536 blocks

Change History

Changed 2 years ago by Quozl

  • next_action changed from diagnose to code

The inode reference count error is due +link-count not checking filesystem feature bits.

The directory count wrong error is due to the bg_used_dirs_count value in the group descriptor not being maintained by Open Firmware when a directory is created, or deleted. used-dirs+! is easily implemented, but the call to it needs to be placed properly in the $mkdir and $rmdir flow.

Changed 2 years ago by Quozl

  • cc wmb@… added
  • next_action changed from code to review

Change made in svn 2947. It fixes both symptoms here. Mitch, could you please review?

Changed 2 years ago by wmb@…

svn 2947 looks good.

Changed 2 years ago by Quozl

  • next_action changed from review to add to build

Thanks.

Changed 2 years ago by Quozl

  • status changed from new to closed
  • next_action changed from add to build to no action
  • resolution set to fixed

Is in Q4D11.

Note: See TracTickets for help on using tickets.