All of lore.kernel.org
 help / color / mirror / Atom feed
* xfs_repair after reboot refuse repair my filesystem
@ 2009-05-13  7:10 Vitaly V. Ch
  2009-05-13 17:59 ` Eric Sandeen
  0 siblings, 1 reply; 8+ messages in thread
From: Vitaly V. Ch @ 2009-05-13  7:10 UTC (permalink / raw)
  To: xfs

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

I try few version of xfs_repair, including 3.0.1 and 2.10.2, but
always receive something like:

xfs_repair: dir2.c:2133: process_dir2: Assertion `(ino
!=mp->m_sb.sb_rootino && ino != *parent) || (ino ==
mp->m_sb.sb_rootino && (ino == *parent || need_root_dotdot == 1))'
failed.

How I can repair my data?

compressed metadump attached.

there was no hardware failure.

\\wbr Vitaly

[-- Attachment #2: xfs.dump.bz2 --]
[-- Type: application/x-bzip2, Size: 237577 bytes --]

[-- Attachment #3: Type: text/plain, Size: 121 bytes --]

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-13  7:10 xfs_repair after reboot refuse repair my filesystem Vitaly V. Ch
@ 2009-05-13 17:59 ` Eric Sandeen
  2009-05-14  8:50   ` Vitaly V. Ch
  0 siblings, 1 reply; 8+ messages in thread
From: Eric Sandeen @ 2009-05-13 17:59 UTC (permalink / raw)
  To: Vitaly V. Ch; +Cc: xfs

Vitaly V. Ch wrote:
> I try few version of xfs_repair, including 3.0.1 and 2.10.2, but
> always receive something like:
> 
> xfs_repair: dir2.c:2133: process_dir2: Assertion `(ino
> !=mp->m_sb.sb_rootino && ino != *parent) || (ino ==
> mp->m_sb.sb_rootino && (ino == *parent || need_root_dotdot == 1))'
> failed.
> 
> How I can repair my data?
> 
> compressed metadump attached.
> 
> there was no hardware failure.

Hm, which OS/arch?  works ok for me on a loopback file, although
subsequent repairs do still give me:

bogus .. inode number (0) in directory inode 128, clearing inode number

[root@inode test]# rpm -qf `which xfs_repair`
xfsprogs-3.0.0-2.fc11.x86_64
[root@inode test]# xfs_mdrestore /root/xfs.dump testfile
[root@inode test]# xfs_repair testfile
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
entry "" in shortform directory 128 references invalid inode 0
zero length entry in shortform dir 128, junking 3 entries
corrected entry count in directory 128, was 3, now 0
corrected directory 128 size, was 69, now 6
bogus .. inode number (0) in directory inode 128, clearing inode number
zero length entry in shortform dir 132, junking 2 entries
corrected entry count in directory 132, was 2, now 0
corrected directory 132 size, was 59, now 6
bogus .. inode number (0) in directory inode 132, clearing inode number
entry "" in shortform directory 133 references invalid inode 0
zero length entry in shortform dir 133, junking 255 entries
corrected directory 133 size, was 8, now 6
entry "" in shortform directory 156 references invalid inode 0
zero length entry in shortform dir 156, junking 255 entries
corrected directory 156 size, was 8, now 6
bogus .. inode number (0) in directory inode 156, clearing inode number
        - agno = 1
zero length entry in shortform dir 268435584, resetting to 22
corrected directory 268435584 size, was 31, now 35
directory 268435584 offsets too high
corrected entry offsets in directory 268435584
bogus .. inode number (0) in directory inode 268435584, clearing inode
number
        - agno = 2
entry "" in shortform directory 536871040 references invalid inode 0
zero length entry in shortform dir 536871040, junking 2 entries
corrected entry count in directory 536871040, was 2, now 0
corrected directory 536871040 size, was 46, now 6
bogus .. inode number (0) in directory inode 536871040, clearing inode
number
        - agno = 3
zero length entry in shortform dir 805306496, junking 255 entries
corrected directory 805306496 size, was 8, now 6
        - agno = 4
entry "" in shortform directory 1073741952 references invalid inode 0
zero length entry in shortform dir 1073741952, junking 4 entries
corrected entry count in directory 1073741952, was 4, now 0
corrected directory 1073741952 size, was 101, now 6
        - agno = 5
entry "" in shortform directory 1342177408 references invalid inode 0
zero length entry in shortform dir 1342177408, junking 255 entries
corrected directory 1342177408 size, was 8, now 6
        - agno = 6
zero length entry in shortform dir 1610612864, junking 255 entries
corrected directory 1610612864 size, was 8, now 6
        - agno = 7
entry "" in shortform directory 1879048320 references invalid inode 0
zero length entry in shortform dir 1879048320, junking 255 entries
corrected directory 1879048320 size, was 8, now 6
        - agno = 8
zero length entry in shortform dir 2147483776, junking 255 entries
corrected directory 2147483776 size, was 8, now 6
        - agno = 9
        - agno = 10
        - agno = 11
        - agno = 12
        - agno = 13
        - agno = 14
        - agno = 15
        - agno = 16
        - agno = 17
        - agno = 18
        - agno = 19
        - agno = 20
        - agno = 21
        - agno = 22
        - agno = 23
        - agno = 24
        - agno = 25
        - agno = 26
        - agno = 27
        - agno = 28
        - agno = 29
        - agno = 30
        - agno = 31
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
bogus .. inode number (0) in directory inode 128, clearing inode number
bogus .. inode number (0) in directory inode 132, clearing inode number
        - agno = 1
entry "=(XC
\x1dj\x12]\x15e
      P^["^)58|x" in shortform directory 268435584 references invalid inode 0
junking entry "=(XC
\x1dj\x12]\x15e
      P^["^)58|x" in directory inode 268435584
bogus .. inode number (0) in directory inode 268435584, clearing inode
number
bogus .. inode number (0) in directory inode 156, clearing inode number
        - agno = 2
bogus .. inode number (0) in directory inode 536871040, clearing inode
number
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
        - agno = 8
        - agno = 9
        - agno = 10
        - agno = 11
        - agno = 12
        - agno = 13
        - agno = 14
        - agno = 15
        - agno = 16
        - agno = 17
        - agno = 18
        - agno = 19
        - agno = 20
        - agno = 21
        - agno = 22
        - agno = 23
        - agno = 24
        - agno = 25
        - agno = 26
        - agno = 27
        - agno = 28
        - agno = 29
        - agno = 30
        - agno = 31
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
disconnected dir inode 132, moving to lost+found
disconnected dir inode 133, moving to lost+found
disconnected dir inode 156, moving to lost+found
disconnected dir inode 268435584, moving to lost+found
disconnected dir inode 268435585, moving to lost+found
disconnected dir inode 536871040, moving to lost+found
disconnected dir inode 805306496, moving to lost+found
disconnected dir inode 1073741952, moving to lost+found
disconnected dir inode 1342177408, moving to lost+found
disconnected dir inode 1610612864, moving to lost+found
disconnected dir inode 1879048320, moving to lost+found
disconnected dir inode 2147483776, moving to lost+found
Phase 7 - verify and correct link counts...
resetting inode 128 nlinks from 6 to 3
resetting inode 132 nlinks from 4 to 2
resetting inode 268435584 nlinks from 3 to 2
resetting inode 536871040 nlinks from 4 to 2
resetting inode 1073741952 nlinks from 6 to 2
Note - quota info will be regenerated on next quota mount.
done

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-13 17:59 ` Eric Sandeen
@ 2009-05-14  8:50   ` Vitaly V. Ch
  2009-05-15  8:35     ` Vitaly V. Ch
  0 siblings, 1 reply; 8+ messages in thread
From: Vitaly V. Ch @ 2009-05-14  8:50 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: xfs

Hm, I xfs was create under debian on ARM. I try repair under Slackware
12.2 on x86

\\wbr Vitaly

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-14  8:50   ` Vitaly V. Ch
@ 2009-05-15  8:35     ` Vitaly V. Ch
  2009-05-15 14:31       ` Eric Sandeen
  2009-05-16 18:17       ` Eric Sandeen
  0 siblings, 2 replies; 8+ messages in thread
From: Vitaly V. Ch @ 2009-05-15  8:35 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: xfs

HI,

on my PC:

Fri 15 May 00:02:37|root@cvv:xfs# xfs_repair -V
xfs_repair version 3.0.1
Fri 15 May 00:03:26|root@cvv:xfs# xfs_mdrestore xfs.dump xfs.metaimg
Fri 15 May 00:03:37|root@cvv:xfs# xfs_repair -v xfs.metaimg
Phase 1 - find and verify superblock...
        - block cache size set to 133976 entries
Phase 2 - using internal log
        - zero log...
zero_log: head block 2 tail block 2
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
entry "" in shortform directory 128 references invalid inode 0
zero length entry in shortform dir 128, junking 3 entries
corrected entry count in directory 128, was 3, now 0
corrected directory 128 size, was 69, now 6
bogus .. inode number (0) in directory inode 128, clearing inode number
xfs_repair: dir2.c:2115: process_dir2: Assertion `(ino !=
mp->m_sb.sb_rootino && ino != *parent) || (ino == mp->m_sb.sb_rootino
&& (ino == *p
arent || need_root_dotdot == 1))' failed.
Aborted
Fri 15 May 00:04:30|root@cvv:xfs#

\\wbr Vitaly

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-15  8:35     ` Vitaly V. Ch
@ 2009-05-15 14:31       ` Eric Sandeen
  2009-05-16 18:17       ` Eric Sandeen
  1 sibling, 0 replies; 8+ messages in thread
From: Eric Sandeen @ 2009-05-15 14:31 UTC (permalink / raw)
  To: Vitaly V. Ch; +Cc: xfs

Vitaly V. Ch wrote:
> HI,
> 
> on my PC:
> 
> Fri 15 May 00:02:37|root@cvv:xfs# xfs_repair -V
> xfs_repair version 3.0.1
> Fri 15 May 00:03:26|root@cvv:xfs# xfs_mdrestore xfs.dump xfs.metaimg
> Fri 15 May 00:03:37|root@cvv:xfs# xfs_repair -v xfs.metaimg
> Phase 1 - find and verify superblock...
>         - block cache size set to 133976 entries
> Phase 2 - using internal log
>         - zero log...
> zero_log: head block 2 tail block 2
>         - scan filesystem freespace and inode maps...
>         - found root inode chunk
> Phase 3 - for each AG...
>         - scan and clear agi unlinked lists...
>         - process known inodes and perform inode discovery...
>         - agno = 0
> entry "" in shortform directory 128 references invalid inode 0
> zero length entry in shortform dir 128, junking 3 entries
> corrected entry count in directory 128, was 3, now 0
> corrected directory 128 size, was 69, now 6
> bogus .. inode number (0) in directory inode 128, clearing inode number
> xfs_repair: dir2.c:2115: process_dir2: Assertion `(ino !=
> mp->m_sb.sb_rootino && ino != *parent) || (ino == mp->m_sb.sb_rootino
> && (ino == *p
> arent || need_root_dotdot == 1))' failed.
> Aborted

odd, not sure offhand what to make of it since it works ok for me...
perhaps you can narrow down which of the asserts tripped, for starters?
 And then maybe I can try it on x86 to see if it might possibly matter
if the host checking it is 32 or 64 bits...

-Eric

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-15  8:35     ` Vitaly V. Ch
  2009-05-15 14:31       ` Eric Sandeen
@ 2009-05-16 18:17       ` Eric Sandeen
  2009-05-18 22:34         ` Eric Sandeen
  1 sibling, 1 reply; 8+ messages in thread
From: Eric Sandeen @ 2009-05-16 18:17 UTC (permalink / raw)
  To: Vitaly V. Ch; +Cc: xfs

Vitaly V. Ch wrote:
> HI,
> 
> on my PC:
> 
> Fri 15 May 00:02:37|root@cvv:xfs# xfs_repair -V
> xfs_repair version 3.0.1
> Fri 15 May 00:03:26|root@cvv:xfs# xfs_mdrestore xfs.dump xfs.metaimg
> Fri 15 May 00:03:37|root@cvv:xfs# xfs_repair -v xfs.metaimg
> Phase 1 - find and verify superblock...
>         - block cache size set to 133976 entries
> Phase 2 - using internal log
>         - zero log...
> zero_log: head block 2 tail block 2
>         - scan filesystem freespace and inode maps...
>         - found root inode chunk
> Phase 3 - for each AG...
>         - scan and clear agi unlinked lists...
>         - process known inodes and perform inode discovery...
>         - agno = 0
> entry "" in shortform directory 128 references invalid inode 0
> zero length entry in shortform dir 128, junking 3 entries
> corrected entry count in directory 128, was 3, now 0
> corrected directory 128 size, was 69, now 6
> bogus .. inode number (0) in directory inode 128, clearing inode number
> xfs_repair: dir2.c:2115: process_dir2: Assertion `(ino !=
> mp->m_sb.sb_rootino && ino != *parent) || (ino == mp->m_sb.sb_rootino
> && (ino == *p
> arent || need_root_dotdot == 1))' failed.
> Aborted

Is that the first repair of the image?  When I repair it on my box it
finds many more errors, and does not trip the assert.  I tested 3.0.1 in
fedora rawhide on x86 this time ...

-Eric

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-16 18:17       ` Eric Sandeen
@ 2009-05-18 22:34         ` Eric Sandeen
  2009-05-19  5:05           ` Vitaly V. Ch
  0 siblings, 1 reply; 8+ messages in thread
From: Eric Sandeen @ 2009-05-18 22:34 UTC (permalink / raw)
  To: Vitaly V. Ch; +Cc: xfs

Eric Sandeen wrote:

> Is that the first repair of the image?  When I repair it on my box it
> finds many more errors, and does not trip the assert.  I tested 3.0.1 in
> fedora rawhide on x86 this time ...
> 
> -Eric

Oh, well, I'm dumb; the asserts do nothing unless you build with DEBUG
on (as I guess you must have... they are off by default, as they are on
my build) - I'll try to find some time to look into it.

-Eric

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfs_repair after reboot refuse repair my filesystem
  2009-05-18 22:34         ` Eric Sandeen
@ 2009-05-19  5:05           ` Vitaly V. Ch
  0 siblings, 0 replies; 8+ messages in thread
From: Vitaly V. Ch @ 2009-05-19  5:05 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: xfs

HI

at now I get my data repaired. By default configure enable DEBUG mode.
I force NDEBUG mode and xfs_repair successfully repair my data.

\\wbr Vitaly Chernookiy

On Mon, May 18, 2009 at 10:34 PM, Eric Sandeen <sandeen@sandeen.net> wrote:
> Eric Sandeen wrote:
>
>> Is that the first repair of the image?  When I repair it on my box it
>> finds many more errors, and does not trip the assert.  I tested 3.0.1 in
>> fedora rawhide on x86 this time ...
>>
>> -Eric
>
> Oh, well, I'm dumb; the asserts do nothing unless you build with DEBUG
> on (as I guess you must have... they are off by default, as they are on
> my build) - I'll try to find some time to look into it.
>
> -Eric
>

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-05-19  5:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-13  7:10 xfs_repair after reboot refuse repair my filesystem Vitaly V. Ch
2009-05-13 17:59 ` Eric Sandeen
2009-05-14  8:50   ` Vitaly V. Ch
2009-05-15  8:35     ` Vitaly V. Ch
2009-05-15 14:31       ` Eric Sandeen
2009-05-16 18:17       ` Eric Sandeen
2009-05-18 22:34         ` Eric Sandeen
2009-05-19  5:05           ` Vitaly V. Ch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.