From: Theodore Tso <tytso@mit.edu>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: linux-ext4@vger.kernel.org, Jan Kara <jack@suse.cz>
Subject: Re: [PATCH 2/2] [PATCH] ext4: truncate the file properly if we fail to copy data from userspace.
Date: Sat, 4 Apr 2009 23:22:11 -0400 [thread overview]
Message-ID: <20090405032211.GH7553@mit.edu> (raw)
In-Reply-To: <1238491766-13182-2-git-send-email-aneesh.kumar@linux.vnet.ibm.com>
On Tue, Mar 31, 2009 at 02:59:26PM +0530, Aneesh Kumar K.V wrote:
> In generic_perform_write if we fail to copy the user data we don't
> update the inode->i_size. We should truncate the file in the above case
> so that we don't have blocks allocated outside inode->i_size. Add
> the inode to orphan list in the same transaction as block allocation
> This ensures that if we crash in between the recovery would do the truncate.
Same problem as my comment in for the last patch; it seems rather
dangerous to try to call ext4_orphan_add() outside of ext4_truncate().
Can we instead call vmtruncate() inside the same transaction handle?
i.e., figure out how many journal credits will be needed for the
potential truncate, and add it to number of credits to reserve for the
begin_write and/or write_end handle, and then call vmtruncate before
calling ext4_journal_stop(). Can anyone see a problem with this
approach?
- Ted
next prev parent reply other threads:[~2009-04-05 4:09 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-26 18:21 [PATCH] ext3: Avoid false EIO errors Jan Kara
2009-03-27 18:08 ` Aneesh Kumar K.V
2009-03-27 20:24 ` Jan Kara
2009-03-30 8:25 ` Aneesh Kumar K.V
2009-03-30 10:32 ` Jan Kara
2009-03-30 10:58 ` Aneesh Kumar K.V
2009-03-30 16:05 ` Jan Kara
2009-03-31 4:45 ` Aneesh Kumar K.V
2009-03-31 9:29 ` [PATCH 1/2] [PATCH] ext4: Add inode to the orphan list during block allocation failure Aneesh Kumar K.V
2009-03-31 9:29 ` [PATCH 2/2] [PATCH] ext4: truncate the file properly if we fail to copy data from userspace Aneesh Kumar K.V
2009-03-31 9:38 ` Jan Kara
2009-04-05 3:22 ` Theodore Tso [this message]
2009-04-06 10:07 ` Jan Kara
2009-03-31 9:34 ` [PATCH 1/2] [PATCH] ext4: Add inode to the orphan list during block allocation failure Jan Kara
2009-04-05 3:11 ` Theodore Tso
2009-04-06 10:05 ` Jan Kara
2009-06-05 4:31 ` Theodore Tso
2009-06-05 6:22 ` Theodore Tso
2009-06-05 7:24 ` Theodore Tso
2009-06-05 23:42 ` Jan Kara
2009-06-05 23:44 ` Jan Kara
2009-06-08 4:35 ` [PATCH -V2 1/2] " Aneesh Kumar K.V
2009-06-08 4:35 ` [PATCH -V2 2/2] ext4: truncate the file properly if we fail to copy data from userspace Aneesh Kumar K.V
2009-06-08 16:29 ` Theodore Tso
2009-06-08 16:43 ` Aneesh Kumar K.V
2009-06-08 19:14 ` Theodore Tso
2009-06-08 19:23 ` Jan Kara
2009-06-08 20:20 ` Aneesh Kumar K.V
2009-06-09 10:12 ` Jan Kara
2009-06-08 16:29 ` [PATCH -V2 1/2] ext4: Add inode to the orphan list during block allocation failure Theodore Tso
2009-03-31 9:46 ` [PATCH] ext3: Avoid false EIO errors (version 4) Jan Kara
2009-04-01 0:06 ` Andrew Morton
2009-04-01 9:49 ` Jan Kara
2009-03-30 13:53 ` [PATCH] ext3: Avoid false EIO errors Eric Sandeen
2009-03-30 14:45 ` Aneesh Kumar K.V
2009-03-30 15:12 ` Eric Sandeen
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=20090405032211.GH7553@mit.edu \
--to=tytso@mit.edu \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).