alistair23-linux/fs/btrfs
Misono Tomohiro 1e7e1f9e3a btrfs: replace: Reset on-disk dev stats value after replace
on-disk devs stats value is updated in btrfs_run_dev_stats(),
which is called during commit transaction, if device->dev_stats_ccnt
is not zero.

Since current replace operation does not touch dev_stats_ccnt,
on-disk dev stats value is not updated. Therefore "btrfs device stats"
may return old device's value after umount/mount
(Example: See "btrfs ins dump-t -t DEV $DEV" after btrfs/100 finish).

Fix this by just incrementing dev_stats_ccnt in
btrfs_dev_replace_finishing() when replace is succeeded and this will
update the values.

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2018-08-06 13:13:01 +02:00
..
tests btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent 2018-08-06 13:12:52 +02:00
acl.c btrfs: remove unnecessary curly braces in btrfs_get_acl 2018-08-06 13:12:41 +02:00
async-thread.c
async-thread.h
backref.c btrfs: backref: Use ERR_CAST to return error code 2018-08-06 13:13:01 +02:00
backref.h
btrfs_inode.h btrfs: use timespec64 for i_otime 2018-08-06 13:12:39 +02:00
check-integrity.c btrfs: open-code bio_set_op_attrs 2018-08-06 13:12:44 +02:00
check-integrity.h
compression.c btrfs: drop extent_io_ops::merge_bio_hook callback 2018-08-06 13:12:56 +02:00
compression.h btrfs: compression: Add linux/sizes.h for compression.h 2018-05-29 18:13:00 +02:00
ctree.c btrfs: Remove V0 extent support 2018-08-06 13:12:41 +02:00
ctree.h btrfs: extent-tree: Remove unused __btrfs_free_block_rsv 2018-08-06 13:13:01 +02:00
dedupe.h
delayed-inode.c btrfs: Remove fs_info from btrfs_delete_delayed_dir_index 2018-08-06 13:13:00 +02:00
delayed-inode.h btrfs: Remove fs_info from btrfs_delete_delayed_dir_index 2018-08-06 13:13:00 +02:00
delayed-ref.c btrfs: Streamline memory allocation failure handling in btrfs_add_delayed_tree_ref 2018-08-06 13:12:39 +02:00
delayed-ref.h btrfs: Remove fs_info from btrfs_add_delayed_data_ref 2018-08-06 13:12:34 +02:00
dev-replace.c btrfs: replace: Reset on-disk dev stats value after replace 2018-08-06 13:13:01 +02:00
dev-replace.h
dir-item.c btrfs: Remove fs_info from btrfs_insert_delayed_dir_index 2018-08-06 13:13:00 +02:00
disk-io.c btrfs: merge free_fs_root helpers 2018-08-06 13:12:59 +02:00
disk-io.h btrfs: unify end_io callbacks of async_submit_bio 2018-08-06 13:12:55 +02:00
export.c
export.h
extent-tree.c btrfs: extent-tree: Remove unused __btrfs_free_block_rsv 2018-08-06 13:13:01 +02:00
extent_io.c btrfs: drop extent_io_ops::set_range_writeback callback 2018-08-06 13:12:56 +02:00
extent_io.h btrfs: drop extent_io_ops::set_range_writeback callback 2018-08-06 13:12:56 +02:00
extent_map.c
extent_map.h
file-item.c btrfs: simplify pointer chasing of local fs_info variables 2018-08-06 13:12:43 +02:00
file.c btrfs: prune unused includes 2018-08-06 13:12:43 +02:00
free-space-cache.c btrfs: use copy_page for copying pages instead of memcpy 2018-08-06 13:12:43 +02:00
free-space-cache.h
free-space-tree.c btrfs: Remove fs_info from btrfs_del_root 2018-08-06 13:13:00 +02:00
free-space-tree.h btrfs: Remove fs_info argument from add_to_free_space_tree 2018-05-28 18:07:36 +02:00
inode-item.c
inode-map.c btrfs: prune unused includes 2018-08-06 13:12:43 +02:00
inode-map.h
inode.c btrfs: Remove redundant btrfs_release_path from btrfs_unlink_subvol 2018-08-06 13:13:01 +02:00
ioctl.c btrfs: Remove fs_info from btrfs_add_root_ref 2018-08-06 13:13:00 +02:00
Kconfig
locking.c btrfs: replace waitqueue_actvie with cond_wake_up 2018-05-28 18:23:09 +02:00
locking.h
lzo.c btrfs: lzo: Harden inline lzo compressed extent decompression 2018-05-30 16:46:43 +02:00
Makefile
math.h
ordered-data.c btrfs: prune unused includes 2018-08-06 13:12:43 +02:00
ordered-data.h btrfs: remove remaing full_sync logic from btrfs_sync_file 2018-08-06 13:12:31 +02:00
orphan.c
print-tree.c btrfs: annotate unlikely branches after V0 extent type removal 2018-08-06 13:12:41 +02:00
print-tree.h
props.c
props.h
qgroup.c btrfs: Remove fs_info from btrfs_del_root 2018-08-06 13:13:00 +02:00
qgroup.h btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit 2018-08-06 13:12:53 +02:00
raid56.c btrfs: raid56: catch errors from full_stripe_write 2018-08-06 13:12:45 +02:00
raid56.h
rcu-string.h
reada.c btrfs: prune unused includes 2018-08-06 13:12:43 +02:00
ref-verify.c
ref-verify.h
relocation.c btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree 2018-08-06 13:12:52 +02:00
root-tree.c btrfs: Remove fs_info from btrfs_add_root_ref 2018-08-06 13:13:00 +02:00
scrub.c btrfs: scrub: cleanup the remaining nodatasum fixup code 2018-08-06 13:12:53 +02:00
send.c Btrfs: fix send failure when root has deleted files still open 2018-08-06 13:12:59 +02:00
send.h
struct-funcs.c btrfs: prune unused includes 2018-08-06 13:12:43 +02:00
super.c Btrfs: fix btrfs_write_inode vs delayed iput deadlock 2018-08-06 13:12:58 +02:00
sysfs.c btrfs: prune unused includes 2018-08-06 13:12:43 +02:00
sysfs.h btrfs: sysfs: Use enum/define value for feature array definitions 2018-05-28 18:23:39 +02:00
transaction.c btrfs: Remove fs_info from btrfs_add_root_ref 2018-08-06 13:13:00 +02:00
transaction.h btrfs: replace get_seconds with new 64bit time API 2018-08-06 13:12:29 +02:00
tree-checker.c btrfs: tree-checker: Detect invalid and empty essential trees 2018-08-06 13:12:42 +02:00
tree-checker.h
tree-defrag.c
tree-log.c Btrfs: fix mount failure after fsync due to hard link recreation 2018-08-06 13:12:59 +02:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c btrfs: Remove fs_info argument from btrfs_uuid_tree_rem 2018-05-30 16:46:53 +02:00
volumes.c btrfs: Remove fs_info from btrfs_finish_chunk_alloc 2018-08-06 13:12:58 +02:00
volumes.h btrfs: Remove fs_info from btrfs_finish_chunk_alloc 2018-08-06 13:12:58 +02:00
xattr.c
xattr.h
zlib.c
zstd.c