linux-stable/fs/btrfs
Liu Bo 5a488b9d2c Btrfs: fix unexpected balance crash due to BUG_ON
Mounting a btrfs can resume previous balance operations asynchronously.
An user got a crash when one drive has some corrupt sectors.

Since balance can cancel itself in case of any error, we can gracefully
return errors to upper layers and let balance do the cancel job.

Reported-by: sash <master.b.at.raven@chefmail.de>
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-26 13:52:25 +02:00
..
tests Btrfs: fix error return code in btrfs_init_test_fs() 2016-06-23 10:44:39 -07:00
acl.c btrfs: Replace -ENOENT by -ERANGE in btrfs_get_acl() 2016-07-26 13:52:25 +02:00
async-thread.c
async-thread.h
backref.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
backref.h
btrfs_inode.h
check-integrity.c btrfs: Use correct format specifier 2016-06-17 18:32:40 +02:00
check-integrity.h
compression.c Btrfs: fix BUG_ON in btrfs_submit_compressed_write 2016-07-26 13:52:25 +02:00
compression.h
ctree.c Btrfs: fix read_node_slot to return errors 2016-07-26 13:52:25 +02:00
ctree.h Btrfs: add tracepoints for flush events 2016-07-07 18:45:53 +02:00
dedupe.h btrfs: expand cow_file_range() to support in-band dedup and subpage-blocksize 2016-07-26 13:52:25 +02:00
delayed-inode.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
delayed-inode.h Btrfs: fix ->iterate_shared() by upgrading i_rwsem for delayed nodes 2016-06-25 06:20:10 -07:00
delayed-ref.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
delayed-ref.h
dev-replace.c
dev-replace.h
dir-item.c
disk-io.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
disk-io.h Btrfs: self-tests: Support non-4k page size 2016-06-02 19:23:14 +02:00
export.c
export.h
extent-tree.c btrfs: fix free space calculation in dump_space_info() 2016-07-26 13:52:25 +02:00
extent_io.c Btrfs: fix eb memory leak due to readpage failure 2016-07-26 13:52:25 +02:00
extent_io.h Btrfs: self-tests: Support non-4k page size 2016-06-02 19:23:14 +02:00
extent_map.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
extent_map.h
file-item.c
file.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
free-space-cache.c Btrfs: self-tests: Support non-4k page size 2016-06-02 19:23:14 +02:00
free-space-cache.h
free-space-tree.c
free-space-tree.h
hash.c btrfs: advertise which crc32c implementation is being used at module load 2016-06-06 14:08:28 +02:00
hash.h btrfs: advertise which crc32c implementation is being used at module load 2016-06-06 14:08:28 +02:00
inode-item.c
inode-map.c
inode-map.h
inode.c btrfs: expand cow_file_range() to support in-band dedup and subpage-blocksize 2016-07-26 13:52:25 +02:00
ioctl.c
Kconfig
locking.c
locking.h
lzo.c
Makefile
math.h
ordered-data.c btrfs: Fix slab accounting flags 2016-07-26 13:52:25 +02:00
ordered-data.h Btrfs: fix race setting block group readonly during device replace 2016-05-30 12:58:21 +01:00
orphan.c
print-tree.c
print-tree.h
props.c
props.h
qgroup.c
qgroup.h
raid56.c
raid56.h
rcu-string.h
reada.c Btrfs: fix race between readahead and device replace/removal 2016-05-30 12:58:18 +01:00
relocation.c Btrfs: fix panic in balance due to EIO 2016-07-26 13:52:25 +02:00
root-tree.c
scrub.c Btrfs: subpage-blocksize: Rate limit scrub error message 2016-07-26 13:52:25 +02:00
send.c
send.h
struct-funcs.c
super.c btrfs: avoid blocking open_ctree from cleaner_kthread 2016-06-17 18:32:40 +02:00
sysfs.c btrfs: add missing bytes_readonly attribute file in sysfs 2016-07-26 13:52:25 +02:00
sysfs.h
transaction.c Btrfs: track transid for delayed ref flushing 2016-06-22 17:54:18 -07:00
transaction.h btrfs: account for non-CoW'd blocks in btrfs_abort_transaction 2016-06-17 18:32:40 +02:00
tree-defrag.c
tree-log.c Btrfs: fix read_node_slot to return errors 2016-07-26 13:52:25 +02:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c
volumes.c Btrfs: fix unexpected balance crash due to BUG_ON 2016-07-26 13:52:25 +02:00
volumes.h
xattr.c
xattr.h
zlib.c