Re: [PATCH 1/4] vfs: vfs-level fiemap interface

Jörn Engel
2008-09-17T14:18:42Z

On Tue, 16 September 2008 18:03:46 -0400, Theodore Tso wrote:
> On Mon, Sep 15, 2008 at 11:49:43PM -0700, Andreas Dilger wrote:
> > The intent of this flag was a "catch-all" to indicate it isn't safe
> > to try and read this block from disk, either because it is encrypted,
> > compressed, on a remote system (HSM or over a network), or maybe not
> > even written to disk yet (delalloc).
> >
> > In some cases (e.g. dump on a snapshot, or boot with LILO) it IS ok to
> > read directly from a block device underneath the filesystem, but that
> > would completely fail for the above cases.
>
> Indeed, I thought it was pretty clear and obvious, but let me give an
> quick but formal definition, and a potential name: DATA_ENCODED
>
> If this flag is not set, then applications that who wish to access the
^^^^^^^^
> file data may do so by accessing the block device at the indicated
> offset when the filesystem is unmounted. If the filesystem is
> mounted, it is undefined whether accessing via the block device will
> return valid data. If the flag DATA_ENCODED flag is set, it is almost
> certain that an application will never be able to access the file data
> via the block device.
>
> Would this make people happy?

Apart from the typo above, here is a more discouraging version:

In general, accessing the block device directly is strongly discouraged.
Exceptions exist mainly in the form of boot loaders like lilo and grub,
at a time when the filesystem is not (cannot be) mounted.

If the flag DATA_ENCODED is set, however, even this exception is no
longer valid. The content is encoded in some form. Details are
unknown, it could be compressed, encrypted or something else.

Jörn

--
Man darf nicht das, was uns unwahrscheinlich und unnatürlich erscheint,
mit dem verwechseln, was absolut unmöglich ist.
-- Carl Friedrich Gauß
--
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