Live data from Hacker News

An implementation of the NTFS filesystem in a Rust crate

github.com

11–20 of 54 posts

Re: An implementation of the NTFS filesystem in a Rust crate

#11

Earlier quoted context omitted.

Probably prudent - would not trust any implementation except native ones in Windows that does writes.

well, you should. write support for NTFS is supported by quite a few tools, now, including the Linux Kernel.

And I've had the new linux NTFS driver corrupt files more than once.

In fact, it just corrupted the partition table of my external backup drive this year. Which was last time I trusted it for anything but read-only mounting.

Re: An implementation of the NTFS filesystem in a Rust crate

#12
post #4

Looks like it's read-only at the moment, but still pretty cool. It's dual-licensed as MIT or Apache 2.0, so it ought to be usable just about anywhere.

That's the Rust standard—Apache 2.0 for its patent license, and MIT for its GPL-2.0-only compatibility.

Re: An implementation of the NTFS filesystem in a Rust crate

#13

Question for the experts! Has NTFS changed much in... 20 years? Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...) Apple replaced one filesystem with another in just the past few years, with apparently some very advanced new features. But NTFS is just... NTFS? Does NTFS today look anything like how it looked in…

> Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...)

This sounds like evolution of options more than evolution of existing file systems

Is ext4 still not most popular for most end users? Curious how much ext4 has changed vs NTFS past... ~20 years (ext4 went stable 2008 apparently)

Re: An implementation of the NTFS filesystem in a Rust crate

#14

Earlier quoted context omitted.

well, you should. write support for NTFS is supported by quite a few tools, now, including the Linux Kernel.

And I've had the new linux NTFS driver corrupt files more than once. In fact, it just corrupted the partition table of my external backup drive this year. Which was last time I trusted it for anything but read-only mounting.

and on the flip side I have been doing r/w to NTFS from linux for yeeeeears with never an issue.

And I have had /windows/ corrupt NTFS volumes.

Personal anecdotes rock :D

Re: An implementation of the NTFS filesystem in a Rust crate

#15

Earlier quoted context omitted.

well, you should. write support for NTFS is supported by quite a few tools, now, including the Linux Kernel.

And I've had the new linux NTFS driver corrupt files more than once. In fact, it just corrupted the partition table of my external backup drive this year. Which was last time I trusted it for anything but read-only mounting.

I've used it extensively on multiple machines and have had no problems. ¯ \ _ ( ツ ) _ / ¯

Re: An implementation of the NTFS filesystem in a Rust crate

#16

Question for the experts! Has NTFS changed much in... 20 years? Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...) Apple replaced one filesystem with another in just the past few years, with apparently some very advanced new features. But NTFS is just... NTFS? Does NTFS today look anything like how it looked in…

NTFS has gained support for a few features over the years, but it wasn't meant to evolve, much. Microsoft knew what they wanted from the filesystem and they wrote it to spec very early in its life.

ReFS on Windows is where the changes are coming to. finally a 1st party filesystem which supports Copy on Write file cloning. a lot of core features of NTFS aren't supported on ReFS, so it's clearly not intended to be a replacement for NTFS.

Re: An implementation of the NTFS filesystem in a Rust crate

#17

Question for the experts! Has NTFS changed much in... 20 years? Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...) Apple replaced one filesystem with another in just the past few years, with apparently some very advanced new features. But NTFS is just... NTFS? Does NTFS today look anything like how it looked in…

There’s ReFS for windows. Don’t forget Apple was stuck with one barely functioning FS (HFS+) for decades.

Re: An implementation of the NTFS filesystem in a Rust crate

#18

Question for the experts! Has NTFS changed much in... 20 years? Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...) Apple replaced one filesystem with another in just the past few years, with apparently some very advanced new features. But NTFS is just... NTFS? Does NTFS today look anything like how it looked in…

It hasn't changed radically, but it has changed. Wikipedia actually has a nice write-up if you want the details, but support for symbolic links, transactions, and partition resizing are all things that have materially improved my life in the last ~5-10 years.

Re: An implementation of the NTFS filesystem in a Rust crate

#19
post #5

Earlier quoted context omitted.

> Looks like it's read-only at the moment, but still pretty cool. That's how Linux NTFS support started out, too. What is it about NTFS that makes writing hugely more difficult than reading?

It’s probably mostly done out of carefulness. I’d do the same if I were to write my own implementation of a file system. Bugs and mistakes in the code are already not great when implementing the read part. But if you mess up the writing well now you’re gonna cause corruption of existing data. No one likes that :) Better to stick to just reading for a long while, and weed out most of the bugs and getting an even deepe…

> I’d do the same if I were to write my own implementation of a file system.

Exactly. I have my own ext2 driver for a couple of hobby OS projects where the read side is extremely stable, but as the write side involves inode allocation, block/bitmap allocation etc. I don't turn it on on outside of testing since I know it's going to destroy the disk images until I "get it right".

Re: An implementation of the NTFS filesystem in a Rust crate

#20

Question for the experts! Has NTFS changed much in... 20 years? Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...) Apple replaced one filesystem with another in just the past few years, with apparently some very advanced new features. But NTFS is just... NTFS? Does NTFS today look anything like how it looked in…

> Linux filesystems seem to be evolving all the time (try to install any new distro today and check out how many filesystems you can pick from the dropdown...) This sounds like evolution of options more than evolution of existing file systems Is ext4 still not most popular for most end users? Curious how much ext4 has changed vs NTFS past... ~20 years (ext4 went stable 2008 apparently)

ext4 remains the default for a lot of distros and probably most end users, but other options are common as well. openSUSE and Fedora now default to btrfs, RHEL defaults to XFS.
Post reply on HN