From: Sunil Mushran <sunil.mushran@oracle.com>
To: Marco Stornelli <marco.stornelli@gmail.com>
Cc: Josef Bacik <josef@redhat.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-btrfs@vger.kernel.org, xfs@oss.sgi.com,
viro@zeniv.linux.org.uk
Subject: Re: [PATCH 1/4] fs: add SEEK_HOLE and SEEK_DATA flags
Date: Mon, 22 Aug 2011 08:57:51 -0700 [thread overview]
Message-ID: <4E527C7F.9040807@oracle.com> (raw)
In-Reply-To: <CANGUGtCi85Sgrr5R0E8iuN75ubbMX9txZMwnsvp4Wv3Xh+938g@mail.gmail.com>
On 08/22/2011 03:56 AM, Marco Stornelli wrote:
> 2011/8/22 Sunil Mushran<sunil.mushran@oracle.com>:
>> On 08/20/2011 09:32 AM, Marco Stornelli wrote:
>>> Thank. Yes the word "next" is not very clear. I re-read the proposal for
>>> the standard, actually it's seems to me that if we are in the last hole we
>>> should return the file size, if we are not in the last hole than it's ok the
>>> same offset - "....except that
>>> if offset falls beyond the last byte not within a hole, then the file
>>> offset may be set to the file size instead".
>> Any proposal that differentiates between holes is wrong. It should not
>> matter where the hole is.
>>
>> Think of it from the usage-pov.
>>
>> doff = 0;
>> while ((doff = lseek(SEEK_DATA, doff)) != -ENXIO) {
>> hoff = lseek(SEEK_HOLE, doff);
>> read_offset = doff;
>> read_len = hoff -doff;
>> process();
>> doff = hoff;
>> }
>>
>> The goal is to make this as efficient as follows. Treating the last
>> hole differently adds more code for no benefit.
>>
> Mmmm.....It seems that Josef has to be clear in this point. However I
> looked for the seek hole test in xfs test suite, but I didn't find
> anything. Btrfs guys, how have you got tested the implementation? What
> do you think about this corner case? Al, what do you think about it?
The following test was used to test the early implementations.
http://oss.oracle.com/~smushran/seek_data/
WARNING: multiple messages have this Message-ID (diff)
From: Sunil Mushran <sunil.mushran@oracle.com>
To: Marco Stornelli <marco.stornelli@gmail.com>
Cc: linux-kernel@vger.kernel.org, Josef Bacik <josef@redhat.com>,
xfs@oss.sgi.com, viro@zeniv.linux.org.uk,
linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 1/4] fs: add SEEK_HOLE and SEEK_DATA flags
Date: Mon, 22 Aug 2011 08:57:51 -0700 [thread overview]
Message-ID: <4E527C7F.9040807@oracle.com> (raw)
In-Reply-To: <CANGUGtCi85Sgrr5R0E8iuN75ubbMX9txZMwnsvp4Wv3Xh+938g@mail.gmail.com>
On 08/22/2011 03:56 AM, Marco Stornelli wrote:
> 2011/8/22 Sunil Mushran<sunil.mushran@oracle.com>:
>> On 08/20/2011 09:32 AM, Marco Stornelli wrote:
>>> Thank. Yes the word "next" is not very clear. I re-read the proposal for
>>> the standard, actually it's seems to me that if we are in the last hole we
>>> should return the file size, if we are not in the last hole than it's ok the
>>> same offset - "....except that
>>> if offset falls beyond the last byte not within a hole, then the file
>>> offset may be set to the file size instead".
>> Any proposal that differentiates between holes is wrong. It should not
>> matter where the hole is.
>>
>> Think of it from the usage-pov.
>>
>> doff = 0;
>> while ((doff = lseek(SEEK_DATA, doff)) != -ENXIO) {
>> hoff = lseek(SEEK_HOLE, doff);
>> read_offset = doff;
>> read_len = hoff -doff;
>> process();
>> doff = hoff;
>> }
>>
>> The goal is to make this as efficient as follows. Treating the last
>> hole differently adds more code for no benefit.
>>
> Mmmm.....It seems that Josef has to be clear in this point. However I
> looked for the seek hole test in xfs test suite, but I didn't find
> anything. Btrfs guys, how have you got tested the implementation? What
> do you think about this corner case? Al, what do you think about it?
The following test was used to test the early implementations.
http://oss.oracle.com/~smushran/seek_data/
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2011-08-22 15:57 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-28 15:33 [PATCH 1/4] fs: add SEEK_HOLE and SEEK_DATA flags Josef Bacik
2011-06-28 15:33 ` Josef Bacik
2011-06-28 15:33 ` [PATCH 2/4] Btrfs: implement our own ->llseek Josef Bacik
2011-06-28 15:33 ` Josef Bacik
2011-06-28 15:33 ` [PATCH 3/4] Ext4: handle SEEK_HOLE/SEEK_DATA generically Josef Bacik
2011-06-28 15:33 ` Josef Bacik
2011-06-28 16:29 ` Andreas Dilger
2011-06-28 17:34 ` Josef Bacik
2011-06-28 15:33 ` [PATCH 4/4] fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own llseek Josef Bacik
2011-06-28 15:33 ` Josef Bacik
2011-06-28 15:33 ` [PATCH] xfstests 255: add a seek_data/seek_hole tester Josef Bacik
2011-06-28 15:33 ` Josef Bacik
2011-06-29 6:53 ` Dave Chinner
2011-06-29 6:53 ` Dave Chinner
2011-06-29 6:53 ` Dave Chinner
2011-06-29 6:53 ` Dave Chinner
2011-06-29 7:40 ` Christoph Hellwig
2011-06-29 7:40 ` Christoph Hellwig
2011-06-29 10:42 ` Pádraig Brady
2011-06-29 10:42 ` Pádraig Brady
2011-06-29 10:42 ` Pádraig Brady
2011-06-29 10:42 ` Pádraig Brady
2011-06-29 17:29 ` Sunil Mushran
2011-06-29 17:29 ` Sunil Mushran
2011-06-29 17:29 ` Sunil Mushran
2011-06-29 17:29 ` Sunil Mushran
2011-06-29 17:36 ` Christoph Hellwig
2011-06-29 17:36 ` Christoph Hellwig
2011-06-29 17:40 ` Sunil Mushran
2011-06-29 17:40 ` Sunil Mushran
2011-06-29 21:29 ` Pádraig Brady
2011-06-29 21:29 ` Pádraig Brady
2011-06-29 21:29 ` Pádraig Brady
2011-07-01 9:37 ` Christoph Hellwig
2011-07-01 9:37 ` Christoph Hellwig
2011-06-29 17:10 ` Sunil Mushran
2011-06-29 17:10 ` Sunil Mushran
2011-06-29 17:52 ` Josef Bacik
2011-06-29 17:52 ` Josef Bacik
2011-06-29 13:19 ` Josef Bacik
2011-06-29 13:19 ` Josef Bacik
2011-06-29 13:19 ` Josef Bacik
2011-08-25 6:06 ` Christoph Hellwig
2011-08-25 6:06 ` Christoph Hellwig
2011-08-25 6:40 ` Dave Chinner
2011-08-25 6:40 ` Dave Chinner
2011-08-25 6:51 ` Andreas Dilger
2011-08-25 6:51 ` Andreas Dilger
2011-08-26 1:35 ` Dave Chinner
2011-08-26 1:35 ` Dave Chinner
2011-08-26 6:24 ` Marco Stornelli
2011-08-26 6:24 ` Marco Stornelli
2011-08-26 6:24 ` Marco Stornelli
2011-08-26 14:41 ` Zach Brown
2011-08-26 14:41 ` Zach Brown
2011-08-26 14:41 ` Zach Brown
2011-08-26 14:41 ` Zach Brown
2011-08-27 8:30 ` Marco Stornelli
2011-08-27 8:30 ` Marco Stornelli
2011-08-28 10:17 ` Marco Stornelli
2011-08-28 10:17 ` Marco Stornelli
2011-08-30 17:42 ` Sunil Mushran
2011-08-30 17:42 ` Sunil Mushran
2011-08-31 1:17 ` Sunil Mushran
2011-08-31 1:17 ` Sunil Mushran
2011-08-31 3:29 ` Dave Chinner
2011-08-31 3:29 ` Dave Chinner
2011-08-31 3:53 ` david
2011-08-31 3:53 ` david
2011-08-31 4:43 ` Sunil Mushran
2011-08-31 4:43 ` Sunil Mushran
2011-08-31 9:05 ` Pádraig Brady
2011-08-31 9:05 ` Pádraig Brady
2011-08-31 9:05 ` Pádraig Brady
2011-08-31 4:48 ` Dan Merillat
2011-08-31 4:48 ` Dan Merillat
2011-07-29 9:58 ` [PATCH 1/4] fs: add SEEK_HOLE and SEEK_DATA flags Marco Stornelli
2011-07-29 9:58 ` Marco Stornelli
2011-08-20 9:41 ` Marco Stornelli
2011-08-20 9:41 ` Marco Stornelli
2011-08-20 10:03 ` Marco Stornelli
2011-08-20 10:03 ` Marco Stornelli
2011-08-20 15:36 ` Sunil Mushran
2011-08-20 15:36 ` Sunil Mushran
2011-08-20 16:32 ` Marco Stornelli
2011-08-20 16:32 ` Marco Stornelli
2011-08-22 6:08 ` Sunil Mushran
2011-08-22 6:08 ` Sunil Mushran
2011-08-22 10:56 ` Marco Stornelli
2011-08-22 10:56 ` Marco Stornelli
2011-08-22 10:56 ` Marco Stornelli
2011-08-22 10:56 ` Marco Stornelli
2011-08-22 15:57 ` Sunil Mushran [this message]
2011-08-22 15:57 ` Sunil Mushran
2011-08-22 17:56 ` Marco Stornelli
2011-08-22 17:56 ` Marco Stornelli
2011-08-22 21:22 ` Sunil Mushran
2011-08-22 21:22 ` Sunil Mushran
2011-08-23 17:44 ` Marco Stornelli
2011-08-23 17:44 ` Marco Stornelli
2011-08-31 0:35 ` Dave Chinner
2011-08-31 0:35 ` Dave Chinner
[not found] ` <CAGpXXZ+xjhadprkc_LiP3qUypLLkCxdeEmo8+K+6mOnBuNhmLg@mail.gmail.com>
2011-08-20 17:18 ` Greg Freemyer
-- strict thread matches above, loose matches on Subject: below --
2011-06-27 18:02 Josef Bacik
2011-06-27 21:04 ` Josef Bacik
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=4E527C7F.9040807@oracle.com \
--to=sunil.mushran@oracle.com \
--cc=josef@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marco.stornelli@gmail.com \
--cc=viro@zeniv.linux.org.uk \
--cc=xfs@oss.sgi.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.