bug-hurd
[Top][All Lists]
Advanced

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

Re: VirtualBox Hangs Pre-Init Due To Ext2FS Fault


From: James Clarke
Subject: Re: VirtualBox Hangs Pre-Init Due To Ext2FS Fault
Date: Wed, 15 Jul 2015 21:20:57 +0100

As discussed in IRC, this successfully stopped the disk pager from 
dereferencing sblock. However, it was still hanging at boot a lot of the time 
(seemingly if and only if I booted in normal mode ie not recovery mode, but 
that's probably just a timing thing).

I had a look today at what's happening, and it's that the *file* pager is 
trying to read from disk. Any thoughts?

James

> On 14 Jul 2015, at 20:54, Justus Winter <4winter@informatik.uni-hamburg.de> 
> wrote:
> 
> Hi James :)
> 
> you found a long-standing bug in ext2fs.  Fixing it allows us to get
> rid of the ugly workaround in daemons/runsystem.sh (look for `XXX').
> 
> Quoting Richard Braun (2015-07-13 10:16:14)
>>> On Sun, Jul 12, 2015 at 12:56:31PM +0100, James Clarke wrote:
>>> That doesn’t seem to boot at all. I had tried changing it to inhibiting all 
>>> RPCs (it looks like you’ve inhibited an extra class?), but it seems that 
>>> paging is needed? Perhaps part of ext2fs gets paged out, and it needs to be 
>>> paged in when remounting?
>> 
>> Remounting can require paging out, yes.
>> 
>> See diskfs_reload_global_state in ext2fs :
>> 
>> diskfs_reload_global_state ()
>> {
>>  pokel_flush (&global_pokel);
>>  pager_flush (diskfs_disk_pager, 1);
> 
> So I guess we need to inhibit the RPCs here, not before calling
> diskfs_reload_global_state, then do:
> 
>  get_hypermetadata ();
>  map_hypermetadata ();
> 
> And reenable them here.
> 
>  return 0;
> }
> 
> I guess that means changing the diskfs API.  James, do you want to
> give it a shot?
> 
> In the mean time, enjoy my hacky workaround:
> http://nonmonolithic.org/ext2fs.static
> 
> Cheers,
> Justus



reply via email to

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