On Wed, 6 Dec 2023 at 10:39, Corinna Vinschen via Cygwin <cygwin@cygwin.com> wrote: > > On Dec 6 09:49, Cedric Blancher via Cygwin wrote: > > On Fri, 1 Dec 2023 at 11:43, Corinna Vinschen via Cygwin > > VMware emulates NVME SSD these days, so this should work, yes? > > It doesn't matter, see below. > > > Primary concern is how to detect whether sparse file support is ON in > > Cygwin for a specific filesystem? Maybe /sbin/mount without options > > should have a sparse/nosparse mount flag to reflect what is used? > > What concern? I explained exactly what happens, and it all revolves > around the fact that a filesystem sets the FILE_SUPPORTS_SPARSE_FILES > flag or not. This is the only interesting fact. Nothing else > matters. > > If you want to see if a filesystem supports that flag, just use the > /usr/lib/csih/getVolInfo tool: > > $ /usr/lib/csih/getVolInfo . > Device Type : 7 > Characteristics : 20020 > Volume Name : <root> > Serial Number : 2292001085 > Max Filenamelength : 255 > Filesystemname : <NTFS> > Flags : 3e72eff > FILE_CASE_SENSITIVE_SEARCH : TRUE > FILE_CASE_PRESERVED_NAMES : TRUE > FILE_UNICODE_ON_DISK : TRUE > FILE_PERSISTENT_ACLS : TRUE > FILE_FILE_COMPRESSION : TRUE > FILE_VOLUME_QUOTAS : TRUE > FILE_SUPPORTS_SPARSE_FILES : TRUE > FILE_SUPPORTS_REPARSE_POINTS : TRUE > FILE_SUPPORTS_REMOTE_STORAGE : FALSE > FILE_RETURNS_CLEANUP_RESULT_INFO : TRUE > FILE_SUPPORTS_POSIX_UNLINK_RENAME : TRUE > FILE_VOLUME_IS_COMPRESSED : FALSE > FILE_SUPPORTS_OBJECT_IDS : TRUE > FILE_SUPPORTS_ENCRYPTION : TRUE > FILE_NAMED_STREAMS : TRUE > FILE_READ_ONLY_VOLUME : FALSE > FILE_SEQUENTIAL_WRITE_ONCE : FALSE > FILE_SUPPORTS_TRANSACTIONS : TRUE > FILE_SUPPORTS_HARD_LINKS : TRUE > FILE_SUPPORTS_EXTENDED_ATTRIBUTES : TRUE > FILE_SUPPORTS_OPEN_BY_FILE_ID : TRUE > FILE_SUPPORTS_USN_JOURNAL : TRUE > FILE_SUPPORTS_INTEGRITY_STREAMS : FALSE > FILE_SUPPORTS_BLOCK_REFCOUNTING : FALSE > FILE_SUPPORTS_SPARSE_VDL : FALSE > FILE_DAX_VOLUME : FALSE > FILE_SUPPORTS_GHOSTING : FALSE > > > > What Cygwin gets to see is that you want to access a file on some > > > disk. It opens the file and fetches volume information. So it finds: > > > > > > - The filesystem returns the FILE_SUPPORTS_SPARSE_FILES > > > > > > So we can create sparse files. > > > > > > - The volume returns the SSINFO_FLAGS_NO_SEEK_PENALTY flag. > > > > > > So we're on a drive having no seek penalty. This is *probably* > > > an SSD, but may be some other type of drive. > > > > What about SMB? SMB supports sparse files, and should certainly use > > this by DEFAULT, as it makes many HPC apps operate much faster. > > BUT: SSINFO_FLAGS_NO_SEEK_PENALTY is only for filesystems with a > > drive, and not for network filesystem. > > > > Same applies to the NFSv4.1 filesystem driver, I'm going to pester > > Roland Mainz to add FILE_SUPPORTS_SPARSE_FILES support, so same issue > > as SMB here. > > Again, the filesystem doesn't matter. It either sets the > FILE_SUPPORTS_SPARSE_FILES flag or not, as simple as that. > > If it does, you can create sparse files with chattr +S, or you can rely > on the lseek/ftruncate/posix_fallocate automatism, or you stamp a hole > into the file with fallocate(FALLOC_FL_PUNCH_HOLE). > > The *only* difference is if you have to use the "sparse" mount option or > not. > > Basically, with 3.4, you always have to set the "sparse" mount option, > with 3.5, on local SSDs you don't. I don't see a problem here.
How can I remount the existing C: mount with the "sparse" option in Cygwin 3.4? I cannot get it working, or I am too stupid. Ced -- Cedric Blancher <cedric.blanc...@gmail.com> [https://plus.google.com/u/0/+CedricBlancher/] Institute Pasteur -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple