Re:Linux's SystemV Filesystem Support Being Orphaned
by rbanffy on Thursday February 16, 2023 @07:55AM
(#34818056)
From an interoperability and preservation perspective, would it be viable to keep it, provided there is a comprehensive set of tests to make sure it remains safe to use?
Re:Linux's SystemV Filesystem Support Being Orphaned
by skissane on Friday February 17, 2023 @07:11AM
(#34833713)
Maybe one of these days all filesystems will be moved to FUSE, and Linux will have evolved from a monolithic kernel into a microkernel
Yes, yes, FUSE performance is nothing to write home about – but some people seem to think that io_uring might solve that. L4 is evidence that, in principle, the right microkernel design can perform about as well as monolithic kernels can
Re:Linux's SystemV Filesystem Support Being Orphaned
by pjmlp on Friday February 17, 2023 @07:25AM
(#34833819)
Ironically with cloud workloads it already kind of is, specially when it doesn't run bare metal, and has a type 1 hypervisor underneath it.
Or for container based distributions where it is basically there to provide the minimal set of services to run containers, and any other kernel would do, it is only a matter of convenience to ping back on the Linux kernel.
The monolithic kernel folks just haven't noticed it.
Re:Linux's SystemV Filesystem Support Being Orphaned
by noobermin on Friday February 17, 2023 @10:31AM
(#34835760)
>The monolithic kernel folks just haven't noticed it.
I know may be by sheer number of users most people use them in the cloud or for development but some of us do actually use linux on our everyday machines.
Re:Linux's SystemV Filesystem Support Being Orphaned
by zamalek on Saturday February 18, 2023 @01:36PM
(#34849640)
It's explicit, just like all the other mapping/mounting options[1], and containers aren't exclusively for secure isolation anyway. Many examples exist where security isn't desirable, such as the afformentioned toolbox/distrobox.
Re:Linux's SystemV Filesystem Support Being Orphaned
by msla on Friday February 17, 2023 @12:10PM
(#34837320)
Hypervisors and microkernels are meaningfully different, both in terms of history and technology: Microkernels implement one OS by running different userspace components on a minimal kernel, whereas hypervisors run multiple OSes, each with their own kernel, on a minimal hardware multiplexer which ideally provides no abstractions, as opposed to a kernel, which provides many abstractions. Conflating them is both historically wrong and confusing.
Re:Linux's SystemV Filesystem Support Being Orphaned
by monocasa on Sunday February 19, 2023 @04:31AM
(#34855916)
> Ironically with cloud workloads it already kind of is, specially when it doesn't run bare metal, and has a type 1 hypervisor underneath it.
AWS overwhelmingly uses Linux/KVM, not any type 1 hypervisor. There's a few leftover Xen systems, but those are legacy; you get KVM if you provision a new instance.
Re:Linux's SystemV Filesystem Support Being Orphaned
by unmole on Friday February 17, 2023 @05:55AM
(#34833184)
> For now this file-system support is staying put in the kernel -- albeit stale -- but without someone willing to maintain it runs the risk of further code rot and removal in the future.
Re:Linux's SystemV Filesystem Support Being Orphaned
by rbanffy on Friday February 17, 2023 @07:03AM
(#34833650)
Eventually it'll start breaking builds and failing tests. Some code cleanup can be done as a last step before offloading it to another project that focuses on preserving software like this rather than providing a nice OS for usable computers.
Re:Linux's SystemV Filesystem Support Being Orphaned
by mrweasel on Friday February 17, 2023 @07:08AM
(#34833696)
For something like SystemV filesystem support to be truly useful, won't we need a way to format drives using the original implementations?
If we just create the filesystem using the Linux driver, and validate it using the same driver, then what is achieved exactly? For preservation we'd still need access to Xenix systems and a drive of some sort that can be moved between the old system and a more modern computer.
I suppose disk images could be used, but that still seems like only a partial solution.
Re:Linux's SystemV Filesystem Support Being Orphaned
by bryanlarsen on Friday February 17, 2023 @10:11AM
(#34835530)
I highly doubt you're going to be running a modern Linux on any hardware connected to a SysV filesystem. You'll want to use an older Linux that can run on 386's with 8MB of RAM, or similar vintage. And those older Linux's aren't going away.
Re:Linux's SystemV Filesystem Support Being Orphaned
by dsr_ on Friday February 17, 2023 @05:41AM
(#34833095)
FWIW, I've been running Linux since 1993 or 94, and have never felt a need for this filesystem. Compatibility with other UNIX systems always meant FTP or NFS and then application support for whatever file formats were in use.
Re:Linux's SystemV Filesystem Support Being Orphaned
by rbanffy on Friday February 17, 2023 @07:01AM
(#34833638)
I understand it'd be more important early on (as in "1990's"), but things like NFS abstracted away the underlying filesystem (at least where the machine that has the disk is alive). I mentioned the historical preservation aspect, and, following a comment, I'd say it belongs more under FUSE than inside the mainline kernel.
Re:Linux's SystemV Filesystem Support Being Orphaned
by guenthert on Friday February 17, 2023 @01:51PM
(#34838724)
Not sure what you might mean by 'crap out'. If you have soft-mounted a remote export and the network goes away, then your applications experience i/o errors which they either handle one way or another or not, which yields silent data corruption, but you have been warned about that. If you have hard-mount'ed an remote export and the network connection to that server goes dark, then any access to files residing on that will stall ('hang') until the network issue is resolved.
What exactly do you want the client to do, when it relies on remote resources and the network isn't reliable? This fortunately is these days much less a problem than in the days of cheapernet (10BASE2).
Re:Linux's SystemV Filesystem Support Being Orphaned
by kasabali on Saturday February 18, 2023 @05:10AM
(#34845652)
> unlike, i imagine, any FUSE driver
FUSE drivers aren't exempt from hanging syscalls, I've experienced them even with local mounts let alone network ones. I don't know why people keep repeating this.
Re:Linux's SystemV Filesystem Support Being Orphaned
by kjs3 on Friday February 17, 2023 @09:27AM
(#34835009)
I used it all the time in the 90s and early 2000s to mount disk created on System V based systems, most notably SCO Unix, which was very popular at the time. Links were slow, NFS was sorta unreliable and had limitations, and FTP doesn't preserve filesystem attributes among other issues, and some use cases just require the actual filesystem, so it was often easier just to move/send a physical disk. I think I've even used it in the last 5 years to do some data recovery on an old SVR4 system for a friend. I won't be sad if it goes away, tho...these days I'd probably just image the disk and mount it on a VM running SCO or older Linux or some such. Time marches on...
Re:Linux's SystemV Filesystem Support Being Orphaned
by Brian_K_White on Friday February 17, 2023 @10:44AM
(#34835930)
Same. I used it periodically to recover data from expired hardware. Kids today don't have any idea that you couldn't just take a drive from an installed sco system and just boot it up on any other motherboard and hard drive controller. (well, there are wizard incantations that you won't know and won't be able to figure out in time) So couldn't boot the old system on the old dead hardware or on new hardware, couldn't buy a new copy of the old hardware... but you could mount the disk and get everything that matters.
A fuse implementation would be good enough today though. You're not doing actual production work on htfs today no matter how special the circumstances.
...and did anyone ever automate parsing the divvy partition table?
Re:Linux's SystemV Filesystem Support Being Orphaned
by kjs3 on Friday February 17, 2023 @02:22PM
(#34839071)
You're not doing actual production work on htfs today no matter how special the circumstances.
Someone is, apparently. Some shop called Xinuos apparently bought part of the corpse (the not lawsuit obsessed, not fraud committing part, presumably) and is still selling SCO OpenServer and Unixware. That's some serious dead-ender computing. But hey...people still run OS/2 in production.
Divvy...haven't thought about that in not long enough.
Re:Linux's SystemV Filesystem Support Being Orphaned
by chasil on Friday February 17, 2023 @01:08PM
(#34838147)
There are many distributions based on long-term stable kernels that will have this driver. RedHat 8 and friends are supported until 2029 on a v4 kernel.
In the (far) future, just use a past distro to see them. Removal now wipes functionality from the market very, very slowly.
Re:Linux's SystemV Filesystem Support Being Orphaned
by skissane on Friday February 17, 2023 @07:09AM
(#34833700)
I remember using the Minix filesystem on floppies. ext{,2} was a bit too heavyweight for a floppy. And UMSDOS on my MS-DOS6.22/Wfw3.11 FAT16 partition. And HPFS so I could mount my OS/2 2.0 partition (EMX on the Hobbes OS/2 CD-ROM was my gateway drug to Linux.)
xiafs sounded intriguing, but I never actually used it.
Re:Linux's SystemV Filesystem Support Being Orphaned
by jasongill on Friday February 17, 2023 @07:05AM
(#34833665)
Just to prevent inevitable confusion, SystemV filesystem is different than SystemV init which you may be thinking of. SysV init isn't part of the kernel and while it's been replaced with systemd in many distributions, it's not impacted by this change.
Unix has a bigger range of IPC mechanisms than i think most people realise. Everyone knows about internet sockets and pipes. Most people know about shared memory, named pipes, and unix domain stream sockets. But how many people know about unix domain datagram sockets, or POSIX message queues?
Re:Linux's SystemV Filesystem Support Being Orphaned
by xyzzyz on Friday February 17, 2023 @10:32AM
(#34835762)
In a university class, we had an assignment that asked us to write a program that would communicate with its copies over POSIX message queues. I remember grepping through the source of all the software I had on my Gentoo installation, and couldn’t find a single one that had any sort of usage or support for POSIX message queues. Does anyone know of even a single app that uses them?
Re:Linux's SystemV Filesystem Support Being Orphaned
by dfox on Friday February 17, 2023 @01:00PM
(#34838043)
There are two things: SysV IPC and POSIX IPC, both of which have message queues. In the SysV case this feature probably made sense because it was designed at a time when BSD sockets were not yet the universaly accepted API. POSIX equivalent probably exists mostly for completeness.
One might say that the whole of POSIX IPC is simply SysV IPC with sane and "unix-like" API (ie. names instead of "IPC keys").
One of the problems with POSIX IPC is that you cannot really use it if you want to be portable, because on BSD and derived systems the implementation is best described as also existing only for completeness.
Re:Linux's SystemV Filesystem Support Being Orphaned
by mmcgaha on Friday February 17, 2023 @02:02PM
(#34838855)
I don't know of anything other than one I wrote back in the late 2000s that let me coordinate a web service with process pool of ERP instances. When I wrote it I remember thinking that ftok could have real issues on a large filesystem. I never ran into any problems so I sort of put the issue out of my mind.
Re:Linux's SystemV Filesystem Support Being Orphaned
by jmclnx on Friday February 17, 2023 @09:30AM
(#34835045)
Too bad, I had a use for this and will be sad to see it go. I used this file system many times to copy data from diskettes created and formatted for CoherentOS. Will I need it in the future ? If I can find a nice ISA 486 maybe :)
Re:Linux's SystemV Filesystem Support Being Orphaned
by ajross on Friday February 17, 2023 @10:30AM
(#34835737)
Needing a utility to manage ~2MB of data for transport via legacy storage devices isn't the same thing as "I need a kernel filesystem driver", though.
A python wrapper for simple formats like this around a block interface (fuse mount, etc...) is a few afternoons of work for someone. I bet anything someone's already written this.
Re:Linux's SystemV Filesystem Support Being Orphaned
by userbinator on Friday February 17, 2023 @09:36AM
(#34835108)
Something this old and unchanged should be considered done and perhaps even bug-free. Unfortunately the state of software seems to be pursuing constant change instead of stability.
Re:Linux's SystemV Filesystem Support Being Orphaned
by woodruffw on Friday February 17, 2023 @09:39AM
(#34835146)
“Old and unchanged” has historically meant relatively little in Linux[1], in part due to a lack of a stable API/ABI. These components are very possibly more buggy than those under continuing development.
Re:Linux's SystemV Filesystem Support Being Orphaned
by lutoma on Friday February 17, 2023 @09:45AM
(#34835209)
The filesystem code itself might be done, but the internal Linux APIs that code interacts with are not and change over time. And every time those APIs are changed, the SysV fs code might also have to be updated and tested, except apparently you can't even properly test it anymore.
That's a lot of work for something pretty much nobody uses. And in the end the SysV FS support might not even work anymore because of oversights during the API updates.
Re:Linux's SystemV Filesystem Support Being Orphaned
by throwanem on Friday February 17, 2023 @10:33AM
(#34835777)
And it's not as if older versions of the kernel cease to exist when a new one lands, too. Worst case, it'll always be there in source control, just a checkout and a build away.
Re:Linux's SystemV Filesystem Support Being Orphaned
by rbanffy on Friday February 17, 2023 @12:43PM
(#34837778)
When you test a file system are you testing it via the libc APIs, creating, deleting, checking filesystem objects and so on? Or is it done at a lower level API (that I’d hope is the same across filesystems, different features excepted)
Re:Linux's SystemV Filesystem Support Being Orphaned
by dezgeg on Friday February 17, 2023 @01:45PM
(#34838653)
For filesystems the former. Having test code running in kernel space is relatively uncommon, though some kernel subsystems do that.
"can't even properly test it anymore" almost certainly means not that it is impossible for the maintainer, but more like they have better things to spend their time on.
Re:Linux's SystemV Filesystem Support Being Orphaned
by noobermin on Friday February 17, 2023 @10:29AM
(#34835722)
May be a good in between is somehow hosting these as separate drivers that can be modprobed into modern kernels, and removing them from the normal linux kernel tree. Then, if someone somewhere wants to develop them, or if they are really "done" and "bug-free" then people who want them can still use them while not I guess making maintainers feel upset.
Re:Linux's SystemV Filesystem Support Being Orphaned
by steponlego on Friday February 17, 2023 @02:57PM
(#34839646)
Linux foundation has BILLIONS of dollars and hundreds of global companies supporting it. You're telling me there's no way they can even see if they can mount a DISK or even DISK IMAGE in a specific format? I simply don't buy it.
I could buy "It's a waste of time, nobody's using the code, we are pruning legacy code for the Rust rewrite, etc." But not that it's impossible to test. That doesn't seem truthful.
The tests would certainly help that migration.
Yes, yes, FUSE performance is nothing to write home about – but some people seem to think that io_uring might solve that. L4 is evidence that, in principle, the right microkernel design can perform about as well as monolithic kernels can
Or for container based distributions where it is basically there to provide the minimal set of services to run containers, and any other kernel would do, it is only a matter of convenience to ping back on the Linux kernel.
The monolithic kernel folks just haven't noticed it.
I know may be by sheer number of users most people use them in the cloud or for development but some of us do actually use linux on our everyday machines.
> GP: development
Probably yes?
Even foregoing development scenarios, containers can be used for everyday Linux tasks with things like toolbox/distrobox (which do support GUIs).
Then there is the whole IPC taking place across containers with much slower APIs and heavier context switch states.
The two remaining ones are worse than any micro-kernel API call in performace.
[1]: https://docs.docker.com/engine/reference/run/#ipc-settings--...
That is the beauty of hypervisors, just enough abstraction for a portable language runtime.
Right. Which means they're not microkernels. Which is my point.
AWS overwhelmingly uses Linux/KVM, not any type 1 hypervisor. There's a few leftover Xen systems, but those are legacy; you get KVM if you provision a new instance.
Not as cheap but that's the price of interfaces
Old and generally unused filesystems shouldn't be living untested in the kernel.
If we just create the filesystem using the Linux driver, and validate it using the same driver, then what is achieved exactly? For preservation we'd still need access to Xenix systems and a drive of some sort that can be moved between the old system and a more modern computer.
I suppose disk images could be used, but that still seems like only a partial solution.
besides any philosophical argument, doesn't it still crap up your whole system whenever the network flakes out? (unlike, i imagine, any FUSE driver)
What exactly do you want the client to do, when it relies on remote resources and the network isn't reliable? This fortunately is these days much less a problem than in the days of cheapernet (10BASE2).
FUSE drivers aren't exempt from hanging syscalls, I've experienced them even with local mounts let alone network ones. I don't know why people keep repeating this.
FTP and NFS are good, I'd also want ckermit / tip / tar in my toolbag...
Probably not an issue these decades, though.
A fuse implementation would be good enough today though. You're not doing actual production work on htfs today no matter how special the circumstances.
...and did anyone ever automate parsing the divvy partition table?
I confess I have never productively used either but have destructively used fsck.
Someone is, apparently. Some shop called Xinuos apparently bought part of the corpse (the not lawsuit obsessed, not fraud committing part, presumably) and is still selling SCO OpenServer and Unixware. That's some serious dead-ender computing. But hey...people still run OS/2 in production.
Divvy...haven't thought about that in not long enough.
In the (far) future, just use a past distro to see them. Removal now wipes functionality from the market very, very slowly.
xiafs sounded intriguing, but I never actually used it.
Of all the filesystems currently in the mainline Linux kernel, the most useless (surely) must be BFS (not BeFS) – https://www.kernel.org/doc/html/next/filesystems/bfs.html
The file system used isn't accessible, so issues aren't directly applicable.
https://man7.org/linux/man-pages/man7/sysvipc.7.html
Unix has a bigger range of IPC mechanisms than i think most people realise. Everyone knows about internet sockets and pipes. Most people know about shared memory, named pipes, and unix domain stream sockets. But how many people know about unix domain datagram sockets, or POSIX message queues?
One might say that the whole of POSIX IPC is simply SysV IPC with sane and "unix-like" API (ie. names instead of "IPC keys").
One of the problems with POSIX IPC is that you cannot really use it if you want to be portable, because on BSD and derived systems the implementation is best described as also existing only for completeness.
https://www.autometer.de/unix4fun/coherent/
A python wrapper for simple formats like this around a block interface (fuse mount, etc...) is a few afternoons of work for someone. I bet anything someone's already written this.
[1]: https://www.phoronix.com/news/Linux-Floppy-2021-Regression
That's a lot of work for something pretty much nobody uses. And in the end the SysV FS support might not even work anymore because of oversights during the API updates.
"can't even properly test it anymore" almost certainly means not that it is impossible for the maintainer, but more like they have better things to spend their time on.
Well... Then, if it builds, it can at least be tested with the same tools that test every other filesystem.
I could buy "It's a waste of time, nobody's using the code, we are pruning legacy code for the Rust rewrite, etc." But not that it's impossible to test. That doesn't seem truthful.