From: Eric Sandeen <sandeen@redhat.com>
To: Josef Bacik <jbacik@redhat.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [RFC] FIEMAP on ext3
Date: Wed, 16 Apr 2008 14:29:21 -0500 [thread overview]
Message-ID: <48065391.10603@redhat.com> (raw)
In-Reply-To: <20080416191030.GE15668@unused.rdu.redhat.com>
Josef Bacik wrote:
> Hello,
>
> Obviously ext3 doesn't have extents, however it would still be usefull to use it
> on sparse files in order to find data/holes within a file. What I'm thinking is
> treat contigous allocated blocks as an extent, and contiguous non-allocated
> blocks as extents. So for example, with Eric's fiemap test program, on a normal
> non-sparse file you would only see one large extent for the entire file. In the
> case of a file that has data, hole and then data you would see 3 extents, two
> for the two spans of data and one for the span of holes.
> FIEMAP_FLAG_NUM_EXTENTS would in that case return 3. Does this sound like an
> acceptable thing to do? If not, are there any other suggestions on how to do
> fiemap in ext3? Thanks much,
Yes, regardless of whether the fs itself manages blocks as "extents" you
would just return contiguous ranges of blocks, allocated or unallocated,
in the structures...
FWIW I think currently the definition says FLAG_NUM_EXTENTS only returns
data extents not holes, so in your case above it'd be "2" (this bugs me
a little) :)
The current FIEMAP definition has enough other bells and whistles
(flags), ext3 won't support most of them but that's ok; you won't have
to mark blocks delalloc or unwritten or offline or ....
I was playing with using getblock to do this a bit more efficiently; I
owe Josef my hacky patch for that, which I was playing with on ext4... I
did run into the situation where at least today, getblock will return
you a nice length of blocks for contiguous data, but for holes IIRC I
had to go one block at a time (basically falling back to FIBMAP-like
operation)
-Eric
next prev parent reply other threads:[~2008-04-16 19:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-16 19:10 [RFC] FIEMAP on ext3 Josef Bacik
2008-04-16 19:29 ` Eric Sandeen [this message]
2008-04-17 3:40 ` 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=48065391.10603@redhat.com \
--to=sandeen@redhat.com \
--cc=jbacik@redhat.com \
--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