From: Andreas Dilger <adilger@dilger.ca> To: Dave Chinner <david@fromorbit.com> Cc: Christoph Hellwig <hch@infradead.org>, 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, dchinner@redhat.com Subject: Re: [PATCH] xfstests 255: add a seek_data/seek_hole tester Date: Thu, 25 Aug 2011 00:51:56 -0600 [thread overview] Message-ID: <0A267E55-7772-438D-B6A7-89B73020F311@dilger.ca> (raw) In-Reply-To: <20110825064039.GO3162@dastard> On 2011-08-25, at 12:40 AM, Dave Chinner wrote: > On Thu, Aug 25, 2011 at 02:06:32AM -0400, Christoph Hellwig wrote: >> On Tue, Jun 28, 2011 at 11:33:19AM -0400, Josef Bacik wrote: >>> This is a test to make sure seek_data/seek_hole is acting like it does on >>> Solaris. It will check to see if the fs supports finding a hole or not and will adjust as necessary. >> >> Can you resend this with any updates that happened in the meantime? >> >> Dave also still had some comments about semantics, so it might be worth >> to incorporate that as well. > > The main questions I had when looking at this was how we should > handle unwritten extents - the only answer I got was along the lines > of "we'll deal with that once filesystems have implemented > something". That's a bit of a chicken-and-egg situation, and doesn't > help me decide what is the best thing to do. I don't want to have to > re-implement this code when it's decided i did the wrong thing > initially. Let's first clarify what you mean by an unwritten extent? Do you mean a preallocated extent that returns 0 when read, or do you mean a delayed allocation extent that was written by the application that is still in memory but not yet written to disk? Unfortunately, ZFS has no concept of preallocated extents, so we can't look to it for precedent, but it definitely has delayed allocation. Possibly if UFS on Solaris has SEEK_HOLE and also preallocated extents (I have no idea) it could be tested? > The most basic question I really want answered is this: > > - is preallocated space a HOLE, or is it DATA? > > Whatever the answer, I think it should be consistently > presented by all filesystems that support preallocation, and it > should be encoded into the generic SEEK_HOLE/SEEK_DATA tests.... My thought would be that a preallocated extent is still a HOLE, because it doesn't contain data that an application actually cares about. On the other hand, a delalloc extent is DATA because it has something that an application cares about. The original reason SEEK_HOLE/SEEK_DATA were brought up over FIEMAP was "cp" being able to consistently access delalloc data that was only in the page cache, so if we don't get that right it will have been a pointless exercise. > Answering that question then helps answer the more complex questions > I had, like: > > - what does SEEK_DATA return when you have a file layout > like "hole-prealloc-data"? I would think only the "data" part, since that is what the definition of "SEEK_DATA" is IMHO. > Answers to that sort of question need to be known so we can write > corner-case tests to correctly verify the filesystem implementation. > > I like to do better than present userspace with an interface that > behaves vastly different depending on the underlying filesystem, but > if the answer is "definition and implementation is entirely > filesystem specific" then I'll just go make something up.... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Cheers, Andreas
WARNING: multiple messages have this Message-ID (diff)
From: Andreas Dilger <adilger@dilger.ca> To: Dave Chinner <david@fromorbit.com> Cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com, Christoph Hellwig <hch@infradead.org>, Josef Bacik <josef@redhat.com>, dchinner@redhat.com, linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org, viro@ZenIV.linux.org.uk Subject: Re: [PATCH] xfstests 255: add a seek_data/seek_hole tester Date: Thu, 25 Aug 2011 00:51:56 -0600 [thread overview] Message-ID: <0A267E55-7772-438D-B6A7-89B73020F311@dilger.ca> (raw) In-Reply-To: <20110825064039.GO3162@dastard> On 2011-08-25, at 12:40 AM, Dave Chinner wrote: > On Thu, Aug 25, 2011 at 02:06:32AM -0400, Christoph Hellwig wrote: >> On Tue, Jun 28, 2011 at 11:33:19AM -0400, Josef Bacik wrote: >>> This is a test to make sure seek_data/seek_hole is acting like it does on >>> Solaris. It will check to see if the fs supports finding a hole or not and will adjust as necessary. >> >> Can you resend this with any updates that happened in the meantime? >> >> Dave also still had some comments about semantics, so it might be worth >> to incorporate that as well. > > The main questions I had when looking at this was how we should > handle unwritten extents - the only answer I got was along the lines > of "we'll deal with that once filesystems have implemented > something". That's a bit of a chicken-and-egg situation, and doesn't > help me decide what is the best thing to do. I don't want to have to > re-implement this code when it's decided i did the wrong thing > initially. Let's first clarify what you mean by an unwritten extent? Do you mean a preallocated extent that returns 0 when read, or do you mean a delayed allocation extent that was written by the application that is still in memory but not yet written to disk? Unfortunately, ZFS has no concept of preallocated extents, so we can't look to it for precedent, but it definitely has delayed allocation. Possibly if UFS on Solaris has SEEK_HOLE and also preallocated extents (I have no idea) it could be tested? > The most basic question I really want answered is this: > > - is preallocated space a HOLE, or is it DATA? > > Whatever the answer, I think it should be consistently > presented by all filesystems that support preallocation, and it > should be encoded into the generic SEEK_HOLE/SEEK_DATA tests.... My thought would be that a preallocated extent is still a HOLE, because it doesn't contain data that an application actually cares about. On the other hand, a delalloc extent is DATA because it has something that an application cares about. The original reason SEEK_HOLE/SEEK_DATA were brought up over FIEMAP was "cp" being able to consistently access delalloc data that was only in the page cache, so if we don't get that right it will have been a pointless exercise. > Answering that question then helps answer the more complex questions > I had, like: > > - what does SEEK_DATA return when you have a file layout > like "hole-prealloc-data"? I would think only the "data" part, since that is what the definition of "SEEK_DATA" is IMHO. > Answers to that sort of question need to be known so we can write > corner-case tests to correctly verify the filesystem implementation. > > I like to do better than present userspace with an interface that > behaves vastly different depending on the underlying filesystem, but > if the answer is "definition and implementation is entirely > filesystem specific" then I'll just go make something up.... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Cheers, Andreas _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2011-08-25 6:51 UTC|newest] Thread overview: 106+ 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 [this message] 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 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 18:02 ` [PATCH] xfstests 255: add a seek_data/seek_hole tester Josef Bacik 2011-06-27 18:32 ` Andreas Dilger 2011-06-27 18:47 ` 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=0A267E55-7772-438D-B6A7-89B73020F311@dilger.ca \ --to=adilger@dilger.ca \ --cc=david@fromorbit.com \ --cc=dchinner@redhat.com \ --cc=hch@infradead.org \ --cc=josef@redhat.com \ --cc=linux-btrfs@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --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: linkBe 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.