From: Dave Chinner <david@fromorbit.com>
To: Bob Peterson <rpeterso@redhat.com>
Cc: Alexander Viro <aviro@redhat.com>, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH][resend] fs: Add hooks for get_hole_size to generic_block_fiemap
Date: Thu, 4 Sep 2014 06:26:35 +1000 [thread overview]
Message-ID: <20140903202634.GI20473@dastard> (raw)
In-Reply-To: <1185431955.16078328.1409759545699.JavaMail.zimbra@redhat.com>
On Wed, Sep 03, 2014 at 11:52:25AM -0400, Bob Peterson wrote:
> Hi,
>
> I sent this patch a few weeks back and it didn't receive any comments.
> So I assume it's okay to add upstream?
>
> The problem:
> If you do a fiemap operation on a very large sparse file, it can take
> an extremely long amount of time (we're talking days here) because
> function __generic_block_fiemap does a block-for-block search when it
> encounters a hole.
>
> The solution:
> Allow the underlying file system to return the hole size so that function
> __generic_block_fiemap can quickly skip the hole.
>
> Preamble:
> In cases where the fs-specific block_map() function finds a hole, it
> can return the hole size in b_size. This is efficient because the file
> system doesn't need to figure out block mapping a second time to
> determine the hole size. The patch repurposes the buffer_meta flag
> to tell when the fs-specific block_map() is passing back the hole_size:
> If the fs-specific block_map() doesn't set the buffer_meta bit,
Use of BH_Meta is a bit wierd. Mapping the data blocks of a file and
expecting the return to have the BH_Meta flag set seems, well,
A Little Bit Wrong. We're not short of buffer flags, perhaps adding
a purpose sepcific flag for this?
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2014-09-03 20:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1623792099.11913714.1409074745372.JavaMail.zimbra@redhat.com>
2014-09-03 15:52 ` [PATCH][resend] fs: Add hooks for get_hole_size to generic_block_fiemap Bob Peterson
2014-09-03 20:26 ` Dave Chinner [this message]
2014-09-05 0:04 ` [PATCH][try4] " Bob Peterson
2014-09-11 15:29 ` [PATCH][try5] fs: if block_map clears buffer_holesize bit skip hole size from b_size Bob Peterson
2014-09-16 12:59 ` Bob Peterson
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=20140903202634.GI20473@dastard \
--to=david@fromorbit.com \
--cc=aviro@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=rpeterso@redhat.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.