All of lore.kernel.org
 help / color / mirror / Atom feed
From: Szakacsits Szabolcs <szaka@sienet.hu>
To: Oleg Drokin <green@namesys.com>
Cc: reiserfs-list@namesys.com
Subject: Re: Horrible ftruncate performance
Date: Thu, 10 Jul 2003 09:30:46 +0200 (MEST)	[thread overview]
Message-ID: <Pine.LNX.4.30.0307100851120.26018-100000@divine.city.tvnet.hu> (raw)
In-Reply-To: <20030710052931.GA17957@namesys.com>


On Thu, 10 Jul 2003, Oleg Drokin wrote:
> On Thu, Jul 10, 2003 at 05:23:39AM +0200, Szakacsits Szabolcs wrote:
>
> > I've noticed very long "hangs" using reiserfs and they were always at
> > ftruncate(2). I made a comparision between different filesystems. SuSE 8.2
>
> Yes, this is known "feature".

OK, I've searched all relevant archives, namesys web pages and found
nothing relevant.

> > (same bad performance on older SuSE versions as well), same partitition,
> > default mkfs.*. Let's create a 200GB sparse file:
> > 	dd if=/dev/zero of=sparse bs=1 seek=200G count=1
> > Results:
> > 	ext3	    0.00 sec
> > 	XFS         0.00 sec
> > 	JFS         0.00 sec
> > 	reiserfs  874.27 sec (all spent in the kernel)
>
> See the patch below.
> It is merged into 2.4.22-pre3

Excellent, I can see
http://www.kernel.org/pub/linux/kernel/v2.4/testing/patch-2.4.22.log
Oleg Drokin <green@angband.namesys.com>:
	reiserfs: speed up large file holes creation

> Speeds up large holes creation in ~ 1000 times

How long does it take for you the above dd command _and_ how fast is your
CPU?

> (on 4k blocksize)

AFAIK, reiserfs supports only 4 kB blocksizes. At least the
'man mkreiserfs' said always so.

> > Is there a faster way to create big sparse files on reiserfs?
>
> Use the patch. (should apply to 2.4.18,2.4.19,2.4.20,2.4.21)
> (I am unsure if you can apply it to the kernel from SuSE 8.2, though).

Thanks but it's only indirectly my problem (I use XFS, there are other
problems with reiserfs for my needs): before further work on ntfsresize,
NTFS I wrote a util, ntfsclone. It efficiently saves all data or only
metadata to a device, stdout or sparse file, so the clone is an exact copy
and always mountable. Good for backup, debug, development and the extremely
well compressable metadata-only clone can be transfered through the net
(e.g. a 200GB NTFS with only a few GB data ends up between a few hundred kB
or max a couple of MB).

The problem is when one uses it on reiserfs. For the users it "hangs". E.g.
in the above case creating a metadata only clone takes 2-3 sec for all the
other filesystems and 15 minutes for reiserfs.

So apparently my only chance is to document the issue and detect if the fs
is reiserfs and warn the user it will take a very long time (unless kernel
is at least 2.4.22 and your speed up works).

Thanks again,

	Szaka


  reply	other threads:[~2003-07-10  7:30 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-10  3:23 Horrible ftruncate performance Szakacsits Szabolcs
2003-07-10  5:29 ` Oleg Drokin
2003-07-10  7:30   ` Szakacsits Szabolcs [this message]
2003-07-10  9:21     ` Oleg Drokin
2003-07-10  8:17       ` Szakacsits Szabolcs
2003-07-10 10:01         ` Oleg Drokin
2003-07-10 14:01           ` Szakacsits Szabolcs
2003-07-10 15:44             ` Oleg Drokin
2003-07-11 14:35       ` Dieter Nützel
2003-07-11 14:49         ` Oleg Drokin
2003-07-11 15:16           ` Dieter Nützel
2003-07-11 15:24             ` Oleg Drokin
2003-07-11 15:27               ` Dieter Nützel
2003-07-11 15:32                 ` Oleg Drokin
2003-07-11 15:35                   ` Dieter Nützel
2003-07-11 15:32               ` Dieter Nützel
2003-07-11 15:36                 ` Marc-Christian Petersen
2003-07-11 15:36                   ` Dieter Nützel
2003-07-11 15:38                 ` Oleg Drokin
2003-07-11 15:34               ` Marc-Christian Petersen
2003-07-11 15:44                 ` Oleg Drokin
2003-07-11 17:09                   ` Chris Mason
2003-07-11 17:27                     ` Dieter Nützel
2003-07-11 18:32                       ` Chris Mason
2003-07-11 19:51                         ` Dieter Nützel
2003-07-12  1:37                           ` Szakacsits Szabolcs
2003-07-12  5:16                             ` Carl-Daniel Hailfinger
2003-07-12  3:49                               ` Szakacsits Szabolcs
2003-07-12 13:51                                 ` Dieter Nützel
2003-07-15 12:19                                   ` Szakacsits Szabolcs
2003-07-15 16:48                                     ` Dieter Nützel
2003-07-15 17:05                                       ` Oleg Drokin
2003-07-15 19:55                                         ` Dieter Nützel
2003-07-16 10:35                                           ` Oleg Drokin
2003-07-16 10:47                                             ` Dieter Nützel
2003-07-16 10:57                                               ` Oleg Drokin
2003-07-17 18:12                                                 ` Dieter Nützel
2003-07-22 16:43                                         ` Hans Reiser
2003-07-22 16:50                                           ` Chris Mason
2003-07-22 18:09                                             ` Hans Reiser
2003-07-22 18:24                                               ` Chris Mason
2003-07-23  0:16                                                 ` Oleg Drokin
2003-07-23  6:25                                                   ` Hans Reiser
2003-07-23  5:49                                                     ` Voicu Liviu
2003-07-23  7:32                                                       ` Hans Reiser
2003-07-23  7:19                                                         ` Voicu Liviu
2003-07-23  6:14                                                 ` Hans Reiser
2003-07-23 14:38                                                   ` Chris Mason
2003-07-23 14:55                                                     ` Hans Reiser
2003-07-23 16:20                                                       ` Chris Mason
2003-07-23 12:25                                               ` Dieter Nützel
2003-07-23 13:39                                                 ` Hans Reiser
2003-07-23 13:46                                                   ` Dieter Nützel
2003-07-23 13:52                                                     ` Hans Reiser
2003-07-23 14:24                                                       ` Dieter Nützel
2003-07-23 15:24                                                         ` Philippe Gramoullé
2003-07-12 14:05                             ` Dieter Nützel
2003-07-13 13:00                               ` Oleg Drokin
2003-07-13 12:58                             ` Oleg Drokin
2003-07-14  8:45                               ` Hans Reiser
2003-07-13 13:03                             ` Oleg Drokin
2003-07-15 11:51                               ` Szakacsits Szabolcs
2003-07-15 13:51                                 ` Hans Reiser
2003-07-11 19:23                       ` Philippe Gramoullé
2003-08-03 14:05                     ` Hans Reiser
2003-08-04 13:41                       ` Chris Mason
2003-07-11 14:27   ` Chris Mason
2003-07-11 14:32     ` Dieter Nützel

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=Pine.LNX.4.30.0307100851120.26018-100000@divine.city.tvnet.hu \
    --to=szaka@sienet.hu \
    --cc=green@namesys.com \
    --cc=reiserfs-list@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.