lblk

Usage: lblk <command> [<args>]

Where <command> is one of:

  enum             | Enumerate Logical Block Namespaces on the system
  info             | Retrieve derived information for the given URI
  idfy             | Identify the namespace for the given URI
  read             | Read data and optionally metadata
  write            | Writes data and optionally metadata
  write-zeros      | Set a range of logical blocks to zero
  write-uncor      | Mark a range of logical blocks as invalid

See 'lblk <command> --help' for the description of [<args>]

Logical Block Namespace Utility -- ver: {major: 0, minor: 0, patch: 25}

Enumerate Logical Block Namespaces

Enumerate namespaces:

lblk enum --help
Usage: lblk enum [<args>]

Enumerate Logical Block Namespaces on the system

Where <args> include:

  [ --uri uri ]                 ; System URI e.g. '10.9.8.1:8888'
  [ --flags 0xNUM ]             ; Command flags
  [ --be STRING ]               ; xNVMe backend, e.g. 'linux', 'spdk', 'fbsd', 'posix'
  [ --help ]                    ; Show usage / help

See 'lblk --help' for other commands

Logical Block Namespace Utility -- ver: {major: 0, minor: 0, patch: 25}

Device Information

Device information:

lblk info /dev/nvme0n1
xnvme_dev:
  xnvme_ident:
    uri: '/dev/nvme0n1'
    dtype: 0x2
    nsid: 0x1
    csi: 0x0
  xnvme_be:
    admin: {id: 'nvme'}
    sync: {id: 'nvme'}
    async: {id: 'emu'}
    attr: {name: 'linux'}
  xnvme_opts:
    be: 'linux'
    mem: 'FIX-ID-VS-MIXIN-NAME'
    dev: 'FIX-ID-VS-MIXIN-NAME'
    admin: 'nvme'
    sync: 'nvme'
    async: 'emu'
    oflags: 0x4
  xnvme_geo:
    type: XNVME_GEO_CONVENTIONAL
    npugrp: 1
    npunit: 1
    nzone: 1
    nsect: 16777216
    nbytes: 512
    nbytes_oob: 0
    tbytes: 8589934592
    mdts_nbytes: 65024
    lba_nbytes: 512
    lba_extended: 0
    ssw: 9

Namespace Identification

Namespace identification:

lblk idfy --help
Usage: lblk idfy <uri> [<args>]

Identify the namespace for the given URI

Where <args> include:

  uri                           ; Device URI e.g. '/dev/nvme0n1', '0000:01:00.1', '10.9.8.1.8888'
  [ --nsid 0xNUM ]              ; Namespace Identifier for Command Construction
  [ --data-output FILE ]        ; Path to data output-file
  [ --dev-nsid 0xNUM ]          ; Namespace Identifier for Device Handle
  [ --be STRING ]               ; xNVMe backend, e.g. 'linux', 'spdk', 'fbsd', 'posix'
  [ --admin STRING ]            ; xNVMe admin. command-interface, e.g. 'nvme', 'block'
  [ --help ]                    ; Show usage / help

See 'lblk --help' for other commands

Logical Block Namespace Utility -- ver: {major: 0, minor: 0, patch: 25}

IO: Reading

Reading:

lblk read --help
Usage: lblk read <uri> [<args>]

Read data and optionally metadata

Where <args> include:

  uri                           ; Device URI e.g. '/dev/nvme0n1', '0000:01:00.1', '10.9.8.1.8888'
  --slba 0xNUM                  ; Start Logical Block Address
  --nlb NUM                     ; Number of LBAs (NOTE: zero-based value)
  [ --nsid 0xNUM ]              ; Namespace Identifier for Command Construction
  [ --data-output FILE ]        ; Path to data output-file
  [ --meta-output FILE ]        ; Path to meta output-file
  [ --dev-nsid 0xNUM ]          ; Namespace Identifier for Device Handle
  [ --be STRING ]               ; xNVMe backend, e.g. 'linux', 'spdk', 'fbsd', 'posix'
  [ --admin STRING ]            ; xNVMe admin. command-interface, e.g. 'nvme', 'block'
  [ --sync STRING ]             ; xNVMe sync. command-interface, e.g. 'nvme', 'block'
  [ --help ]                    ; Show usage / help

See 'lblk --help' for other commands

Logical Block Namespace Utility -- ver: {major: 0, minor: 0, patch: 25}

IO: Writing

Writing:

lblk write --help
Usage: lblk write <uri> [<args>]

Writes data and optionally metadata

Where <args> include:

  uri                           ; Device URI e.g. '/dev/nvme0n1', '0000:01:00.1', '10.9.8.1.8888'
  --slba 0xNUM                  ; Start Logical Block Address
  --nlb NUM                     ; Number of LBAs (NOTE: zero-based value)
  [ --nsid 0xNUM ]              ; Namespace Identifier for Command Construction
  [ --data-input FILE ]         ; Path to data input-file
  [ --meta-input FILE ]         ; Path to meta input-file
  [ --dev-nsid 0xNUM ]          ; Namespace Identifier for Device Handle
  [ --be STRING ]               ; xNVMe backend, e.g. 'linux', 'spdk', 'fbsd', 'posix'
  [ --admin STRING ]            ; xNVMe admin. command-interface, e.g. 'nvme', 'block'
  [ --sync STRING ]             ; xNVMe sync. command-interface, e.g. 'nvme', 'block'
  [ --help ]                    ; Show usage / help

See 'lblk --help' for other commands

Logical Block Namespace Utility -- ver: {major: 0, minor: 0, patch: 25}