mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-27 08:49:16 +08:00
4636584d5b
re: https://github.com/Unidata/netcdf-c/issues/1154 Inadvertently, the behavior of NC_DISKLESS with nc_create() was changed in release 4.6.1. Previously, the NC_WRITE flag needed to be explicitly used with NC_DISKLESS in order to cause the created file to be persisted to disk. Additional analyis indicated that the current NC_DISKLESS implementation was seriously flawed. This PR attempts to clean up and regularize the situation with respect to NC_DISKLESS control. One important aspect of diskless operation is that there are two different notions of write. 1. The file is read-write vs read-only when using the netcdf API. 2. The file is persisted or not to disk at nc_close(). Previously, these two were conflated. The rules now are as follows. 1. NC_DISKLESS + NC_WRITE means that the file is read/write using the netcdf API 2. NC_DISKLESS + NC_PERSIST means that the file is persisted to a disk file at nc_close. 3. NC_DISKLESS + NC_PERSIST + NC_WRITE means both 1 and 2. The NC_PERSIST flag is new and takes over the obsolete NC_MPIPOSIX flag. NC_MPIPOSIX is still defined, but is now an alias for the NC_MPIIO flag. It is also now the case that for netcdf-4, NC_DISKLESS is independent of NC_INMEMORY and in fact it is an error to specify both flags simultaneously. Finally, the MMAP code was fixed to use NC_PERSIST as well. Also marked MMAP as deprecated. Also added a test case to test various combinations of NC_DISKLESS, NC_PERSIST, and NC_WRITE. This PR affects a number of files and especially test cases that used NC_DISKLESS. Misc. Unrelated fixes 1. fixed some warnings in ncdump/dumplib.c |
||
---|---|---|
.. | ||
.gitignore | ||
ceconstraints.h | ||
CMakeLists.txt | ||
err_macros.h | ||
fbits.h | ||
hdf4dispatch.h | ||
hdf5internal.h | ||
Makefile.am | ||
nc3dispatch.h | ||
nc3internal.h | ||
nc4dispatch.h | ||
nc4internal.h | ||
nc_hashmap.h | ||
nc_logging.h | ||
nc_tests.h | ||
nc.h | ||
ncauth.h | ||
ncaux.h | ||
ncbytes.h | ||
ncconfigure.h | ||
ncdap.h | ||
ncdimscale.h | ||
ncdispatch.h | ||
ncexternl.h | ||
ncfilter.h | ||
nchashmap.h | ||
ncindex.h | ||
nclist.h | ||
nclog.h | ||
ncoffsets.h | ||
ncrc.h | ||
nctestserver.h | ||
nctime.h | ||
ncuri.h | ||
ncutf8.h | ||
ncwinpath.h | ||
netcdf_f.h | ||
netcdf_mem.h | ||
netcdf_meta.h.in | ||
netcdf_par.h | ||
netcdf.h | ||
onstack.h | ||
rnd.h | ||
XGetopt.h |