mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@turbolinux.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Alexander Viro <viro@math.psu.edu>,
	Daniel Phillips <phillips@innominate.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC] Generic deferred file writing
Date: Sat, 30 Dec 2000 14:10:41 -0700 (MST)	[thread overview]
Message-ID: <200012302110.eBULAgt04974@webber.adilger.net> (raw)
In-Reply-To: <Pine.LNX.4.10.10012301214210.1017-100000@penguin.transmeta.com> "from Linus Torvalds at Dec 30, 2000 12:21:50 pm"

Linus writes:
> In short, I don't see _those_ kinds of issues. I do see error reporting as
> a major issue, though. If we need to do proper low-level block allocation
> in order to get correct ENOSPC handling, then the win from doing deferred
> writes is not very big.

It should be relatively light-weight to call into the filesystem simply
to allocate a "count" of blocks needed for the current file.  It may
even be possible to do delayed inode allocation.  This would defer
the inode/block bitmap searching/allocation on ext2 until the file
was actually written - only the free_blocks/free_inodes count in the
superblock would be decremented, and we would get ENOSPC immediately
if we don't have enough space for the file.  On fsck, these values are
recalculated from the group descriptors on ext2, so it wouldn't be a
problem if the system crashed with pre-allocated blocks.

It would definitely be a win on ext2 and XFS, and if it isn't possible
on other filesystems, it should at least not be a loss.

We would need to ensure we also keep enough space for indirect blocks
and such, so we need to pass more information than just the number of
blocks added (i.e. how big the file already is).

Cheers, Andreas
-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2000-12-30 21:41 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-30  0:25 test13-pre6 Linus Torvalds
2000-12-30  0:49 ` test13-pre6 Alexander Viro
2000-12-30  1:03   ` test13-pre6 Linus Torvalds
2000-12-30 18:09     ` test13-pre6 Alexander Viro
2000-12-30  2:25 ` test13-pre6 Daniel Phillips
2000-12-30  3:16   ` test13-pre6 Linus Torvalds
2000-12-30 18:58     ` [RFC] Generic deferred file writing Daniel Phillips
2000-12-30 20:05       ` Linus Torvalds
2000-12-30 20:06       ` Alexander Viro
2000-12-30 20:21         ` Linus Torvalds
2000-12-30 21:10           ` Andreas Dilger [this message]
2000-12-30 21:46           ` Alexander Viro
2000-12-30 23:12             ` Daniel Phillips
2000-12-30 22:00           ` Eric W. Biederman
2000-12-30 22:44             ` Linus Torvalds
2000-12-31  0:26               ` Eric W. Biederman
2000-12-31  1:02             ` Andrea Arcangeli
2000-12-31  1:13               ` Chris Wedgwood
2000-12-31  1:50               ` Alexander Viro
2000-12-31  2:34                 ` Andrea Arcangeli
2000-12-31  2:09               ` Roman Zippel
2000-12-31  2:28                 ` Linus Torvalds
2000-12-31 12:58                   ` Roman Zippel
2001-04-21 20:06                     ` Races in affs_unlink(), affs_rmdir() and affs_rename() Alexander Viro
2001-04-21 22:16                       ` Roman Zippel
2001-04-22  5:53                         ` Alexander Viro
2001-04-22 12:57                           ` Roman Zippel
2001-04-22 13:15                             ` Alexander Viro
2000-12-31 14:38                   ` [RFC] Generic deferred file writing Andrea Arcangeli
2000-12-31 16:33                     ` Linus Torvalds
2000-12-31 16:50                       ` Andrea Arcangeli
2000-12-31 16:51                       ` Alexander Viro
2000-12-31 17:12                         ` Linus Torvalds
2000-12-31 18:30                   ` Daniel Phillips
2000-12-31 18:44                     ` Linus Torvalds
2000-12-31 19:10                       ` Daniel Phillips
2000-12-31 19:31                         ` Linus Torvalds
2000-12-31 21:03                       ` Roman Zippel
2000-12-31 21:32                         ` Linus Torvalds
2001-01-02 18:27                   ` Chris Mason
2000-12-30  3:08 ` test13-pre6 (Fork Bug with Athlons? Temporary Fix) Byron Stanoszek
2000-12-30  3:36   ` Linus Torvalds
2000-12-30  5:55     ` Andi Kleen
2000-12-30  5:13   ` Linus Torvalds
2000-12-30  8:13   ` Graham Murray
2000-12-30  4:21 ` test13-pre6 Dan Aloni
2001-01-04 20:23 ` test13-pre6 Stephen C. Tweedie
2001-01-04 22:15   ` test13-pre6 stewart
     [not found] <Pine.LNX.4.10.10012311726230.1671-100000@penguin.transmeta.com>
2001-01-01  2:50 ` [RFC] Generic deferred file writing Roman Zippel
2001-01-01  3:47   ` Alexander Viro
2001-01-01 12:44     ` Roman Zippel
2001-01-01 15:16       ` Alexander Viro
2001-01-02  3:00         ` Roman Zippel
2001-01-02  5:00           ` Alexander Viro
2001-01-02 16:53             ` Roman Zippel
2001-01-01 20:00     ` Daniel Phillips

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=200012302110.eBULAgt04974@webber.adilger.net \
    --to=adilger@turbolinux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillips@innominate.de \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®