I have a 500 GByte disk with a single XFS file system on it (EDIT: the OS is on another disk). On this disk I have backup data in the form of multiple hard-linked copies of the original data. After each new backup I delete the directory containing the data of the oldest backup. The corresponding rm process sometimes does not terminate (and consumes a lot of CPU). Killing it (-9) does not help, only rebooting the system does.
I tried running xfs_repair on that volume. However, it seems I do not have enough RAM for that (the machine has 4 GByte RAM and only supports 32bit).
The location of the machine makes it very hard for me to physically touch the hard disk.
How can I repair my file system and/or make rm terminate?
EDIT: I ran xfs_repair -v -t 1 /dev/disk/xxx with xfs_repair version 3.1.7. EDIT: Output:
Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - agno = 0 failed to create prefetch thread: Resource temporarily unavailable - agno = 1 failed to create prefetch thread: Resource temporarily unavailable - agno = 2 failed to create prefetch thread: Resource temporarily unavailable - agno = 3 failed to create prefetch thread: Resource temporarily unavailable - agno = 4 failed to create prefetch thread: Resource temporarily unavailable - agno = 5 failed to create prefetch thread: Resource temporarily unavailable - agno = 6 failed to create prefetch thread: Resource temporarily unavailable - agno = 7 fatal error -- calloc failed in dir_hash_init
xfs_repair -v -t 1? have you read this FAQ? Is your OS on this same filesystem or is it isolated?xfs_check,xfs_repairandxfs_fsr.