Re: NILFS: corrupt root inode after Turbo Mode?

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

 



On Tue, Oct 23, 2012 at 10:31:53AM +0400, Vyacheslav Dubeyko wrote:
> Sorry, for delay with answer. I was slightly busy.

Hi,

Not a problem. Thanks for help. (:


> So, currently, I have such picture. Your initial report was:
> 
> On Tue, 2012-10-09 at 00:25 +0200, Piotr Szymaniak wrote:
> > dmesg shows:
> > (...)
> > [43893.754525] segctord starting. Construction interval = 300 seconds, CP frequency < 30 seconds
> > [43893.760245] NILFS: corrupt root inode.
> 
> This error message generates only in one place by
> nilfs_get_root_dentry() method in super.c
> (http://lxr.free-electrons.com/source/fs/nilfs2/super.c#L903):
> 
> 903         if (!S_ISDIR(inode->i_mode) || !inode->i_blocks || !inode->i_size) {
> 904                 iput(inode);
> 905                 printk(KERN_ERR "NILFS: corrupt root inode.\n");
> 906                 ret = -EINVAL;
> 907                 goto out;
> 908         }
> 
> So, only corruption of any of three fields of inode can be a reason for
> such error message, from my understanding. But from the dump of #734205
> block I can see such content of root inode (ino = 2):
> 
> 00000100  01 00 00 00 00 00 00 00  00 10 00 00 00 00 00 00  |................|
> 00000110  08 00 00 00 00 00 00 00  08 00 00 00 00 00 00 00  |................|
> 00000120  03 5a 62 02 03 5a 62 02  00 00 00 00 00 00 00 00  |.Zb..Zb.........|
> 00000130  ed 41 13 00 00 00 00 00  00 00 00 00 00 00 00 00  |.A..............|
> 00000140  8f aa 0a 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
> 00000150  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
> 00000160  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
> 00000170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
> 
> [00000100] i_blocks = 0x1
> [00000108] i_size = 0x1000
> [00000130] i_mode = 0x41ed (040755)
> 
> It means that inode's content is placed in one block and this inode
> describes folder. So, the on-disk inode is correct and should be read
> correctly during mounting. I have compared vanilla kernel code with
> https://github.com/raspberrypi/linux and can't see any significant
> difference. Currently, I think that unstable functioning of SD-card
> controller in the Turbo mode can be the reason of this error message but
> maybe I haven't the clear picture.
> 
> Did you try to mount this NILFS2 volume on host machine in normal mode?
> Do you have such error message with this NILFS2 volume in another
> technical environment?

Yes, I tried to run it in normal mode (/boot is on small fat partition,
so I can tweak Turbo one way on another without touching rootfs). Also
all of the dumps are made on another machine (Gentoo x86 with kernel 3.6.2)
and it refuses to mount with above message.


Piotr Szymaniak.
-- 
 - Bufory.  Oto, dlaczego ja poslubilem.  I bylem glupcem, wstydzac sie
przed  soba  do  tego  przyznac.  Zupelnie  jak  faceci,  ktorzy kupuja
Playboya,  wmawiajac  sobie,  ze  to  tylko dla artykulow. - Otarl usta
wierzchem  dloni. - Zgoda, to infantylne, ale to mi sie wlasnie podoba.
Bufory.
  -- Graham Masterton, "Mirror"

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux