This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via b539c5a1765a1f03ef5e847b95180ca64c5a6c48 (commit) from e6fde073449897f124965c87c3c73d1a35dda8c5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/b539c5a1765a1f03ef5e847b95180ca64c... commit b539c5a1765a1f03ef5e847b95180ca64c5a6c48 Author: Rob Latham <[email protected]> Date: Wed Sep 18 10:52:00 2013 -0500 Maintain requested perms in more cases If data sieving is not supported by the underlying file system (e.g. PVFS, PLFS, BGLOCKLESS) then there is no reason to turn write-only requests into read-write requests. Suggestion first reported by David Knaak of Cray. Reviewed-by: David Knaak <[email protected]> diff --git a/src/mpi/romio/adio/common/ad_opencoll.c b/src/mpi/romio/adio/common/ad_opencoll.c index 235bd78..2bea36e 100644 --- a/src/mpi/romio/adio/common/ad_opencoll.c +++ b/src/mpi/romio/adio/common/ad_opencoll.c @@ -79,8 +79,12 @@ void ADIOI_GEN_OpenColl(ADIO_File fd, int rank, if write_only, open the file as read_write, but record it as write_only in fd, so that get_amode returns the right answer. */ + /* observation from David Knaak: file systems that do not support data + * sieving do not need to change the mode */ + orig_amode_wronly = access_mode; - if (access_mode & ADIO_WRONLY) { + if ( (access_mode & ADIO_WRONLY) && + ADIO_Feature(fd, ADIO_DATA_SIEVING_WRITES) ) { access_mode = access_mode ^ ADIO_WRONLY; access_mode = access_mode | ADIO_RDWR; } ----------------------------------------------------------------------- Summary of changes: src/mpi/romio/adio/common/ad_opencoll.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) hooks/post-receive -- MPICH primary repository