From: Bas van Schaik <bas@tuxes.nl>
To: "Vladimir V. Saveliev" <vs@namesys.com>
Cc: ReiserFS list <reiserfs-list@namesys.com>
Subject: Re: Problems with "--rebuild-tree" on network (ENBD) storage
Date: Fri, 06 Oct 2006 15:10:45 +0200 [thread overview]
Message-ID: <452655D5.7090009@tuxes.nl> (raw)
In-Reply-To: <200610061639.21377.vs@namesys.com>
Hi Vladimir,
>>> ok, may I ask you to run badblocks on that device? reiserfsck wants to be able to read and write filesystem device.
>>> badblocks will show us whether your device is in good shape.
>>>
>> Of course you may ask me this, but I really don't think it's relevant.
>> ReiserFS is on top of (in this specific order) CryptoLoop, LVM, RAID5
>> and ENBD. If there are bad blocks on one of the 12 (!) disks, then one
>> of my storage servers in the ENBD-cluster would report a bunch of I/O
>> errors, RAID5 would drop the device and ReiserFS won't even notice that
>> a hard drive failed.
>> Furthermore, every RAID5 device has had a resync since the filesystem
>> resize operation, which implies that every bit has been checked at least
>> once.
>>
>> I think the problem lies within the way reiserfsck reads and writes to
>> the underlying block device. Maybe reiserfsck isn't opening the device
>> in direct I/O (O_DIRECT) mode?
>>
> Yes, it does not. But why would it have to?
>
>
>> I think it should, because it's safer,
>> though slower. Maybe O_DIRECT can be set optionally on (or off) using a
>> commandline switch?
>>
>>
> Maybe O_DIRECT should be used, I do not argue. But there is nothing wrong in not using O_DIRECT.
> Why would user land application make a computer unusable?
> reiserfsck uses standard libc's low level i/o functions to read and write a device, it also analyses and modify read data before writing them back.
> The worst thing reiserfsck can do is 100% CPU consumption. But that also should not hurt a system.
>
> I hope you understand what I mean: if user land application makes a box unusable - something is wrong in kernel.
> I have never dealt with setup like yours. There are so many layers, why there can not be any errors?
>
That's true, of course. But there's (at least) one place in the kernel
where userland touches kernel space: buffering. In my case, I think
reiserfsck is causing starvation of my TCP buffers, because it doesn't
use direct I/O but buffered I/O. Of course, this is a normal (and maybe
wise) thing to do when the bottom layer is ATA or SATA (or something
like that), but in my case there's a network somewhere between
reiserfsck and ATA/SATA. So, I don't expect reiserfsck to use direct I/O
by default, but it would be a nice feature for me (and the few others
with the same problem?) if direct I/O can be enabled by a commandline
switch.
> Can you dd_rescue your filesystem to a spare device which has less underlaying layers (linear raid or oven plain hard disk)
> and try reiserfsck --rebuild-tree oin it?
I'm sorry, the system is built upon 12 harddrives, with a total of more
than 3TB of disk space. I don't have that amount of drives available for
creating a backup!
Thanks for you thoughts,
-- Bas
next prev parent reply other threads:[~2006-10-06 13:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-05 8:07 Problems with "--rebuild-tree" on network (ENBD) storage Bas van Schaik
2006-10-05 21:50 ` Vladimir V. Saveliev
2006-10-05 21:59 ` Bas van Schaik
2006-10-05 22:23 ` Vladimir V. Saveliev
2006-10-05 22:37 ` Bas van Schaik
[not found] ` <200610061639.21377.vs@namesys.com>
2006-10-06 13:10 ` Bas van Schaik [this message]
2006-10-09 14:53 ` Vladimir V. Saveliev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=452655D5.7090009@tuxes.nl \
--to=bas@tuxes.nl \
--cc=reiserfs-list@namesys.com \
--cc=vs@namesys.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.