OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_61-45-gdb717c6
Gerrit Code Review
gerrit@openafs.org
Thu, 20 Aug 2009 15:40:48 -0700 (PDT)
The following commit has been merged in the master branch:
commit db717c69dad1518043cb317aedb6d082476386f0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date: Thu Aug 20 17:22:08 2009 -0400
Windows: Correct buf_Write data loss errors
buf_Write has two errors in it. First, if offset at which the
write is supposed to begin does not align with the cm_data.blockSize,
then (offset %blockSize) octets at the end of the write will fail
to be written to the file server. Second, if there is no knowledge
of the file server's ability to handle RXAFS_StoreData64 calls
and the file server does not support StoreData64 calls, then the
first chunkSize of data will be written to the file server before
the RXGEN_OPCODE error is detected. In this case a retry using
RXAFS_StoreData is performed but the values of 'nbytes' and 'qdp'
were not reset before the retry. As a result, the first chunkSize
of data would fail to be written to the file server.
The second problem can reliably occur when connectivity between the
cache manager and the file server is interrupted due to firewall
port mapping closures. Upon establishing a new rx connection, a
SRXAFSCB_InitCallBackState3 RPC will be issued by the file server
erasing any prior knowledge of the file server's ability to process
64-bit data operations. If the first 64-bit operation is a
StoreData64, then data loss will occur.
LICENSE MIT
FIXES 125220
FIXES 108199
Reviewed-on: http://gerrit.openafs.org/332
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/cm_dcache.c | 22 +++++++++++++++++-----
1 files changed, 17 insertions(+), 5 deletions(-)
--
OpenAFS Master Repository