22.03.2016 22:38, Greg Freemyer пишет:
The one I best understand is ntfsfallocate.
Basically the issue is NTFS-3G provides a non-backward compatible feature.
With fallocate in general you can allocate large files that you can latter fill in. Often done for the virtual disk in a VM as an example. In a matter of seconds you can allocate data blocks for a 100GB file. By doing it that way you reduce fragmentation, and also only take a relatively short period of time to create the file. (Who wants to wait minutes for a 100GB file to be zero-filled).
ntfsfallocate allows that same behavior with the NTFS filesystem. The NTFS-3G driver in turn understands what is going on and can work with the file as data is later written to the allocated blocks.
Windows on the other hand does not understand the data structure layout created by ntfsfallocate, and thus it can cause a problem.
I wonder - NTFS supports sparse files; what ntfsfallocate does that cannot be mapped to it?
(Per the documentation. I haven't tested it.)
The ntfsfallocate man page says you have to fill all of the allocated space with data in the Linux environment before the metadata / data layout is functional in Windows.
=== Thus a feasible use case might be to build a virtual drive for a VM in Linux on a NTFS filesystem, then try to run that VM in Windows. You will get a failure mode until all the individual data blocks have been written to at least once, but some users may find that an acceptable situation.
Greg
-- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org