Re: xfs_ncheck (actually xfs_db) eats a lot of memory and is killed

Marcin Zajączkowski
2006-12-19T07:39:19Z

Marcin Zajączkowski wrote:
> Barry Naujok wrote:
>>> Subject: xfs_ncheck (actually xfs_db) eats a lot of memory and is killed
> (...)
>>> Recently I've got rescue CD with xfs_progs in version 2.8.11 and
>>> tried to repair it. xfs_repair gave me about 150 files with names
>>> like inode numbers in /lost+found and 1500 "normal" named files in
>>> its subdirectory.
>>> I've tried to use "xfs_ncheck -i inode /dev/hdX" to got names
>>> corresponding with specified inode(s), but program had been runing
>>> several minutes, xfs_db had eaten all available memory (768MB) and
>>> was killed by system (whole system hung too). The second time I
>>> killed it (kill -15) when it ate whole available memory.
>>> My file system has about 6GB and is filled with 95%.
>>
>> This is the second report of a smallish filesystem using all of the
>> system's memory (the other being xfs_repair). Hopefully when I diagnose
>> the problem with the previous report, I can fix the same issue with
>> xfs_db and your filesystem.
>>
>> If it at all possible, can you xfs_copy the offending filesystem to a
>> file and compress it and make it available to me to find/fix the
>> problem.
>
> Hmm, it won't be so easy. Compressed dump of a fielsystem before repair
> (I had to use dd, because xfsdump refused to cooperate) has 2,5GB.
> Damaged files were (probably) only in one directory /usr/bin. Maybe I
> could reduce size of the image excluding few other directories (in
> xfsdump)?
> Do you think that error would still occur?

What do you think about that?

Btw, is it possible to mount XFS filesystem from the file created by
xfs_copy?
If not, is it possible to restore file system "backuped" to file (by
xfs_copy)? I read in the manual that the first parameter xfs_copy has to
be device (not file). xfs_restore will work with that "dump"?

>>> Am I doing something wrong with xfs_db?
>>> Is there any easier way to restore my files?
>>
>> Your files have been restored as much as possible. You'll have to work
>> out what is in lost+found and move them back to their appropriate
>> locations.
>
> With files with "normal" names there is no problem. There are all from
> one directory (/usr/bin), but I'm unable (without xfs_ncheck) to map
> files with inode-like names with their normal names (150+ files). I
> tried with xfs_db and the way described in your FAQ, but I had some
> problems too.

Currently I have to use LiveCD (/usr/bin is a quite important directory
;) ). Do you suggest to try to repair it manually (copy files with
names, try to boot and try to use RPM to repair broken packages
(restore missing files) or there could be an easiest way (at the xfs
layer to match numbers with proper names)?

Regards
Marcin