William A. Rowe, Jr. wrote:
Finally, testlfs.c itself, now that we can (generally) compute CSIZE everywhere, would let us test if a small sample test file of 1siMB + 1 byte actually occupies that much space, and bail if not. If the CSIZE becomes 2siMB or greater, we should further assume that this is a silly FS that probably does provide sparse allocation but who's storage mult is so large we won't measure it.
And I should have pointed out, if APR_FINFO_CSIZE isn't in .valid, well then, it's too broken a platform to trust making an 8gb file, no? So if we don't get a csize out of a basic stat, we'll just bail.
If that test sounds rational, this could become APR_HAS_SPARSE_FILES for apr 1.3.0 only.
Gets trickier to combine the test in an autoconf macro, where we don't have apr_file_stat yet.