From: Rogier Wolff <R.E.Wolff@harddisk-recovery.nl>
To: Vitaly Fertman <vitaly@namesys.com>
Cc: Oleg Drokin <green@namesys.com>,
reiserfs-list@namesys.com, copy@harddisk-recovery.nl
Subject: Re: ReiserFS problems
Date: Wed, 6 Aug 2003 20:14:05 +0200 [thread overview]
Message-ID: <20030806201405.A1357@bitwizard.nl> (raw)
In-Reply-To: <200308062201.15385.vitaly@namesys.com>
On Wed, Aug 06, 2003 at 10:01:15PM +0400, Vitaly Fertman wrote:
> Hi Rogier,
>
> > Well, I forgot to say this in my last Email: but it's a big mistake
> > for "--rebuild-tree" to START by writing to the filesystem. As for a
> > large (and full) filesystem it is going to take HOURS to read the
> > whole thing, the first write to the filesystem should happen AFTER
> > reading all the datablocks.
>
> Pass0 does not just read blocks and gather information, it fixes leaves
> of the internal reiserfs tree (storage tree), although it does not change
> the internal tree itself and upper nodes. As it is run after --check which
> has reported that there are fatal corruptions on the fs and rebuild-tree
> is needed, it is supposed that mounting of that fs may lead to other
> corruptions. So fs becomes notmountable and rebuild-tree must run
> to complition.
You can verify on
http://www.bitwizard.nl/io_throughput.gif
that (almost) no data was written throughout the first pass.
You can do something like:
#define write my_write
#define llseek my_llseek
before the pass0 code, and do:
static long long cur_pos;
static write_chain_s *write_chain;
my_llseek (...)
{
cur_pos = ... ;
}
my_write (fd, buf, size)
{
struct write_chain_s *t;
t = malloc (sizeof (write_chain_s));
t->data= malloc (size);
memcpy (t->data, buf, size)
t->pos = cur_pos;
cur_pos += size;
t->next = write_chain;
write_chain = t;
}
Add a flush_postponed_writes to the end of pass0.
Add some checks that you don't do this using up too much
memory. etc. etc.
Roger.
--
+-- Rogier Wolff -- www.harddisk-recovery.nl -- 0800 220 20 20 --
| Files foetsie, bestanden kwijt, alle data weg?!
| Blijf kalm en neem contact op met Harddisk-recovery.nl!
next prev parent reply other threads:[~2003-08-06 18:14 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-06 16:20 ReiserFS problems Rogier Wolff
2003-08-06 16:43 ` Hans Reiser
2003-08-06 18:41 ` Jeff Mahoney
2003-08-06 19:21 ` Rogier Wolff
2003-08-06 19:36 ` Rogier Wolff
2003-08-06 22:08 ` Mike Fedyk
2003-08-07 4:40 ` Rogier Wolff
2003-08-06 19:40 ` Vitaly Fertman
2003-08-07 15:05 ` Hans Reiser
2003-08-07 15:53 ` Jeff Mahoney
2003-08-08 13:07 ` Hans Reiser
2003-08-06 20:48 ` Bernd Schubert
2003-08-06 16:48 ` Oleg Drokin
2003-08-06 17:18 ` Rogier Wolff
2003-08-06 17:28 ` Oleg Drokin
2003-08-06 17:49 ` Rogier Wolff
2003-08-06 18:10 ` Vitaly Fertman
2003-08-07 13:22 ` Hans Reiser
2003-08-07 18:12 ` Mike Fedyk
2003-08-08 0:18 ` Russell Coker
2003-08-08 11:29 ` [OT] " Christian Kujau
2003-08-08 12:40 ` Nikita Danilov
2003-08-08 13:06 ` Carl-Daniel Hailfinger
2003-08-08 12:59 ` Russell Coker
2003-08-08 15:39 ` Christian Kujau
2003-08-09 0:45 ` The Amazing Dragon
2003-08-08 9:56 ` Oleg Drokin
2003-08-06 17:43 ` Andreas Dilger
2003-08-06 17:52 ` Rogier Wolff
2003-08-07 13:27 ` Hans Reiser
2003-08-07 13:03 ` Hans Reiser
2003-08-07 13:41 ` Rogier Wolff
2003-08-07 18:44 ` Mike Fedyk
2003-08-06 17:22 ` Rogier Wolff
2003-08-06 18:01 ` Vitaly Fertman
2003-08-06 18:14 ` Rogier Wolff [this message]
2003-08-06 18:22 ` Rogier Wolff
2003-08-06 19:03 ` Oleg Drokin
2003-08-06 19:04 ` Vitaly Fertman
2003-08-07 13:35 ` Hans Reiser
2003-08-07 13:46 ` Rogier Wolff
2003-08-07 14:11 ` Vitaly Fertman
2003-08-06 18:52 ` Vitaly Fertman
2003-08-07 12:58 ` Hans Reiser
2003-08-07 13:24 ` Russell Coker
2003-08-07 14:41 ` Hans Reiser
2003-08-06 16:52 ` Andreas Dilger
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=20030806201405.A1357@bitwizard.nl \
--to=r.e.wolff@harddisk-recovery.nl \
--cc=copy@harddisk-recovery.nl \
--cc=green@namesys.com \
--cc=reiserfs-list@namesys.com \
--cc=vitaly@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.