The nodatacow mount option seems to have no effect when mounting a subvolume into the same filesystem.

I did some testing:

sudo mount -o compress=zstd /dev/sda /mnt -> compression enabled
sudo mount -o compress=zstd,nodatacow /dev/sda /mnt -> compression disabled
sudo mount -o nodatacow,compress=zstd /dev/sda /mnt -> compression enabled
All as I would expect, setting compress or nodatacow disables the other.

Compression gets enabled without problems when mounting a subvolume into the same filesystem: sudo mount /dev/sda /mnt; sudo mount -o subvol=@test,compress=zstd /dev/sda /mnt/test -> compression enabled sudo mount /dev/sda /mnt; sudo mount -o subvol=@/testsub,compress=zstd /dev/sda /mnt/testsub -> compression enabled

But nodatacow apparently doesn't:
sudo mount -o compress=zstd /dev/sda /mnt; sudo mount -o subvol=@test,nodatacow /dev/sda /mnt/test -> compression enabled sudo mount -o compress=zstd /dev/sda /mnt; sudo mount -o subvol=@/testsub,nodatacow /dev/sda /mnt/testsub -> compression enabled

And I don't think it's because of the compress mount option, some benchmarks I did indicate that nodatacow never gets set when mounting a subvolume into the same filesystem.

Reply via email to