cephfs: support omap store in radosnamespace

This commit adds the support for storing the CephFS omap data
in a namespace specified in the ceph-csi-config ConfigMap under
cephFS.radosNamespace field.

If the radosNamespace is not set, the default radosNamespace will
be used i.e, csi.

Signed-off-by: Praveen M <m.praveen@ibm.com>
This commit is contained in:
Praveen M
2024-10-03 16:04:22 +05:30
committed by mergify[bot]
parent c7f41cf84b
commit 86759d4653
7 changed files with 47 additions and 33 deletions

View File

@ -19,7 +19,6 @@ package store
import (
"context"
fsutil "github.com/ceph/ceph-csi/internal/cephfs/util"
"github.com/ceph/ceph-csi/internal/util/log"
"github.com/ceph/ceph-csi/internal/util/reftracker"
"github.com/ceph/ceph-csi/internal/util/reftracker/radoswrapper"
@ -45,7 +44,7 @@ func AddSnapshotBackedVolumeRef(
}
defer ioctx.Destroy()
ioctx.SetNamespace(fsutil.RadosNamespace)
ioctx.SetNamespace(volOptions.RadosNamespace)
var (
backingSnapID = volOptions.BackingSnapshotID
@ -90,7 +89,7 @@ func AddSnapshotBackedVolumeRef(
if created && !deleted {
log.ErrorLog(ctx, "orphaned reftracker object %s (pool %s, namespace %s)",
backingSnapID, volOptions.MetadataPool, fsutil.RadosNamespace)
backingSnapID, volOptions.MetadataPool, volOptions.RadosNamespace)
}
}()
@ -118,7 +117,7 @@ func UnrefSnapshotBackedVolume(
}
defer ioctx.Destroy()
ioctx.SetNamespace(fsutil.RadosNamespace)
ioctx.SetNamespace(volOptions.RadosNamespace)
var (
backingSnapID = volOptions.BackingSnapshotID
@ -159,7 +158,7 @@ func UnrefSelfInSnapshotBackedVolumes(
}
defer ioctx.Destroy()
ioctx.SetNamespace(fsutil.RadosNamespace)
ioctx.SetNamespace(snapParentVolOptions.RadosNamespace)
return reftracker.Remove(
radoswrapper.NewIOContext(ioctx),