From: Ted Ts'o <tytso@mit.edu>
To: Lukas Czerner <lczerner@redhat.com>
Cc: Phillip Susi <psusi@ubuntu.com>, linux-ext4@vger.kernel.org
Subject: Re: [PATCH 1/2] e2image: truncate raw image file to correct size
Date: Fri, 17 Feb 2012 09:30:26 -0500 [thread overview]
Message-ID: <20120217143026.GA19606@thunk.org> (raw)
In-Reply-To: <alpine.LFD.2.00.1202171054320.6479@dhcp-27-109.brq.redhat.com>
On Fri, Feb 17, 2012 at 11:04:22AM +0100, Lukas Czerner wrote:
> > lseek(5, 1048576, SEEK_CUR) = 16105177088
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> So if blocks count ends right here^^, then the last write would not
> happen, because sparse == 0. The reason is that we will seek when the
> sparse >= 1024*1024 and then set sparse = 0
Yes, there are two cases when sparse can get set to zero. I was
thinking of the other one; thanks for pointing that out.
> We can easily fix that by doing this instead:
>
> if (sparse > 1024*1024) {
> write_block(fd, 0, 1024*1024, 0, 0);
> sparse -= 1024*1024;
> }
Yep, thanks for the suggestion; I like that. I'll chain to this
message the two patches that I've put together which I think should
address this issue. The first uses your suggestion so sparse never
gets set to zero when we are still extending the hole.
The second uses ftruncate64() if possible to set i_size (which saves
allocating a block, which is cool when it works).
What do folks think?
- Ted
next prev parent reply other threads:[~2012-02-17 14:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-16 21:35 [PATCH 1/2] e2image: truncate raw image file to correct size Phillip Susi
2012-02-16 21:35 ` [PATCH 2/2] e2image: add -a switch to include all data Phillip Susi
2012-02-16 23:17 ` Ted Ts'o
2012-02-17 0:17 ` Phillip Susi
2012-02-17 9:17 ` Lukas Czerner
2012-02-17 14:50 ` Ted Ts'o
2012-02-17 15:35 ` Lukas Czerner
2012-02-17 15:39 ` Lukas Czerner
2012-02-17 20:39 ` Ted Ts'o
2012-02-16 22:58 ` [PATCH 1/2] e2image: truncate raw image file to correct size Ted Ts'o
2012-02-16 23:10 ` Phillip Susi
2012-02-16 23:30 ` Ted Ts'o
2012-02-17 0:21 ` Phillip Susi
2012-02-17 10:04 ` Lukas Czerner
2012-02-17 14:30 ` Ted Ts'o [this message]
2012-02-17 14:32 ` [PATCH 1/2] e2image: fix logic bug which could cause a raw image not to be extended Theodore Ts'o
2012-02-17 14:32 ` [PATCH 2/2] e2image: attempt to use ftruncate64 to set i_size for raw images Theodore Ts'o
2012-02-17 14:35 ` [PATCH 2/2 -v2] " Theodore Ts'o
2012-02-17 20:19 ` Lukas Czerner
2012-02-17 20:18 ` [PATCH 1/2] e2image: fix logic bug which could cause a raw image not to be extended Lukas Czerner
2012-02-17 14:46 ` [PATCH 1/2] e2image: truncate raw image file to correct size Phillip Susi
2012-02-17 14:31 ` Phillip Susi
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=20120217143026.GA19606@thunk.org \
--to=tytso@mit.edu \
--cc=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=psusi@ubuntu.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 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).