• Hidetoshi Seto's avatar
    Btrfs: skip submitting barrier for missing device · f88ba6a2
    Hidetoshi Seto authored
    I got an error on v3.13:
     BTRFS error (device sdf1) in write_all_supers:3378: errno=-5 IO failure (errors while submitting device barriers.)
    
    how to reproduce:
      > mkfs.btrfs -f -d raid1 /dev/sdf1 /dev/sdf2
      > wipefs -a /dev/sdf2
      > mount -o degraded /dev/sdf1 /mnt
      > btrfs balance start -f -sconvert=single -mconvert=single -dconvert=single /mnt
    
    The reason of the error is that barrier_all_devices() failed to submit
    barrier to the missing device.  However it is clear that we cannot do
    anything on missing device, and also it is not necessary to care chunks
    on the missing device.
    
    This patch stops sending/waiting barrier if device is missing.
    Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
    f88ba6a2
disk-io.c 111 KB