Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-95363

Log filename, offset and count in nbdkit-file-plugin error messages [rhel-9.7]

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • rhel-9.7
    • rhel-9.7
    • nbdkit
    • None
    • nbdkit-1.38.5-8.el9
    • No
    • Low
    • 1
    • rhel-virt-tools
    • ssg_virtualization
    • 2
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • virt-storage Sprint 6
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      This upstream change in nbdkit improves logging for error messages in the file plugin, which should improve error messages in virt-v2v:

      https://gitlab.com/nbdkit/nbdkit/-/merge_requests/98

      An example of how this improves things is below.

      1. Create a filesystem with limited space, and create a sparse file in that which is larger than the space available:

      $ df -h /tmp/mnt/rjones/
      Filesystem              Size  Used Avail Use% Mounted on
      /dev/mapper/fedora-tmp  119M   15K  113M   1% /tmp/mnt
      $ truncate -s 6G /tmp/mnt/rjones/output
      

      2. Run nbdkit-file-plugin and copy in a file which is larger than the available space. It is expected that this will run out of space:

      $ nbdkit file /tmp/mnt/rjones/output --run 'nbdcopy /var/tmp/fedora-40.img "$uri"' 
      nbdkit: file.6: error: pwrite: No space left on device
      nbdkit: file.13: error: pwrite: No space left on device
      nbdcopy: write at offset 155189248 failed: No space left on device
      nbdkit: file.4: error: pwrite: No space left on device
      nbdkit: file.5: error: pwrite: No space left on device
      nbdcopy: write at offset 1108869120 failed: No space left on device
      nbdcopy: write at offset 36438016 failed: No space left on device
      [etc]
      

      After this change, the error message is improved. It includes the output filename and the offset and count where the error occurred:

      $ nbdkit file /tmp/mnt/rjones/output --run 'nbdcopy /var/tmp/fedora-40.img "$uri"' 
      nbdkit: file.0: error: pwrite: /tmp/mnt/rjones/output: offset=36700160, count=262144: No space left on device
      nbdkit: file.3: error: pwrite: /tmp/mnt/rjones/output: offset=157024256, count=262144: No space left on device
      nbdcopy: write at offset 36700160 failed: No space left on device
      nbdkit: file.9: nbdcopy: write at offset 157024256 failed: No space left on device
      error: pwrite: /tmp/mnt/rjones/output: offset=1258291200, count=24576: No space left on device
      nbdkit: file.10: error: pwrite: /tmp/mnt/rjones/output: offset=1098645504, count=262144: No space left on device
      nbdkit: file.15: error: nbdcopy: write at offset 1098645504 failed: No space left on device
      pwrite: /tmp/mnt/rjones/output: offset=160169984, count=262144: No space left on device
      

              rhn-eng-rjones Richard Jones
              rhn-eng-rjones Richard Jones
              virt-maint virt-maint
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated: