Thanks for the nudge
Thanks for the nudge
Posted Feb 20, 2025 21:44 UTC (Thu) by koverstreet (✭ supporter ✭, #4296)Parent article: Filesystem support for block sizes larger than the page size
bcachefs now has it in for-next, so it should land in 6.15:
https://evilpiepirate.org/git/bcachefs.git/commit/?h=for-...
Posted Feb 21, 2025 15:16 UTC (Fri)
by DemiMarie (subscriber, #164188)
[Link] (11 responses)
Posted Feb 21, 2025 18:10 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link]
The problem is not in the filesystem itself, where transactions are reasonably easy, but in the VFS layer and the page cache. There's no easy way to impose isolation between parts of the page cache, and rollbacks are even more tricky.
Posted Feb 21, 2025 20:05 UTC (Fri)
by koverstreet (✭ supporter ✭, #4296)
[Link] (9 responses)
Unfamiliar with NTFS style transactions.
Posted Feb 22, 2025 22:41 UTC (Sat)
by NYKevin (subscriber, #129325)
[Link] (8 responses)
[1]: https://learn.microsoft.com/en-us/windows/win32/fileio/de...
Posted Feb 22, 2025 23:23 UTC (Sat)
by koverstreet (✭ supporter ✭, #4296)
[Link] (6 responses)
Yeah, I tend to agree with Microsoft :) I'm not aware of applications that would benefit, but if you do know of some please let me know.
I'm more interested in optimizations for fsync overhead.
Posted Feb 22, 2025 23:45 UTC (Sat)
by intelfx (subscriber, #130118)
[Link] (1 responses)
Package managers? Text editors? Basically anything that currently has to do the fsync+rename+fsync dance?
Now, I'm not saying that someone should get on coding userspace transactions yesterday™, but at a glance, there are definitely uses for that.
Posted Feb 27, 2025 10:30 UTC (Thu)
by koverstreet (✭ supporter ✭, #4296)
[Link]
That is, you get ordering, not persistence, which is exactly what applications want in this situation.
Posted Feb 23, 2025 9:37 UTC (Sun)
by Wol (subscriber, #4433)
[Link]
I would want to update part of a file (maybe two or three blocks, across a several-meg (or more) file) and the ability to rewrite just the blocks of interest, then flush a new inode or whatever, changing just those block pointers, would be wonderful.
Maybe we already have that. Maybe it's too complicated (as in multiple people trying to update the same file at the same time ...)
Cheers,
Posted Feb 24, 2025 18:52 UTC (Mon)
by tim-day-387 (subscriber, #171751)
[Link] (2 responses)
Posted Feb 24, 2025 21:37 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
It looks like transactions in Lustre are more like an atomic group of operations, rather than something long-lived? I.e. you can't start a transaction, spend 2 hours doing something with it, and then commit it?
Posted Feb 25, 2025 16:49 UTC (Tue)
by tim-day-387 (subscriber, #171751)
[Link]
[1] https://git.whamcloud.com/?p=fs/lustre-release.git;a=blob;...
Posted Feb 23, 2025 1:45 UTC (Sun)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Except this never happened :) I wrote an application that actually used distributed transactions with NTFS and SQL Server, for video file management from CCTV cameras, some time around 2008.
There were tons of corner cases that didn't work quite right. For example, if you created a folder and a file within that folder, then nobody else could create files in that folder until the transaction commits. Because the folder had to be deleted during the rollback.
And this at least made some sense within Windows, as it's a very lock-heavy system. It will make much less sense in a Linux FS.
bcachefs
bcachefs
bcachefs
bcachefs
bcachefs
bcachefs
bcachefs
bcachefs
Wol
bcachefs
bcachefs
bcachefs
bcachefs
