Uploaded image for project: 'OpenShift Migration Toolkit for Containers'
  1. OpenShift Migration Toolkit for Containers
  2. MIG-861

Decide and implement the correct way to handle sparse files

XMLWordPrintable

    • False
    • False
    • Not Required
    • Sprint 211

      During a user's production migration, it was reported that a particular project was running out of space during DVM state transfer in their target volume despite the auto pv resize feature having recognized the source volume as being full and the controller having provisioned a larger volume on the target side. Upon investigating the issue, df seemed to be reported a small amount of usage on the source side (112M), but the target size had a 1.1Gi volume provisioned, so it was not clear why the available space was being breached by rsync.

      It became clear that the files in question were in fact sparse files. These files have large amounts of space pre-allocated to them that are largely null bytes. It's speculated that df (the mechanism that auto resize depends upon) does not report the null bytes, but rsync will attempt to transfer them unless `–sparse` is passed indicating that these empty bytes should not be transferred.

      For this story, we need to understand how to address sparse files so that the experience is not "run a migration, see that it fails, figure out you have sparse files, and then override the rsync opts to pass through --sparse". Is there anything we can do to be more intelligent here, like detecting the presence of these files and warning? Can --sparse be an option that's always passed by default?

              pgaikwad1@redhat.com Pranav Gaikwad
              ernelson@redhat.com Erik Nelson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: