[HN Gopher] Ntfs2btrfs does in-place conversion of NTFS filesyst...
       ___________________________________________________________________
        
       Ntfs2btrfs does in-place conversion of NTFS filesystem to the open-
       source Btrfs
        
       Author : Sami_Lehtinen
       Score  : 110 points
       Date   : 2024-11-30 20:50 UTC (2 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | johnea wrote:
       | Conversion from one bloatware filesystem to another...
        
         | snapplebobapple wrote:
         | btrfs isn't that terrible for desktop use right now. I mean, I
         | wouldn't personally use it, I lost data on it a couple times
         | four plus years ago, but it's come a long way since then. (my
         | preference is keep everything I care about on a fileserver like
         | truenas running zfs with proper snapshotting, replication and
         | backup and live dangerously on the desktop testing out
         | bcachefs, but I recognize not everyone can live my life and
         | some people just want a laptop with a reasonable filesystem
         | resistant to bit rot.
        
           | jeroenhd wrote:
           | I recently found out Fedora defaults to btrfs with zstd
           | compression enabled by default. Seems to work well enough.
           | 
           | On my personal devices I prefer BTRFS' snapshotting ability
           | over the risk of having to restore from backup at some point.
        
           | arjvik wrote:
           | How is bcachefs for personal use these days?
        
             | chasil wrote:
             | The political situation for bcachefs is far from good, with
             | pressure from Linus and a CoC violation.
             | 
             | The net effect will likely delay stability.
             | 
             | https://www.phoronix.com/news/Bcachefs-Fixes-Two-Choices
             | 
             | https://www.phoronix.com/news/Linux-CoC-Bcachefs-6.13
        
             | biorach wrote:
             | I believe the main bcachefs mantainer does not advocate
             | production use yet
        
         | fragmede wrote:
         | honestly I think btrfs isn't bloated enough for today's VM-
         | enabled world. ext4 and xfs and hell, exfat haven't gone
         | anywhere, and if those fulfill your needs, just use those. but
         | if you need more advanced features that btrfs or zfs bring,
         | those added features are quite welcome. imo, btrfs could use
         | the benefits of being a cluster filesystem on top of everything
         | it already does because having a VM be able to access a disk
         | that is currently mounted by the host or another VM would
         | useful. imagine if the disk exported to the VM could be mounted
         | by another VM, either locally or remote simultaneously.
         | arguably ceph fills this need, but having a btrfs-native
         | solution for that would be useful.
        
           | ChocolateGod wrote:
           | Running VMs (and database servers) on btrfs performs really
           | bad so you have to disable CoW for them.
           | 
           | Otherwise you'll get situations where your 100GB VM image
           | will use over a TB of physical disk space.
           | 
           | It's a shame really that this still isn't solved.
        
           | irusensei wrote:
           | Checksum self healing on ZFS and BTRFS saved my data from
           | janky custom NAS setups more times that I can count.
           | Compression is also nice but the thing I like most is the
           | possibility of creating many partition-like sub volumes
           | without needing to allocate or manage space.
        
         | do_not_redeem wrote:
         | What filesystem would you suggest that has data checksums,
         | efficient snapshots, and doesn't require compiling an out of
         | tree kernel module?
        
           | freeone3000 wrote:
           | zfs is licensed _too freely_ to be in-tree, but it's still an
           | excellent choice.
        
             | do_not_redeem wrote:
             | Yeah the situation is unfortunate. There's a decent chance
             | I'd be using ZFS if not for the licensing issues, but as a
             | practical matter I'm getting too old to be futzing with
             | kernel modules on my daily driver.
        
               | telgareith wrote:
               | DKMS solved these "licensing issues." Dell is mum on
               | official motivation- but it provides a licensing
               | demarcation point, and a way for kernels to update
               | without breaking modules- so it's easier for companies to
               | develop for Linux.
               | 
               | _Windows Drivers work the same way and nobody huffs and
               | puffs about that_
               | 
               | I'd love to have an intelligent discussion on how one
               | person's opinion on licensing issues stacks up against
               | the legal teams of half the fortune 50's. Licensing
               | doesn't work on "well, I didn't mean it THAT way."
        
             | riffraff wrote:
             | I may be wrong but I don't think it's just "excessive
             | freeness", the CDDL also has restrictions the GPL does not
             | have (stuff about patents), it's mutual incompatibility.
             | 
             | Apache v2 and GPLv3 were made explicitly compatible while
             | providing different kinds of freedom.
        
             | chasil wrote:
             | In the _Linux_ tree.
             | 
             | In Windows, Satya would need to write Larry a check. It
             | would probably be hefty.
             | 
             | Edit: there was a time that this was planned for MacOS.
             | 
             | https://arstechnica.com/gadgets/2016/06/zfs-the-other-new-
             | ap...
        
           | JackSlateur wrote:
           | Xfs ? Bcachefs ? Whatever you like because those features may
           | not be implemented at the filesystem layer ?
        
             | do_not_redeem wrote:
             | xfs doesn't have data checksumming.
             | 
             | > Note: Unlike Btrfs and ZFS, the CRC32 checksum only
             | applies to the metadata and not actual data.
             | 
             | https://wiki.archlinux.org/title/XFS
             | 
             | ---
             | 
             | bcachefs isn't stable enough to daily drive.
             | 
             | > Nobody sane uses bcachefs and expects it to be stable
             | 
             | --Linus Torvalds (2024)
             | 
             | https://lore.kernel.org/lkml/CAHk-%3Dwj1Oo9-g-yuwWuHQZU8v%3
             | D...
        
               | JackSlateur wrote:
               | (read my comment again)
        
           | toast0 wrote:
           | Zfs is in tree if you use a different kernel. :p
        
           | chasil wrote:
           | There is an OpenZFS port to Windows, but I'm not sure how to
           | find it from here:
           | 
           | https://github.com/openzfsonwindows/ZFSin
           | 
           | There is also Microsoft's own ReFS:
           | 
           | https://en.m.wikipedia.org/wiki/ReFS
        
       | the_hoser wrote:
       | The degree of hold-my-beer here is off the charts.
        
         | koverstreet wrote:
         | It's not quite as dangerous as you'd think.
         | 
         | The standard technique is to reserve a big file on the old
         | filesystem for the new filesystem metadata, and then walk all
         | files on the old filesystem and use fiemap() to create new
         | extents that point to the existing data - only writing to the
         | space you reserved.
         | 
         | You only overwrite the superblock at the very end, and you can
         | verify that the old and new filesystems have the same contents
         | before you do.
        
           | jeroenhd wrote:
           | I believe that is also the method [btrfs-
           | convert](https://btrfs.readthedocs.io/en/latest/Convert.html)
           | uses. A cool trick that tool uses is to keep the ext4
           | structures on disk (as a subvolume), which allows reverting
           | to ext4 if the conversion didn't go as planned (as long as
           | you don't do anything to mess with the ext4 extents, such as
           | defragmenting or balancing the filesystem, and you can't
           | revert after deleting the subvolume of course).
        
         | boricj wrote:
         | A couple of years ago it was more like juggling chainsaws:
         | https://github.com/maharmstone/ntfs2btrfs/issues/9
         | 
         | I tracked down a couple of nasty bugs at that time playing
         | around with it, hopefully it's more stable now.
        
         | chasil wrote:
         | Note this is not the Linux btrfs:
         | 
         | "WinBtrfs is a Windows driver for the next-generation Linux
         | filesystem Btrfs. A reimplementation from scratch, it contains
         | no code from the Linux kernel, and should work on any version
         | from Windows XP onwards. It is also included as part of the
         | free operating system ReactOS."
         | 
         | This is from the ntfs2btrfs maintainer's page.
         | 
         | https://github.com/maharmstone/btrfs
        
           | chungy wrote:
           | It's the same file system, with two different drivers for two
           | different operating systems.
        
             | chasil wrote:
             | The metadata is adjusted for Windows in a way that is
             | foreign to Linux.
             | 
             | Do Linux NTFS drivers deal with alternate streams?
             | 
             | "Getting and setting of Access Control Lists (ACLs), using
             | the xattr security.NTACL"
             | 
             | "Alternate Data Streams (e.g. :Zone.Identifier is stored as
             | the xattr user.Zone.Identifier)"
        
               | biorach wrote:
               | Not sure what point you're making here. WinBtrfs is a
               | driver for the same btrfs filesystem that Linux uses.
               | It's most common use case is reading the Linux partitions
               | in Windows on machines that dual-boot both operating
               | systems
        
           | cwillu wrote:
           | Yes it is?
        
         | MisterTea wrote:
         | As someone who has witnessed Windows explode twice from in-
         | place upgrades I would just buy a new disk or computer and
         | start over. I get that this is different but the time that went
         | into that data is worth way more than a new disk. It's just not
         | worth the risk IMO. Maybe if you don't care about the data or
         | have good backups and wish to help shake bugs out - go for it I
         | guess.
        
       | Dwedit wrote:
       | I would be very surprised if it supported files that are under
       | LZX compression.
       | 
       | (Not to be confused with Windows 2000-era file compression, this
       | is something you need to activate with "compact.exe /C /EXE:LZX
       | (filename)")
        
       ___________________________________________________________________
       (page generated 2024-11-30 23:00 UTC)