Btrfs: fix blk_status_t/errno confusion
authorOmar Sandoval <osandov@fb.com>
Wed, 23 Aug 2017 06:45:59 +0000 (23:45 -0700)
committerDavid Sterba <dsterba@suse.com>
Thu, 24 Aug 2017 15:19:02 +0000 (17:19 +0200)
commit58efbc9f5463308c43d812fd0748a4dee44c8a16
tree400bd7ce429cf0ef769c3736dcb153f28dfdbcee
parent14ccee78fc82f5512908f4424f541549a5705b89
Btrfs: fix blk_status_t/errno confusion

This fixes several instances of blk_status_t and bare errno ints being
mixed up, some of which are real bugs.

In the normal case, 0 matches BLK_STS_OK, so we don't observe any
effects of the missing conversion, but in case of errors or passes
through the repair/retry paths, the errors get mixed up.

The changes were identified using 'sparse', we don't have reports of the
buggy behaviour.

Fixes: 4e4cbee93d56 ("block: switch bios to blk_status_t")
Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c
fs/btrfs/inode.c
fs/btrfs/raid56.c
fs/btrfs/volumes.c
fs/btrfs/volumes.h