linux-bl808/fs/btrfs
David Sterba 27942c9971 btrfs: fix messages after changing compression level by remount
Reported by Forza on IRC that remounting with compression options does
not reflect the change in level, or at least it does not appear to do so
according to the messages:

  mount -o compress=zstd:1 /dev/sda /mnt
  mount -o remount,compress=zstd:15 /mnt

does not print the change to the level to syslog:

  [   41.366060] BTRFS info (device vda): use zstd compression, level 1
  [   41.368254] BTRFS info (device vda): disk space caching is enabled
  [   41.390429] BTRFS info (device vda): disk space caching is enabled

What really happens is that the message is lost but the level is actualy
changed.

There's another weird output, if compression is reset to 'no':

  [   45.413776] BTRFS info (device vda): use no compression, level 4

To fix that, save the previous compression level and print the message
in that case too and use separate message for 'no' compression.

CC: stable@vger.kernel.org # 4.19+
Signed-off-by: David Sterba <dsterba@suse.com>
2020-08-10 18:58:16 +02:00
..
tests btrfs: make btrfs_set_extent_delalloc take btrfs_inode 2020-07-27 12:55:35 +02:00
acl.c
async-thread.c
async-thread.h
backref.c
backref.h
block-group.c btrfs: if we're restriping, use the target restripe profile 2020-07-27 12:55:47 +02:00
block-group.h btrfs: convert block group refcount to refcount_t 2020-07-27 12:55:42 +02:00
block-rsv.c
block-rsv.h
btrfs_inode.h btrfs: reduce contention on log trees when logging checksums 2020-07-27 12:55:45 +02:00
check-integrity.c btrfs: check-integrity: remove unnecessary failure messages during memory allocation 2020-07-27 12:55:21 +02:00
check-integrity.h
compression.c btrfs: remove fail label in check_compressed_csum 2020-07-27 12:55:42 +02:00
compression.h btrfs: make btrfs_submit_compressed_write take btrfs_inode 2020-07-27 12:55:31 +02:00
ctree.c btrfs: add little-endian optimized key helpers 2020-07-27 12:55:24 +02:00
ctree.h btrfs: don't WARN if we abort a transaction with EROFS 2020-07-27 12:55:46 +02:00
delalloc-space.c btrfs: make btrfs_delalloc_reserve_space take btrfs_inode 2020-07-27 12:55:36 +02:00
delalloc-space.h btrfs: make btrfs_delalloc_reserve_space take btrfs_inode 2020-07-27 12:55:36 +02:00
delayed-inode.c
delayed-inode.h
delayed-ref.c
delayed-ref.h
dev-replace.c
dev-replace.h
dir-item.c
discard.c
discard.h
disk-io.c btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of reserve retry-after-EDQUOT 2020-07-27 12:55:43 +02:00
disk-io.h btrfs: preallocate anon block device at first phase of snapshot creation 2020-07-27 12:55:38 +02:00
export.c
export.h
extent-io-tree.h btrfs: streamline btrfs_get_io_failure_record logic 2020-07-27 12:55:39 +02:00
extent-tree.c btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on relocation tree 2020-07-27 12:55:45 +02:00
extent_io.c btrfs: do not set the full sync flag on the inode during page release 2020-07-27 12:55:48 +02:00
extent_io.h btrfs: don't use UAPI types for fiemap callback 2020-07-27 12:55:27 +02:00
extent_map.c
extent_map.h
file-item.c btrfs: make btrfs_csum_one_bio takae btrfs_inode 2020-07-27 12:55:26 +02:00
file.c btrfs: make btrfs_check_data_free_space take btrfs_inode 2020-07-27 12:55:36 +02:00
free-space-cache.c btrfs: only search for left_info if there is no right_info in try_merge_free_space 2020-08-10 18:58:07 +02:00
free-space-cache.h btrfs: let btrfs_return_cluster_to_free_space() return void 2020-07-27 12:55:21 +02:00
free-space-tree.c
free-space-tree.h
inode-item.c
inode-map.c btrfs: make btrfs_delalloc_reserve_space take btrfs_inode 2020-07-27 12:55:36 +02:00
inode-map.h
inode.c btrfs: inode: fix NULL pointer dereference if inode doesn't need compression 2020-08-10 18:57:59 +02:00
ioctl.c btrfs: add missing check for nocow and compression inode flags 2020-07-27 12:55:44 +02:00
Kconfig
locking.c
locking.h
lzo.c
Makefile
misc.h
ordered-data.c btrfs: make btrfs_add_ordered_extent_dio take btrfs_inode 2020-07-27 12:55:34 +02:00
ordered-data.h btrfs: make btrfs_add_ordered_extent_dio take btrfs_inode 2020-07-27 12:55:34 +02:00
orphan.c
print-tree.c
print-tree.h
props.c
props.h
qgroup.c btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of reserve retry-after-EDQUOT 2020-07-27 12:55:43 +02:00
qgroup.h btrfs: qgroup: export qgroups in sysfs 2020-07-27 12:55:37 +02:00
raid56.c btrfs: raid56: remove out label in __raid56_parity_recover 2020-07-27 12:55:44 +02:00
raid56.h
rcu-string.h
reada.c
ref-verify.c btrfs: ref-verify: fix memory leak in add_block_entry 2020-07-27 12:55:43 +02:00
ref-verify.h
reflink.c btrfs: reduce contention on log trees when logging checksums 2020-07-27 12:55:45 +02:00
reflink.h
relocation.c btrfs: relocation: review the call sites which can be interrupted by signal 2020-07-27 12:55:45 +02:00
root-tree.c
scrub.c btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases 2020-07-27 12:55:46 +02:00
send.c
send.h
space-info.c btrfs: fix lockdep splat from btrfs_dump_space_info 2020-07-27 12:55:47 +02:00
space-info.h
struct-funcs.c
super.c btrfs: fix messages after changing compression level by remount 2020-08-10 18:58:16 +02:00
sysfs.c btrfs: sysfs: use NOFS for device creation 2020-07-27 12:55:46 +02:00
sysfs.h btrfs: qgroup: export qgroups in sysfs 2020-07-27 12:55:37 +02:00
transaction.c btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases 2020-07-27 12:55:46 +02:00
transaction.h btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of reserve retry-after-EDQUOT 2020-07-27 12:55:43 +02:00
tree-checker.c
tree-checker.h
tree-defrag.c btrfs: remove unused btrfs_root::defrag_trans_start 2020-07-27 12:55:28 +02:00
tree-log.c btrfs: reduce contention on log trees when logging checksums 2020-07-27 12:55:45 +02:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c
volumes.c btrfs: move the chunk_mutex in btrfs_read_chunk_tree 2020-07-27 12:55:46 +02:00
volumes.h btrfs: record btrfs_device directly in btrfs_io_bio 2020-07-27 12:55:40 +02:00
xattr.c
xattr.h
zlib.c
zstd.c