Skip to content
  • Vitaly Kuznetsov's avatar
    Tools: hv: vss: fix loop device detection · 07136793
    Vitaly Kuznetsov authored
    Commit ea81fdf0 ("Tools: hv: vss: Skip freezing filesystems backed by
    loop") added skip for filesystems backed by loop device. However, it seems
    the detection of such cases is incomplete.
    
    It was found that with 'devicemapper' storage driver docker creates the
    following chain:
    
    NAME					MAJ:MIN
    loop0					7:0
    ..docker-8:4-8473394-pool		253:0
      ..docker-8:4-8473394-eac...		253:1
    
    so when we're looking at the mounted device we see major '253' and not '7'.
    
    Solve the issue by walking /sys/dev/block/*/slaves chain and checking if
    there's a loop device somewhere.
    
    Other than that, don't skip mountpoints silently when stat() fails. In case
    e.g. SELinux is failing stat we don't want to skip freezing everything
    without letting user know about the failure.
    
    Fixes: ea81fdf0
    
     ("Tools: hv: vss: Skip freezing filesystems backed by loop")
    Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    07136793