Обновить internal/endpoint/endpoint.go

This commit is contained in:
2026-07-17 23:01:00 +03:00
parent bf7749fae3
commit 8b5a942d39
+5 -5
View File
@@ -631,7 +631,7 @@ func clientRoot(rootFS *zfs.DatasetPath, clientIdentity string) (*zfs.DatasetPat
} }
func (s *Receiver) clientRootFromCtx(ctx context.Context) *zfs.DatasetPath { func (s *Receiver) clientRootFromCtx(ctx context.Context) *zfs.DatasetPath {
// Патч: Игнорируем AppendClientIdentity и всегда возвращаем чистый root_fs // Всегда чистый root без client identity
return s.conf.RootWithoutClientComponent.Copy() return s.conf.RootWithoutClientComponent.Copy()
} }
@@ -661,18 +661,18 @@ func (f subroot) MapToLocal(fs string) (*zfs.DatasetPath, error) {
return nil, errors.Errorf("cannot map empty filesystem") return nil, errors.Errorf("cannot map empty filesystem")
} }
// Убираем pool из source // Убираем pool name из source (hdd_...)
if p.Length() > 1 { if p.Length() > 1 {
subpath := p.Copy() subpath := p.Copy()
subpath.TrimNPrefixComps(1) subpath.TrimNPrefixComps(1)
p = subpath p = subpath
} }
// Берём ТОЛЬКО первый компонент от localRoot (chunk_9XG1J8T0) // Всегда оставляем только root (chunk_9XG1J8T0)
c := f.localRoot.Copy() c := f.localRoot.Copy()
if c.Length() > 0 { if c.Length() > 1 {
rootOnly := c.Copy() rootOnly := c.Copy()
rootOnly.TrimNPrefixComps(c.Length() - 1) // оставляем только chunk_... rootOnly.TrimNPrefixComps(c.Length() - 1)
c = rootOnly c = rootOnly
} }