github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/lib/objectserver/filesystem/delete.go (about)

     1  package filesystem
     2  
     3  import (
     4  	"os"
     5  	"path"
     6  	"time"
     7  
     8  	"github.com/Cloud-Foundations/Dominator/lib/hash"
     9  	"github.com/Cloud-Foundations/Dominator/lib/objectcache"
    10  )
    11  
    12  func (objSrv *ObjectServer) deleteObject(hashVal hash.Hash) error {
    13  	filename := path.Join(objSrv.baseDir, objectcache.HashToFilename(hashVal))
    14  	if err := os.Remove(filename); err != nil {
    15  		return err
    16  	}
    17  	objSrv.rwLock.Lock()
    18  	delete(objSrv.sizesMap, hashVal)
    19  	objSrv.lastMutationTime = time.Now()
    20  	objSrv.rwLock.Unlock()
    21  	return nil
    22  }