Re: Recursive chmod/chown OOM kills box with 32MB RAM

From: Bill Davidsen
Date: Thu Feb 02 2006 - 14:29:05 EST


Denis Vlasenko wrote:
On Monday 30 January 2006 15:22, Chris Mason wrote:

chown -Rc 0:<n> .

in a top directory of tree containing ~21938 files
on reiser3 partition:

/dev/sdc3 on /.3 type reiserfs (rw,noatime)

causes oom kill storm. "ls -lR", "find ." etc work fine.

In order for the journaled filesystems to make sure the FS is consistent after a crash, we need to keep some blocks in memory until other blocks have been written. These blocks are pinned, and can't be freed until a certain amount of io is done.

In the case of reiserfs, it might pin as much as the size of the journal at any time. The default journal is 32MB, which is much too large for a system with only 32MB of ram.

You can shrink the log of an existing filesystem. The minimum size is 513 blocks, you might try 1024 as a good starting poing.

reiserfstune -s 1024 /dev/xxxx


I had reiserfsprogs 3.6.11 and reiserfstune (above command) made my /dev/sdc3
unmountable without -t reiserfs. I upgraded reiserfsprogs to 3.6.19 and now
reiserfsck /dev/sdc3 reports no problems, but mount problem persists:

# mount -t reiserfs /dev/sdc3 /.3
# umount /.3
# mount /dev/sdc3 /.3
mount: you must specify the filesystem type
# dmesg | tail -3
br: port 1(ifi) entering forwarding state
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev sdc3.

"chown -Rc <n>:<m> ." now does not OOM kill the box, so this issue
is resolved, thanks!

Can I restore sdc3 somehow that I won't need -t reiserfs in mount command?
You can find result of

dd if=/dev/sdc3 of=1m bs=1M count=1

at http://195.66.192.167/linux/1m

At the risk of stating the obvious:
1 - is reaser a module, and is it loaded?
2 - did this ever work? I think you said you removed the entry from fstab, was the filetype there which made it work?

--
-bill davidsen (davidsen@xxxxxxx)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/