From 4740ca89a9a98907c91bf7063f9d37e3ddcdd5d5 Mon Sep 17 00:00:00 2001 From: Sergey Berezansky Date: Tue, 3 Sep 2024 13:06:17 +0300 Subject: [PATCH] fix(CSI-241): fix unmountWithOptions to use map key rather than options.String() --- pkg/wekafs/nfsmounter.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/wekafs/nfsmounter.go b/pkg/wekafs/nfsmounter.go index fdf689888..219d4510f 100644 --- a/pkg/wekafs/nfsmounter.go +++ b/pkg/wekafs/nfsmounter.go @@ -47,7 +47,7 @@ func (m *nfsMounter) NewMount(fsName string, options MountOptions) AnyMount { if _, ok := m.mountMap[fsName]; !ok { m.mountMap[fsName] = mountsMapPerFs{} } - if _, ok := m.mountMap[fsName][options.String()]; !ok { + if _, ok := m.mountMap[fsName][options.AsMapKey()]; !ok { uniqueId := getStringSha1AsB32(fsName + ":" + options.String()) wMount := &nfsMount{ kMounter: m.kMounter, @@ -58,10 +58,10 @@ func (m *nfsMounter) NewMount(fsName string, options MountOptions) AnyMount { interfaceGroupName: m.interfaceGroupName, clientGroupName: m.clientGroupName, } - m.mountMap[fsName][options.String()] = wMount + m.mountMap[fsName][options.AsMapKey()] = wMount } m.lock.Unlock() - return m.mountMap[fsName][options.String()] + return m.mountMap[fsName][options.AsMapKey()] } func (m *nfsMounter) getSelinuxStatus(ctx context.Context) bool { @@ -99,10 +99,10 @@ func (m *nfsMounter) unmountWithOptions(ctx context.Context, fsName string, opti options.setSelinux(m.getSelinuxStatus(ctx), MountProtocolNfs) log.Ctx(ctx).Trace().Strs("mount_options", opts.Strings()).Str("filesystem", fsName).Msg("Received an unmount request") - if mnt, ok := m.mountMap[fsName][options.String()]; ok { + if mnt, ok := m.mountMap[fsName][options.AsMapKey()]; ok { err := mnt.decRef(ctx) if err == nil { - if m.mountMap[fsName][options.String()].getRefCount() <= 0 { + if m.mountMap[fsName][options.AsMapKey()].getRefCount() <= 0 { log.Ctx(ctx).Trace().Str("filesystem", fsName).Strs("mount_options", options.Strings()).Msg("This is a last use of this mount, removing from map") delete(m.mountMap[fsName], options.String()) }