mpather

package
v1.4.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package mpather provides per-mountpath concepts.

  • Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.

Package mpather provides per-mountpath concepts.

  • Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Jgroup added in v1.3.16

type Jgroup struct {
	// contains filtered or unexported fields
}

Jgroup runs jogger per mountpath which walk the entire bucket and call callback on each of the encountered object. When jogger encounters error it stops and informs other joggers about the error (so they stop too).

func NewJgroup added in v1.4.2

func NewJgroup(opts *JgroupOpts, config *cmn.Config, smi *fs.Mountpath) *Jgroup

func (*Jgroup) ListenFinished added in v1.3.16

func (jg *Jgroup) ListenFinished() <-chan struct{}

func (*Jgroup) NumJ added in v1.3.28

func (jg *Jgroup) NumJ() int

func (*Jgroup) NumVisits added in v1.3.28

func (jg *Jgroup) NumVisits() (n int64)

func (*Jgroup) Run added in v1.3.16

func (jg *Jgroup) Run()

func (*Jgroup) Stop added in v1.3.16

func (jg *Jgroup) Stop() error

type JgroupOpts added in v1.3.16

type JgroupOpts struct {
	Parent    cos.Stopper // optional: stop walk when parent xaction aborts
	VisitObj  func(lom *core.LOM, buf []byte) error
	VisitCT   func(ct *core.CT, buf []byte) error
	Slab      *memsys.Slab
	Bck       cmn.Bck
	Buckets   cmn.Bcks
	Prefix    string
	CTs       []string
	PerBucket bool // num joggers = (num mountpaths) x (num buckets)
	RW        bool // true when performs data IO
	// contains filtered or unexported fields
}

JgroupOpts configures a Jgroup. The jogger does NOT pre-load LOMs: VisitObj receives an initialized-but-unloaded LOM and the callback owns the lifecycle (lom.Load, locking, IsCopy filtering, etc.).

type WorkerGroup

type WorkerGroup struct {
	// contains filtered or unexported fields
}

WorkerGroup starts one worker per mountpath; each worker receives (*core.LOM) tasks and executes the specified callback.

func NewWorkerGroup

func NewWorkerGroup(opts *WorkerGroupOpts) (*WorkerGroup, error)

func (*WorkerGroup) ChanFullTotal added in v1.3.28

func (wkg *WorkerGroup) ChanFullTotal() (n int64)

func (*WorkerGroup) PostLIF added in v1.3.19

func (wkg *WorkerGroup) PostLIF(lom *core.LOM) error

func (*WorkerGroup) Run

func (wkg *WorkerGroup) Run()

func (*WorkerGroup) Stop

func (wkg *WorkerGroup) Stop() (n int)

Stop aborts all the workers. It should be called after we are sure no more new tasks will be dispatched.

type WorkerGroupOpts

type WorkerGroupOpts struct {
	Callback   func(lom *core.LOM, buf []byte)
	Slab       *memsys.Slab
	WorkChSize int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL