*Edit: I have figured out how to use BTRFS and enable what it calls “transparent file compression”, and I’m going to use that on most of my old storage devices. The only problem I’m having is that I want to use F2FS on my oldest storage device, as BTRFS takes up too much space on the device and I was told by multiple users that F2FS also supports transparent file compression, but I can’t get files to compress and I’m not getting any error messages to try and fix it. Based on what the documentation says, I’m supposed to do something like this:

sudo mkfs.f2fs -f -O extra_attr,inode_checksum,sb_checksum,compression /dev/mmcblk0p1
sudo mount -o compress_algorithm=zstd,compress_extension=* /dev/mmcblk0p1 '/home/j/mountpoint/128mb'
chattr -R +c '/home/j/mountpoint/128mb'

The device will mount like this but files aren’t compressing when added, nor are they compressed if using the last command after they’ve been moved.*

I’m rewriting the old portion for clarification:

In Windows, there’s a file/folder option called “compress to save space”. What it does is it compresses the files, as the name suggests, but leaves them accessible as though they aren’t. This doesn’t really have much of a benefit on newer storage devices but on older storage devices, in addition to saving space, it allows files to potentially read faster.

As I have some old storage devices that I want to run games from, I think this will be a great option to have if I could find something similar for Linux. I tried looking online myself but search engines are terrible and I couldn’t find anything though them. So, I decided to post about this here, to see if anyone knows of anything I could try.

  • edinbruh@feddit.it
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    3 hours ago

    That is not a good method for testing. Maybe the filesystem still requires new files to be smaller than free space. Or maybe the file could be not really compressible, for example, you won’t be able to compress random data. You also won’t compress already compressed data, like videos.

    You could write a real text file of some kB and then check the compression ratio with something like “compsize”.

    The mount command mounts the disk with the options you give to it but only once. Now, because you don’t want to manually run mount everytime you use your disk, you must set it up so it is always mounted with the options you want. Udisks2 is one of the tools for that.

    edit: apparently compsize is btrfs only. You can use “du” with and without --apparent-size and check the differenze

    • vortexal@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      3 hours ago

      I used a folder full of smaller files and it still isn’t compressing them. I’ve tried everything I can find or was told to do with f2fs but I cannot for the life of me, get files to compress. Btrfs works and files are compressing but it takes up so much space on the sd card.