[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ext2 superblock fault

From: Samuel Thibault
Subject: Ext2 superblock fault
Date: Sun, 2 Mar 2008 00:20:25 +0000
User-agent: Mutt/1.5.12-2006-07-14


Sometimes ext2fs just hangs, and gdb-ing it shows a huge lot of threads
almost all blocked at hurd/ext2fs/getblk.c:236, i.e. on a dereference
of sblock (unfortunately I forgot to ask for a backtrace).  I was
wondering: what happens if because of memory pressure the superblock
gets swapped out by Mach?  Is ext2fs able to read it back?  It looks to
me like it may not be.  I don't know so much about paging, but a kind of
problematic path I can find is:

vm_fault() on sblock
  calls memory_object_data_request
    calls pager_read_page 
  calls memory_object_data_unlock 
    calls pager_unlock_page 
      calls ext2_getblk 
        reads sblock, faults
and thus restarts again in a new thread (fortunately in the debian
package there is a thread number threshold).

I'm currently trying the attached (ugly) patch on top of the >2GB patch,
and for now haven't encountered the problem any more.


Attachment: patch
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]