linux-stable/fs/btrfs
Liu Bo 6f519564d7 Btrfs: do not run snapshot-aware defragment on error
If something wrong happens in write endio, running snapshot-aware defragment
can end up with undefined results, maybe a crash, so we should avoid it.

In order to share similar code, this also adds a helper to free the struct for
snapshot-aware defrag.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-11-11 22:11:00 -05:00
..
tests Btrfs: add a sanity test for a vacant extent at the front of a file 2013-11-11 21:58:19 -05:00
acl.c Btrfs: fix incorrect inode acl reset 2013-11-11 22:02:51 -05:00
async-thread.c Btrfs: eliminate races in worker stopping code 2013-10-04 16:02:13 -04:00
async-thread.h Btrfs: eliminate races in worker stopping code 2013-10-04 16:02:13 -04:00
backref.c btrfs: drop unused parameter from btrfs_item_nr 2013-11-11 21:50:48 -05:00
backref.h Btrfs: allocate prelim_ref with a slab allocater 2013-09-01 08:16:27 -04:00
btrfs_inode.h Btrfs: improve inode hash function/inode lookup 2013-11-11 21:55:19 -05:00
check-integrity.c Btrfs: check_int, remove warning for mixed-mode 2013-11-11 22:04:25 -05:00
check-integrity.h
compression.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
compression.h
ctree.c Btrfs: fix btrfs_prev_leaf() previous key computation 2013-11-11 22:02:26 -05:00
ctree.h Btrfs: remove scrub_super_lock holding in btrfs_sync_log() 2013-11-11 22:10:13 -05:00
delayed-inode.c Btrfs: don't leak delayed node on path allocation failure 2013-11-11 22:01:27 -05:00
delayed-inode.h [readdir] convert btrfs 2013-06-29 12:57:00 +04:00
delayed-ref.c Btrfs: get rid of sparse warnings 2013-09-01 08:15:50 -04:00
delayed-ref.h Btrfs: handle running extent ops with skinny metadata 2013-05-17 21:40:15 -04:00
dev-replace.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
dev-replace.h
dir-item.c Btrfs: fix verification of dir_item 2013-11-11 22:10:36 -05:00
disk-io.c Btrfs: remove scrub_super_lock holding in btrfs_sync_log() 2013-11-11 22:10:13 -05:00
disk-io.h Btrfs: add a sanity test for btrfs_split_item 2013-11-11 21:51:02 -05:00
export.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
export.h
extent-tree.c Btrfs: fix the free space write out failure when there is no data space 2013-11-11 22:08:49 -05:00
extent_io.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
extent_io.h Btrfs: Simplify the logic in alloc_extent_buffer() for existing extent buffer case 2013-11-11 21:59:11 -05:00
extent_map.c
extent_map.h
file-item.c Btrfs: add an assert to btrfs_lookup_csums_range for alignment 2013-11-11 21:58:45 -05:00
file.c Btrfs: return an error from btrfs_wait_ordered_range 2013-11-11 22:07:35 -05:00
free-space-cache.c Btrfs: return an error from btrfs_wait_ordered_range 2013-11-11 22:07:35 -05:00
free-space-cache.h Btrfs: remove path arg from btrfs_truncate_free_space_cache 2013-11-11 21:51:33 -05:00
hash.h
inode-item.c btrfs: drop unused parameter from btrfs_item_nr 2013-11-11 21:50:48 -05:00
inode-map.c Btrfs: Don't allocate inode that is already in use 2013-11-11 22:02:36 -05:00
inode-map.h
inode.c Btrfs: do not run snapshot-aware defragment on error 2013-11-11 22:11:00 -05:00
ioctl.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
Kconfig Btrfs: add support for asserts 2013-09-01 08:16:32 -04:00
locking.c
locking.h
lzo.c Btrfs: return -1 when lzo compression makes data bigger 2013-09-01 07:57:19 -04:00
Makefile Btrfs: add tests for btrfs_get_extent 2013-11-11 21:57:30 -05:00
math.h
ordered-data.c Btrfs: take ordered root lock when removing ordered operations inode 2013-11-11 22:08:10 -05:00
ordered-data.h Btrfs: return an error from btrfs_wait_ordered_range 2013-11-11 22:07:35 -05:00
orphan.c
print-tree.c btrfs: drop unused parameter from btrfs_item_nr 2013-11-11 21:50:48 -05:00
print-tree.h
qgroup.c Btrfs: Remove superfluous casts from u64 to unsigned long long 2013-09-01 08:16:08 -04:00
raid56.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
raid56.h
rcu-string.h
reada.c
relocation.c Btrfs: use 'u64' rather than 'int' to get extent's generation 2013-11-11 22:10:06 -05:00
root-tree.c Btrfs: insert orphan roots into fs radix tree 2013-10-10 21:30:53 -04:00
scrub.c Btrfs: remove scrub_super_lock holding in btrfs_sync_log() 2013-11-11 22:10:13 -05:00
send.c Btrfs: stop using vfs_read in send 2013-11-11 22:07:11 -05:00
send.h
struct-funcs.c
super.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
sysfs.c
transaction.c Btrfs: fix memory leaks on transaction commit failure 2013-11-11 21:55:46 -05:00
transaction.h Btrfs: fix BUG_ON() casued by the reserved space migration 2013-11-11 21:54:28 -05:00
tree-defrag.c Btrfs: cleanup dead code of defragment 2013-11-11 21:59:45 -05:00
tree-log.c Btrfs: log recovery, don't unlink inode always on error 2013-11-11 22:10:48 -05:00
tree-log.h
ulist.c Btrfs: fix crash regarding to ulist_add_merge 2013-07-02 11:50:59 -04:00
ulist.h
uuid-tree.c Btrfs: remove unused max_key arg from btrfs_search_forward 2013-11-11 21:54:57 -05:00
volumes.c btrfs: remove fs/btrfs/compat.h 2013-11-11 22:03:19 -05:00
volumes.h Btrfs: remove scrub_super_lock holding in btrfs_sync_log() 2013-11-11 22:10:13 -05:00
xattr.c
xattr.h
zlib.c