[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-xfs
Subject: xfs_repair sometimes hangs during repair
From: Rainer Krienke <krienke () uni-koblenz ! de>
Date: 2008-03-20 8:51:03
Message-ID: 200803200951.07238.krienke () uni-koblenz ! de
[Download message RAW]
Hello,
lately I had a problem with a xfs filesystem on a Novell SLES10 SP1 system. I
tried to repair the fs using xfs_repair (V2.9.7) but this did not work.
xfs_repair failes with an out of memory error. The machine has 6GB of RAM but
is a 32 bit machine and I guess it limits one process to 3GB memory. At least
xfs_repair died when its virtual size was about 3GB. The filesystem is 360GB
in size and had 6.9 million inodes on it.
This problem is well documented and I got an advice to set the -o
bhash=<value> in the xfs_repair call. This basically worked however it
rquired a lot of trial an error which is not what you want if you need to get
your filesystem back online as soon as possible.
In betwenn I created a test filesystem 360GB with 120million inodes on it.
xfs_repair without options is unable to complete. If I run xfs_repair -o
bhash=8192 the repair process terminates normally (the filesystem is actually
ok).
The problem is that if I specify smaller values for bhash, xfs_repair will not
issue any error or warning or out of memory message but it won't terminate
either. At some point sometimes in Phase3 sometimes in Phase6 it simply
hangs. In this state xfs_repair uses 100% CPU and does no longer access the
disk with the filesystem to be raired as reported by iostat -d.
This is not really good, because each try to run xfs_repair takes about 90
minutes until you finally find out, that it does not work (xfs_repair is
hanging) and you have to restart xfs_repair using a larger bhash value.
Actually I would expect xfs_repair to issue an error or perhaps there should
at least be some guidlines on how to set bhash depending on the size of the
filesystem.
Are there any hints on how to set a minimal bhash value for a given filesystem
or is there another way to get a larger fs checked on a 32 bit machine?
Thanks in advance
Rainer
--
Rainer Krienke, Uni Koblenz, Rechenzentrum, A22, Universitaetsstrasse 1
56070 Koblenz, http://www.uni-koblenz.de/~krienke, Tel: +49261287 1312
PGP: http://www.uni-koblenz.de/~krienke/mypgp.html,Fax: +49261287 1001312
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic