All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@sun.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: Mark Fasheh <mfasheh@suse.com>,
	linux-fsdevel@vger.kernel.org, Andreas Dilger <adilger@shaw.ca>,
	Kalpak Shah <Kalpak.Shah@sun.com>,
	Eric Sandeen <sandeen@redhat.com>,
	Josef Bacik <jbacik@redhat.com>
Subject: Re: [PATCH 0/4] Fiemap, an extent mapping ioctl - round 2
Date: Thu, 26 Jun 2008 04:24:03 -0600	[thread overview]
Message-ID: <20080626102403.GN6239@webber.adilger.int> (raw)
In-Reply-To: <20080626093634.GA30025@shareable.org>

On Jun 26, 2008  10:36 +0100, Jamie Lokier wrote:
> Mark Fasheh wrote:
> > * FIEMAP_FLAG_SYNC
> > If this flag is set, the kernel will sync the file before mapping extents.
> 
> Is there a reason why fsync() before calling FIEMAP is unsuitable?

This was added because the xfsbmap operation always did an fsync before
returning the extents.  I don't think it is strictly required, but it
isn't harmful either.

> > * FIEMAP_FLAG_XATTR
> > If this flag is set, the extents returned will describe the inodes
> > extended attribute lookup tree, instead of it's data tree.
> 
> What is this for?  The meaning of the xattr tree sounds rather
> filesystem specific to me.

This is to return the location of the xattr blocks for the inode.

> > * FIEMAP_EXTENT_NO_DIRECT
> > Direct access to the data in this extent is illegal or will have
> > undefined results.
> ...
> > * FIEMAP_EXTENT_NET
> >   - This will also set FIEMAP_EXTENT_NO_DIRECT
> > The data for this extent is not stored in a locally-accessible device.
> 
> Does this _always_ set FIEMAP_EXTENT_NO_DIRECT?  Some network
> filesystems do support O_DIRECT access - NFS comes to mind.
> 
> (I'm assuming 'direct access' means O_DIRECT).

"NO_DIRECT" has nothing to do with "O_DIRECT".  It just means that,
per the description a few lines earlier, direct access to the file
data is impossible (i.e. for lilo or other tool which thinks it can
open "dev" and seek to "fe_physical" to read the data), or at best
will have undefined results (e.g. you may get encrypted or compressed
data back, or it is on the far side of a network interface).

> > * FIEMAP_EXTENT_DATA_ENCRYPTED
> >   - This will also set FIEMAP_EXTENT_NO_DIRECT
> > The data in this extent has been encrypted by the file system.
> 
> I don't think encryption necessarily rules out O_DIRECT.  It'll depend
> how I/O is implemented by that filesystem.
> 
> > * FIEMAP_EXTENT_DATA_INLINE
> >   This will also set FIEMAP_EXTENT_NOT_ALIGNED
> > Data is located within a meta data block.
> 
> This seems like it would always set FIEMAP_EXTENT_NO_DIRECT :-)
> 
> (Generally, won't FIEMAP_EXTENT_NOT_ALIGNED always set
> FIEMAP_EXTENT_NO_DIRECT?)
> 
> > * FIEMAP_EXTENT_DATA_TAIL
> >   This will also set FIEMAP_EXTENT_NOT_ALIGNED
> > Data is packed into a block with data from other files.
> 
> Maybe this too.

The rest of these comments seem based on the previous misunderstanding.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.


  reply	other threads:[~2008-06-26 10:24 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-25 22:18 [PATCH 0/4] Fiemap, an extent mapping ioctl - round 2 Mark Fasheh
2008-06-26  3:03 ` Andreas Dilger
2008-06-26  9:36 ` Jamie Lokier
2008-06-26 10:24   ` Andreas Dilger [this message]
2008-06-26 11:37     ` Anton Altaparmakov
2008-06-26 12:19     ` Jamie Lokier
2008-06-26 13:16       ` Dave Chinner
2008-06-26 13:27         ` Jamie Lokier
2008-06-26 13:48         ` Eric Sandeen
2008-06-26 14:16           ` Jamie Lokier
2008-06-26 16:56             ` Andreas Dilger
2008-06-29 19:12               ` Anton Altaparmakov
2008-06-29 21:45                 ` Dave Chinner
2008-06-30 22:57                   ` Jamie Lokier
2008-06-30 23:07                     ` Mark Fasheh
2008-07-01  2:01                       ` Brad Boyer
2008-07-02  6:38                         ` Andreas Dilger
2008-07-02  6:33                 ` Andreas Dilger
2008-07-02 14:26                   ` Jamie Lokier
2008-06-26 17:17       ` Andreas Dilger
2008-06-26 14:03 ` Eric Sandeen
2008-06-27  1:41   ` Dave Chinner
2008-06-27  9:41     ` Jamie Lokier
2008-06-27 10:01       ` Dave Chinner
2008-06-27 10:32         ` Jamie Lokier
2008-06-27 22:48       ` Andreas Dilger
2008-06-28  4:21         ` Eric Sandeen
2008-07-02  6:26           ` Andreas Dilger
2008-07-02 14:28             ` Jamie Lokier
2008-07-02 21:20               ` Mark Fasheh
2008-07-03 14:45                 ` Jamie Lokier
2008-06-26 14:04 ` Dave Kleikamp
2008-06-26 14:15   ` Eric Sandeen
2008-06-26 14:27     ` Dave Kleikamp
2008-07-02 23:48       ` jim owens
2008-07-03 11:17         ` Dave Chinner
2008-07-03 12:11           ` jim owens
2008-07-03 22:51             ` Dave Chinner
2008-07-04  8:31               ` Andreas Dilger
2008-07-04 12:13               ` Jamie Lokier
2008-07-07  7:40                 ` Dave Chinner
2008-07-07 16:53                   ` Jamie Lokier
2008-07-07 22:51                     ` Dave Chinner
2008-07-07 21:16               ` jim owens
2008-07-08  3:01                 ` Dave Chinner
2008-07-07 22:02               ` jim owens
2008-07-09  2:03                 ` Jamie Lokier
2008-07-03 12:21           ` jim owens
2008-07-03 12:42             ` Andi Kleen
2008-07-04 20:32             ` Anton Altaparmakov
2008-07-05 10:49               ` Jamie Lokier
2008-07-05 21:44                 ` Anton Altaparmakov
2008-07-07 23:01               ` jim owens
2008-07-08  1:51                 ` Dave Chinner
2008-07-08 13:02                   ` jim owens
2008-07-08 14:03                     ` jim owens
2008-07-08 14:39                       ` jim owens
2008-07-08 14:30                     ` Theodore Tso
2008-07-09  1:50                       ` Jamie Lokier
2008-06-26 17:01   ` Andreas Dilger
2008-07-03 14:37 ` jim owens
2008-07-03 15:17   ` Jamie Lokier
2008-07-04  8:49     ` Andreas Dilger
2008-07-04 11:28       ` Jamie Lokier
2008-07-03 23:00   ` Dave Chinner
2008-07-04  9:00   ` Andreas Dilger
2008-07-07 23:28     ` jim owens
2008-07-09  1:53       ` Jamie Lokier
2008-07-09 15:01         ` jim owens
2008-07-08  0:06     ` jim owens

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=20080626102403.GN6239@webber.adilger.int \
    --to=adilger@sun.com \
    --cc=Kalpak.Shah@sun.com \
    --cc=adilger@shaw.ca \
    --cc=jamie@shareable.org \
    --cc=jbacik@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mfasheh@suse.com \
    --cc=sandeen@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.