Re: [PATCH 0/4] Fiemap, an extent mapping ioctl - round 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



jim owens wrote:
>   FIEMAP_EXTENT_NO_BYPASS
> 
> As in "you can't bypass the filesystem" to directly access it.

Can we also commit to this, when FIEMAP_EXTENT_NO_BYPASS is *not* set:

   1. The data at fe_physical, and *will not move* so long as nothing
      modifies *that particular file*?

   2. Both reading *and writing* the file bypassing the filesystem are ok.

The reason for 1 is that some filesystems may move data when _other_
files are modified.  Heck, they may do so when other files are simply
read, or at some random whim.  Those filesystems would set
FIEMAP_EXTENT_NO_BYPASS (except for files with chattr 't'), because
fe_physical does not correspond to a *stable* location which a program
can subsequently use.

The reason for 2 is that some filesystems checksum the data and/or
replicate it, and won't be readable if you write to it directly.

In both these cases, O_DIRECT may *sometimes* work even though
directly accessing the physical device is unreliable.  So
FIEMAP_EXTENT_NO_BYPASS may be treated as "access the file through the
filesystem, use O_DIRECT if you still want direct access, and fall
back to ordinary file access if that doesn't work".


-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux