UBIFS volume corruption (bad node at LEB 0:0)

Adrian Hunter ext-adrian.hunter at nokia.com
Wed Jan 28 03:24:58 EST 2009


Kyungmin Park wrote:
> Hi,
> 
> On Mon, Jan 26, 2009 at 6:18 PM, Artem Bityutskiy
> <dedekind at infradead.org> wrote:
>> On Wed, 2009-01-07 at 23:13 -0500, David Bergeron wrote:
>>> Hello all,
>>>
>>> I'm getting some sort of volume corruption problem with UBIFS after
>>> doing
>>> rootfs updates using rsync.
>>>
>>> I've cooked up a minimalist test trying to eliminate possible
>>> interference.
>>> The following steps will trigger the corruption almost every time.
>>> No
>>> errors
>>> or warnings are produced during this procedure, every step behaves
>>> as
>>> expected:
>> David,
>>
>> we think we've fixed this bug. The reason was that when mounting RO,
>> then re-mounting read-write, the orphan sub-system was not properly
>> initialized. The fix is available at the ubifs-v2.6.28.git tree. I've
>> back-ported all stable changes and fixes to the tree. You need this fix:
>>
>> commit b3718eedf4ab91307f64a79ad8eb911ca401bd22
>> Author: Adrian Hunter <ext-adrian.hunter at nokia.com>
>> Date:   Mon Jan 26 10:55:40 2009 +0200
>>
>>    UBIFS: ensure orphan area head is initialized
>>
>>    When mounting read-only the orphan area head is
>>    not initialized.  It must be initialized when
>>    remounting read/write, but it was not.  This patch
>>    fixes that.
>>
>>    [Artem: sorry, added comment tweaking noise]
>>    Signed-off-by: Adrian Hunter <ext-adrian.hunter at nokia.com>
>>    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
>>
>> However, I recommend you to incorporate all UBI/UBIFS changes since
>> 2.6.28, because there were other bug-fixes.
>>
>> You may find information about back-port trees here:
>> http://www.linux-mtd.infradead.org/doc/ubifs.html#L_source
>>
>> Please, send us some feed-back about whether your problem has been
>> solved.
>>
> 
> I got the similar problem with orphan node handling. with this patch,
> it's solved. but there are strange ones.
> 
> I boot with ubifs with ro mode. and then I remount it as rw. after
> some work, I remount it as ro. at that case.
> It displayed "Device busy" so I can't change the mode. Did you have any clue?

Speaking of orphans, it is not possible to remount rw->ro with files that are
pending for deletion on any file system e.g. open file, unlink it, try to
remount ro => device busy error.  The unlinked file must be closed first so
that the file system can delete it.




More information about the linux-mtd mailing list