#11814 NORM 1.75-fi: ext2 filesystem flush fails with 0 attempt to corrupt superblock or group descriptor

Zarro Boogs per Child bugtracker at laptop.org
Tue Apr 24 21:46:48 EDT 2012


#11814: ext2 filesystem flush fails with 0 attempt to corrupt superblock or group
descriptor
-------------------------------------------+--------------------------------
           Reporter:  Quozl                |       Owner:  Quozl               
               Type:  defect               |      Status:  new                 
           Priority:  normal               |   Milestone:  1.75-firmware       
          Component:  ofw - open firmware  |     Version:  Development firmware
         Resolution:                       |    Keywords:                      
        Next_action:  diagnose             |    Verified:  0                   
Deployment_affected:                       |   Blockedby:                      
           Blocking:                       |  
-------------------------------------------+--------------------------------
Changes (by Quozl):

 * cc: wmb at firmworks.com (added)
  * next_action:  never set => diagnose


Comment:

 Reading physical block zero into the blocks cache is a prelude to the
 problem.

 Two call chains result in a read of physical block zero:

  * Callers: ''d.block j-read-file-block ext2fsfread'' (of logical block
 zero) ... ''set-line-delimiter'' ... ''open-file'',
  * Callers: ''d.block write-file-block ext2fsfwrite'' (of logical block
 zero) ... ''fputs''.

 ''>pblk-adr'' has correctly processed logical block zero and returned the
 address of the inode block list.  But ''>d.pblk#'' has returned a ( 0 true
 ) because no blocks are allocated to the inode at the time.

 The first call chain can be fixed in ''ext2fsread'' by returning zero
 bytes read when ''dfile-size'' shows zero.

 The second call chain I'm not sure about, I need help understanding what
 is going on.  Perhaps the solution needs to be deeper.

-- 
Ticket URL: <http://dev.laptop.org/ticket/11814#comment:2>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list