[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 |
Hello,
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.
Samuel
patch
Description: Text document
- Ext2 superblock fault,
Samuel Thibault <=
- Re: Ext2 superblock fault, Samuel Thibault, 2008/03/02
- Re: Ext2 superblock fault, Samuel Thibault, 2008/03/09
- Re: Ext2 superblock fault, Thomas Bushnell BSG, 2008/03/09
- Re: Ext2 superblock fault, Samuel Thibault, 2008/03/10
- Thread model (was: Ext2 superblock fault), olafBuddenhagen, 2008/03/11
- Re: Thread model, Neal H. Walfield, 2008/03/11
- Re: Thread model, Marcus Brinkmann, 2008/03/12
- Re: Thread model, olafBuddenhagen, 2008/03/17
- Re: Thread model, Neal H. Walfield, 2008/03/17
- Re: Thread model, olafBuddenhagen, 2008/03/18