On 3/19/21 12:09 PM, Neal Gompa wrote:
On Fri, Mar 19, 2021 at 12:01 PM Jeff Mahoney <jeffm@suse.com> wrote:
Hi all -
I'm technically the maintainer for the libreiserfs package. Outside of a minor build fix years ago, I've had nothing to do with it. Best I can tell, it was originally brought in for parted in 2005 and then used by the 'testdisk' and 'partclone' pacakges in Factory (but never SLE). The official reiserfsprogs are maintained by me upstream (handwavy, they don't take much maintenance), and are available on kernel.org. Libreiserfs hasn't been touched by its author since 2004 and has no official location for download. We have a copy cached. Other distros have a copy cached. That's it.
Parted stopped using file system libraries for any file system in 2011 and the dependencies are obsolete. I've filed submit requests for SLE and the Base:System project to remove them.
Testdisk uses it to recover reiserfs file systems, but it's clear it hasn't seen real usage or even testing. The libreiserfs API to iterate over file contents is restricted to blocks, which means that any file tails would be skipped entirely. Digging through the code, it also shows that even if that functionality was to be used, it requires patches be applied to libreiserfs which we are not applying. It can't work.
Partclone uses the library to iterate over the block-in-use bitmap to copy only the parts of the file system in use. That's simple to switch over to libreiserfscore but I'm not volunteering to do it. Practically, as these would be old file systems and on relatively small devices compared to today's devices. Reiserfs has an official file system size limit of 16 TB but a practical limit of 8 TB. Outside of a very specific customer request a long time ago, I've never seen anyone trying to use it on devices that large. It's also pretty unlikely that anyone with file systems that old that they are using and don't want to migrate are using Tumbleweed or, really, any recent release. dd will work just fine.
Both of these packages reference that libreiserfs is optional and give no hint as to where to locate it. Outside of our own enabling that support, I doubt it's used anywhere.
So, we have a situation where we have a library that has been abandoned by its author and two relatively simple dependencies for a file system that may still be in use for very old file systems (which also means relatively small file systems compared to today's device sizes), and for very limited use cases. In some cases those are broken as well.
Someone else is welcome to step up to maintain this library and keep those packages working with reiserfs (and fix those bugs) and I'm happy to turn it over, but the real question is: do we really need to keep this functionality around?
So, my proposal is: - Remove libreiserfs as a dependency for parted (already submitted, not much to discuss here) - Remove libreiserfs as a dependency for partclone and testdisk. - Remove libreiserfs entirely.
Isn't this used by btrfs-progs to support reiserfs->btrfs conversions? Do we care that would be broken going forward?
No. libreiserfs was a separate implementation that was never officially adopted as part of the reiserfs project. btrfsprogs and a little over a dozen other package use libreiserfscore0 from reiserfsprogs (our 'reiserfs' package) for reiserfs support. -Jeff -- Jeff Mahoney Director, SUSE Labs Data & Performance