Issue remounting from compress-force to compress
Hello,
Just faced this when trying to change a mounted FS from compress-force to just compress.
Initial state:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress-force=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)
Remounting:
# mount /mnt/p1 -o remount,compress=zstd:9
But no effect:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress-force=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)
OK, remounting to no compression:
# mount /mnt/p1 -o remount,compress-force=none
Success:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,discard=async,space_cache=v2,subvolid=5,subvol=/)
Now, I expect to enable just compress:
# mount /mnt/p1 -o remount,compress=zstd:9
But suddenly, compress-force is enabled again instead:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress-force=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)
This is unexpected and seems like a bug.
The only way to achieve what I wanted was:
# mount /mnt/p1 -o remount,compress-force=none,compress=zstd:9
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)
Kernel version is 6.8.12-2-pve (Proxmox).
Signature · 2 lines
With respect, Roman
Quoted 10 lines · Roman Mamedov
Hello,
Just faced this when trying to change a mounted FS from compress-force to just compress.
Initial state:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress-force=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)
Quoted 8 lines
Remounting:
# mount /mnt/p1 -o remount,compress=zstd:9But no effect:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress-force=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)
It turns out we had an unexpected change in semantics with kernel 6.8+ due to the migration to use fs context, as compress-force is not disabled anymore when specifying only compress.
I've sent a patch to bring back the old semantics:
Thanks.
Quoted 34 lines
OK, remounting to no compression:
# mount /mnt/p1 -o remount,compress-force=noneSuccess:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,discard=async,space_cache=v2,subvolid=5,subvol=/)Now, I expect to enable just compress:
# mount /mnt/p1 -o remount,compress=zstd:9But suddenly, compress-force is enabled again instead:
# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress-force=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)This is unexpected and seems like a bug.
The only way to achieve what I wanted was:
# mount /mnt/p1 -o remount,compress-force=none,compress=zstd:9# mount | grep btrfs /dev/mapper/wd-p1 on /mnt/p1 type btrfs (rw,relatime,compress=zstd:9,discard=async,space_cache=v2,subvolid=5,subvol=/)Kernel version is 6.8.12-2-pve (Proxmox).
--
With respect,
Roman