Skip to content
  • Amir Goldstein's avatar
    b0e0f697
    ovl: restrict lower null uuid for "xino=auto" · b0e0f697
    Amir Goldstein authored
    Commit a888db31 ("ovl: fix regression with re-formatted lower
    squashfs") attempted to fix a regression with existing setups that
    use a practice that we are trying to discourage.
    
    The discourage part was described this way in the commit message:
    "To avoid the reported regression while still allowing the new features
     with single lower squashfs, do not allow decoding origin with lower null
     uuid unless user opted-in to one of the new features that require
     following the lower inode of non-dir upper (index, xino, metacopy)."
    
    The three mentioned features are disabled by default in Kconfig, so
    it was assumed that if they are enabled, the user opted-in for them.
    Apparently, distros started to configure CONFIG_OVERLAY_FS_XINO_AUTO=y
    some time ago, so users upgrading their kernels can still be affected
    by said regression even though they never opted-in for any new feature.
    
    To fix this, treat "xino=on" as "user opted-in", but not "xino=auto".
    Since we are changing the behavior of "xino=auto" to no longer follow
    to lower origin with null uuid, take this one step further and disable
    xino in that corner case.  To be consistent, disable xino also in cases
    of lower fs without file handle support and upper fs without xattr
    support.
    
    Update documentation w.r.t the new "xino=auto" behavior and fix the out
    dated bits of documentation regarding "xino" and regarding offline
    modifications to lower layers.
    
    Link: https://lore.kernel.org/linux-unionfs/b36a429d7c563730c28d763d4d57a6fc30508a4f.1615216996.git.kevin@kevinlocke.name/
    
    
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    b0e0f697
    ovl: restrict lower null uuid for "xino=auto"
    Amir Goldstein authored
    Commit a888db31 ("ovl: fix regression with re-formatted lower
    squashfs") attempted to fix a regression with existing setups that
    use a practice that we are trying to discourage.
    
    The discourage part was described this way in the commit message:
    "To avoid the reported regression while still allowing the new features
     with single lower squashfs, do not allow decoding origin with lower null
     uuid unless user opted-in to one of the new features that require
     following the lower inode of non-dir upper (index, xino, metacopy)."
    
    The three mentioned features are disabled by default in Kconfig, so
    it was assumed that if they are enabled, the user opted-in for them.
    Apparently, distros started to configure CONFIG_OVERLAY_FS_XINO_AUTO=y
    some time ago, so users upgrading their kernels can still be affected
    by said regression even though they never opted-in for any new feature.
    
    To fix this, treat "xino=on" as "user opted-in", but not "xino=auto".
    Since we are changing the behavior of "xino=auto" to no longer follow
    to lower origin with null uuid, take this one step further and disable
    xino in that corner case.  To be consistent, disable xino also in cases
    of lower fs without file handle support and upper fs without xattr
    support.
    
    Update documentation w.r.t the new "xino=auto" behavior and fix the out
    dated bits of documentation regarding "xino" and regarding offline
    modifications to lower layers.
    
    Link: https://lore.kernel.org/linux-unionfs/b36a429d7c563730c28d763d4d57a6fc30508a4f.1615216996.git.kevin@kevinlocke.name/
    
    
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
Loading