[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <60F23AB8D50382586C1E0BFC@timothy-shimmins-power-mac-g5.local>
Date: Thu, 19 Apr 2007 16:23:16 +1000
From: Timothy Shimmin <tes@....com>
To: Andreas Dilger <adilger@...sterfs.com>, David Chinner <dgc@....com>
cc: linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org,
xfs@....sgi.com, hch@...radead.org
Subject: Re: [RFC] add FIEMAP ioctl to efficiently map file allocation
--On 18 April 2007 6:21:39 PM -0600 Andreas Dilger <adilger@...sterfs.com> wrote:
> Below is an aggregation of the comments in this thread:
>
> struct fiemap_extent {
> __u64 fe_start; /* starting offset in bytes */
> __u64 fe_len; /* length in bytes */
> __u32 fe_flags; /* FIEMAP_EXTENT_* flags for this extent */
> __u32 fe_lun; /* logical storage device number in array */
> }
>
> struct fiemap {
> __u64 fm_start; /* logical start offset of mapping (in/out) */
> __u64 fm_len; /* logical length of mapping (in/out) */
> __u32 fm_flags; /* FIEMAP_FLAG_* flags for request (in/out) */
> __u32 fm_extent_count; /* number of extents in fm_extents (in/out) */
> __u64 fm_unused;
> struct fiemap_extent fm_extents[0];
> }
>
> /* flags for the fiemap request */
># define FIEMAP_FLAG_SYNC 0x00000001 /* flush delalloc data to disk*/
># define FIEMAP_FLAG_HSM_READ 0x00000002 /* retrieve data from HSM */
># define FIEMAP_FLAG_INCOMPAT 0xff000000 /* must understand these flags*/
>
> /* flags for the returned extents */
># define FIEMAP_EXTENT_HOLE 0x00000001 /* no space allocated */
># define FIEMAP_EXTENT_UNWRITTEN 0x00000002 /* uninitialized space */
># define FIEMAP_EXTENT_UNKNOWN 0x00000004 /* in use, location unknown */
># define FIEMAP_EXTENT_ERROR 0x00000008 /* error mapping space */
># define FIEMAP_EXTENT_NO_DIRECT 0x00000010 /* no direct data access */
>
>
>
> SUMMARY OF CHANGES
> ==================
> - use fm_* fields directly in request instead of making it a fiemap_extent
> (though they are layed out identically)
I much prefer that - it makes it a lot clearer to me to have fiemap_extent
just for fm_extents (no different meanings now).
(Don't like the word "offset" in comment without "physical" or some such but whatever;-)
I also prefer the flags as separate fields too :)
--Tim
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists