There’s been some Friday night kernel drama on the Linux kernel mailing list… Linus Torvalds has expressed regrets for merging the Bcachefs file-system and an ensuing back-and-forth between the file-system maintainer.

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    arrow-up
    7
    ·
    4 months ago

    XFS is 24 years old, six years older than the first merged version of ext4. It’s the standard for enterprise Linux deployments. This isn’t some small indie filesystem like BTRFS or F2FS. It also doesn’t do any of the complicated stuff BTRFS and ZFS do to bring filesystems into the 21st century, so repairing it is much easier.

    • Riskable@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      4 months ago

      I wouldn’t say, “repairing XFS is much easier.” Yeah, fsck -y with XFS is really all you have to do 99% of the time but also you’re much more likely to get corrupted stuff when you’re in that situation compared to say, btrfs which supports snapshotting and redundancy.

      Another problem with XFS is its lack of flexibility. By that I don’t mean, “you can configure it across any number of partitions on-the-fly in any number of (extreme) ways” (like you can with btrfs and zfs). I mean it doesn’t have very many options as to how it should deal with things like inodes (e.g. tail allocation). You can increase the total amount of space allowed for inode allocation but only when you create the filesystem and even then it has a (kind of absurdly) limited number that would surprise most folks here.

      As an example, with an XFS filesystem, in order to store 2 billion symlimks (each one takes an inode) you would need 1TiB of storage just for the inodes. Contrast that with something like btrfs with max_inline set to 2048 (the default) and 2 billion symlimks will take up a little less than 1GB (assuming a simplistic setup on at least a 50GB single partition).

      Learn more about btrfs inlining: https://btrfs.readthedocs.io/en/latest/Inline-files.html