This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cygwin-1.3.21-1, problem with sparse file creation as default

I have a problem with the following new feature of cygwin-1.3.21-1

> - Create sparse files by default, when possible.  (Vaclav Haisman)

Couldnt it be made configurable, or removed ?

1) good old file manager (winfile.exe from NT4 system) does not display
sparse files - so all newly created files (through gcc, or make,
or "cp con 123.txt") are now invisible. (beside browsing, I didnt test real
file operations like move/copy a folder containing some sparse files)

2) AFAICS its advantages are very sparse ;-) Only when extending
a file's size the sytem (ntfs5+) automatically adds 'sparse' clusters.
Otherwise (even when writing 10G of all zero) not a single sector
is spared. Only programs aware of win32-sparse files profit from this
existing file-attribute when explicitely marking a range as zero,
but IMHO this is a micro-profit: such program can replace the following
code ....

  if (make_file_sparse(..)) mark_some_range_as_zero(..);

  ... with ...

  if (is_file_sparse(..)) mark_some_range_as_zero(..);

Note, this was assuming the win32 file API. Are there any cygwin/GNU
file API's (except for file creation;-) which when used then automatically
profit from sparse files ?

3) OTOH my guess is that it introduces more or less unnecessary resource
consumption (CPU and/or disk) ... one benchmark could be building
gcc and messuring time and disk consumption, but last time I built gcc
was in 2001; maybe Vaclav Haisman could benchmark the pros and cons
of this new feature. (also defragmenting a volume with 10.000 of such
newly created 'pseudo-sparse' files might pay a price)

Anyway, thanks for your attention,

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]