[Top] [All Lists]

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

To: Zach Brown <zab@xxxxxxxxx>
Subject: Re: [PATCH] xfstests 255: add a seek_data/seek_hole tester
From: Marco Stornelli <marco.stornelli@xxxxxxxxx>
Date: Sun, 28 Aug 2011 12:17:36 +0200
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, 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=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=7QEpHo2CZBxhNCaYUXXQMGEZ5acbI6+lmGNXb9St5Q4=; b=NNCXXhQpkWFfUp2O2/8k+WJiWgM0auCJtB2APjk2+Tc6eW9WPITZM9DpiIGILo3+hv WnLVBqjcoXo/DGyTj3vr+BaCVg3/HuBwY4RjeyXRhvKVk9I1mjqvVIWWvNMlFfFMU72F irc7H63jbPe+D6vW14vTaLbuONITM2wZmyJRE=
In-reply-to: <4E58AB28.1080009@xxxxxxxxx>
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> <CANGUGtC1qk2Tkv42fvibUKiEJz_MnNiV-nQ7T-_woppVhjQK-Q@xxxxxxxxxxxxxx> <20110826144124.GA17519@xxxxxxxxxxxxxx> <4E58AB28.1080009@xxxxxxxxx>
User-agent: Mozilla/5.0 (X11; U; Linux i686; it; rv: Gecko/20110616 SUSE/3.1.11 Thunderbird/3.1.11
Il 27/08/2011 10:30, Marco Stornelli ha scritto:
Il 26/08/2011 16:41, Zach Brown ha scritto:
Hole: a range of the file that contains no data or is made up
entirely of NULL (zero) data. Holes include preallocated ranges of
files that have not had actual data written to them.

No for me. A hole is made up of zero data? It's a strange definition
for me.

It's a very natural definition for me. It mirrors the behaviour of
read() of sparse data inside i_size that file system authors already
have to consider.

It's also a reminder for people that this interface is about avoiding
reading zeros. Systems that track contents can do this for files that
had tons of zeros written. The data is there but the app is
specifically asking us to skip it by using SEEK_DATA.

- z

I think we need to consider a hole and "data not present/not written
yet" as two different cases even they are related. For example, if I do
an fallocate without keep size option, then I do a read, I have the same
behavior of sparse data inside i_size, but the blocks are allocated so
no sparse data in this case. Simply there are no difference from app
point of view.


Please don't care about the last part, when reading in this case the app will have a return value different from zero obviously, I was under the effect of a beer :) However I'd add to the definition, that we consider holes only inside i_size, as Zack said. In this way, we haven't got any ambiguity for preallocated space beyond eof.


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