[Top] [All Lists]

Re: [PATCH] xfstests 255: add a seek_data/seek_hole tester

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] xfstests 255: add a seek_data/seek_hole tester
From: Dan Merillat <dan.merillat@xxxxxxxxx>
Date: Wed, 31 Aug 2011 00:48:15 -0400
Cc: Sunil Mushran <sunil.mushran@xxxxxxxxxx>, Andreas Dilger <adilger@xxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Josef Bacik <josef@xxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, viro@xxxxxxxxxxxxxxxxxx, dchinner@xxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=sJpBGZ4llOZ6VibEzy42SOHY45XsMrNb1PnhuI/4wvo=; b=kVbZgQR/XRoz8W7IRnHAJWei2aMBD+XCK3VQoFm3gT816cqQP2g7zIYEal7KCfZGeK OE5DDhvB20HF5FyxTmX5aqawOfG7PSWRqKpDg4LhqDn2hjcOx4ywp+Ms8C+07DdFg2dX 4LVC0+x+GEyIIOOmbcAWh8N2nkXL2vGRKFI64=
In-reply-to: <20110831032932.GI32358@dastard>
References: <1309275199-10801-1-git-send-email-josef@xxxxxxxxxx> <1309275199-10801-5-git-send-email-josef@xxxxxxxxxx> <20110825060632.GA9933@xxxxxxxxxxxxx> <20110825064039.GO3162@dastard> <0A267E55-7772-438D-B6A7-89B73020F311@xxxxxxxxx> <20110826013528.GW3162@dastard> <4E5D8B8E.8030401@xxxxxxxxxx> <20110831032932.GI32358@dastard>
On Tue, Aug 30, 2011 at 11:29 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
> On Tue, Aug 30, 2011 at 06:17:02PM -0700, Sunil Mushran wrote:
>> Instead
>> we should let the fs weigh the cost of providing accurate information
>> with the possible gain in performance.
>> Data:
>> A range in a file that could contain something other than nulls.
>> If in doubt, it is data.
>> Hole:
>> A range in a file that only contains nulls.
> And that's -exactly- the ambiguous, vague definition that has raised
> all these questions in the first place. I was in doubt about whether
> unwritten extents can be considered a hole, and by your definition
> that means it should be data. But Andreas seems to be in no doubt it
> should be considered a hole.

That's fine, though.   Different filesystems have different abilities
to recognize a data hole - FAT can't do it at all.   Perhaps the
requirements would be better stated in reverse:  If the filesystem
knows that a read() will return nulls (for whatever reason based on
it's internal knowledge), it can report a hole.  If it can't guarantee
that, it's data.   It's an absolute requirement that SEEK_DATA never
miss data.  SEEK_HOLE working is a nicety that userspace would
appreciate - remember that the consumer here is cp(1), using it to
skip empty portions of files and create sparse destination files.

<Prev in Thread] Current Thread [Next in Thread>