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

Jamie Lokier
2008-09-17T15:02:24Z

Jörn Engel wrote:
> 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.

I'm not clear about something from the above description.

If I were writing a journalling / tree-like filesystem, and I did
store data in blocks without encoding, but fsync() only waits for them
to be committed to journal, not their final destination, and also they
might be moved around - should I set DATA_ENCODED or not? (And should
I return the temporary location in the long-running journal since
that's the only place the data is committed at the time of the call?)

Assume that even reading after unmounting is not 100% safe, because
the data blocks could be relocated after calling FIEMAP (when the
filesystem must be mounted), and before the unmount.

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