• AggressivelyPassive@feddit.de
    link
    fedilink
    arrow-up
    20
    arrow-down
    1
    ·
    1 year ago

    I only read the wiki article and honestly, I can’t tell what makes that different from other “advanced” FSs like BTRFS and ZFS.

    Could someone get me up to speed here?

    • Spore@lemmy.ml
      link
      fedilink
      arrow-up
      32
      ·
      edit-2
      1 year ago

      Compared to btrfs it’s claimed to be faster and having working RAID support. Its unique feature is using a fast device as cache to speed up access to slower, larger disks, I think.

      • trougnouf@lemmy.worldOP
        link
        fedilink
        arrow-up
        14
        ·
        edit-2
        1 year ago

        Yes. The intelligent multi-device-type feature is a huge improvement for any workload that needs more space than what an SSD can affordably provide, even moreso with the reliability of eg RAID1.

        Before that I had to use BTRFS (RAID1) on bcache (not fs) devices, but half of the cache space was being wasted on the redundant copies because the two systems operate independently.

        • To explain in case someone doesn’t know what this means, it’s something BTRFS doesn’t have (and AFAIK isn’t even on the roadmap). It means you could have, say, an SSD and a more reliable HDD RAIDed such that every stripe on the HDD counts as multiple writes; and you might set that system up so that the SSD is read with priority, and the HDD is written in the background, so that - even though you have a slow drive in the RAID, throughput happens at the faster SSD speeds.

          The average user probably won’t use this much, but there are all sorts of ways this could be leveraged, by companies, self-hosters, smart OS installation scripts, even removable drive mounters, like udiskie.

      • intrepid@lemmy.ca
        link
        fedilink
        arrow-up
        7
        ·
        1 year ago

        Compared to btrfs, it has native encryption too - though it’s said to be unaudited at the moment. Btrfs needs dmcrypt for encryption support.

        • Tiuku@sopuli.xyz
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          What are the actual differences between native encryption and dmcrypt? Like: Can it be booted? Does it leak more information about the fs? Is it faster?

          • intrepid@lemmy.ca
            link
            fedilink
            arrow-up
            4
            ·
            edit-2
            1 year ago

            Native encryption is when the filesystem driver does the decryption in addition to the regular decoding job. Dmcrypt is where encryption is done by a separate component that’s part of the kernel. Dmcrypt decrypts the raw block device (partition) and creates an unencrypted virtual block device (usually in /dev/mapper/). The filesystem driver then decodes this virtual device to give the final data access. It’s like having a filesystem within a filesystem.

            Regular bootloaders like Grub can’t decrypt anything. So the /boot device is usually on a separate unencrypted partition. You need the initramfs to be able to decrypt and decode the partition. That’s not very complicated - most users don’t even need to deal with it.

            Dmcrypt is arguably more secure than native encryption, since you won’t know the filesystem type until you decrypt the partition first. On the other hand, native encryption is likely to be faster and more flexible for complex filesystems like ZFS, Btrfs and BCachefs.

    • ikidd@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Compared to ZFS, it’s a sideways movement except for being in the kernel. ZFS has a lot more enterprise level features and an excellent track record. Its used widely for some pretty big installations, and still can be used by the homelabber quite nicely. Things like fs send and native encryption are big.

      Compared to BTRFS, well, it’s definitely an improvement in many areas for a driver that’s in the kernel.