[arvados] updated: 2.7.0-5662-g8e24aa37b7

git repository hosting git at public.arvados.org
Fri Jan 5 21:55:15 UTC 2024


Summary of changes:
 sdk/go/arvados/keep_cache.go | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

       via  8e24aa37b7a2c788dd706013a36da6ca975fb981 (commit)
       via  d9af2e4f8af04dae72ff35a0bf424ff12d6015cf (commit)
       via  88fcca6c8c4a7dc3626cceeda61c584f258b158a (commit)
      from  ec8d4899d74ea76c30cb394dfcda6a54cd9e6652 (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.


commit 8e24aa37b7a2c788dd706013a36da6ca975fb981
Author: Tom Clegg <tom at curii.com>
Date:   Fri Jan 5 15:40:04 2024 -0500

    20318: Fix nil pointer usage.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>

diff --git a/sdk/go/arvados/keep_cache.go b/sdk/go/arvados/keep_cache.go
index ff9a742fb1..2b578bd1de 100644
--- a/sdk/go/arvados/keep_cache.go
+++ b/sdk/go/arvados/keep_cache.go
@@ -308,9 +308,11 @@ func (cache *DiskCache) ReadAt(locator string, dst []byte, offset int) (int, err
 			var writef *os.File
 			var err error
 			defer func() {
-				closeErr := writef.Close()
-				if err == nil {
-					err = closeErr
+				if writef != nil {
+					closeErr := writef.Close()
+					if err == nil {
+						err = closeErr
+					}
 				}
 				progress.cond.L.Lock()
 				progress.err = err

commit d9af2e4f8af04dae72ff35a0bf424ff12d6015cf
Author: Tom Clegg <tom at curii.com>
Date:   Fri Jan 5 15:33:38 2024 -0500

    20318: Update stale comment.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>

diff --git a/sdk/go/arvados/keep_cache.go b/sdk/go/arvados/keep_cache.go
index f2618b9d00..ff9a742fb1 100644
--- a/sdk/go/arvados/keep_cache.go
+++ b/sdk/go/arvados/keep_cache.go
@@ -456,9 +456,10 @@ func (cache *DiskCache) quickReadAt(cachefilename string, dst []byte, offset int
 	cache.heldopenLock.Unlock()
 
 	if isnew {
-		// Open and flock the file, then call wg.Done() to
-		// unblock any other goroutines that are waiting in
-		// the !isnew case above.
+		// Open and flock the file, save the filehandle (or
+		// error) in heldopen.f, and release the write lock so
+		// other goroutines waiting at heldopen.RLock() below
+		// can use the shared filehandle (or shared error).
 		f, err := os.Open(cachefilename)
 		if err == nil {
 			err = syscall.Flock(int(f.Fd()), syscall.LOCK_SH)

commit 88fcca6c8c4a7dc3626cceeda61c584f258b158a
Author: Tom Clegg <tom at curii.com>
Date:   Fri Jan 5 15:33:26 2024 -0500

    20318: Note no-op defers in comments.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>

diff --git a/sdk/go/arvados/keep_cache.go b/sdk/go/arvados/keep_cache.go
index b6b2a9da66..f2618b9d00 100644
--- a/sdk/go/arvados/keep_cache.go
+++ b/sdk/go/arvados/keep_cache.go
@@ -175,7 +175,11 @@ func (cache *DiskCache) BlockWrite(ctx context.Context, opts BlockWriteOptions)
 	pipereader, pipewriter := io.Pipe()
 	defer pipereader.Close()
 	go func() {
+		// Note this is a double-close (which is a no-op) in
+		// the happy path.
 		defer tmpfile.Close()
+		// Note this is a no-op in the happy path (the
+		// uniquely named tmpfilename will have been renamed).
 		defer os.Remove(tmpfilename)
 		defer pipewriter.Close()
 

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list