Re: Embedded library copies - mergerfs
- Date: Mon, 7 Aug 2017 08:30:01 -0400
- From: Antonio SJ Musumeci <trapexit@xxxxxxxxxx>
- Subject: Re: Embedded library copies - mergerfs
I'm not sure that Ritesh did a good job of explaining why I've embedded libfuse2 into mergerfs.
My users span several generations of Debian (and other) Linux distributions. Early 2.9.X versions of libfuse had bugs which led to "random" crashes. These versions are still in wide use (I get 2.8.x users on occasion too). Over past couple years I've spent countless hours tracking down issues related to these buggy versions and helping (often inexperienced) users upgrade their systems. This is the core reason I decided to embed libfuse 2.9.7 into mergerfs.
There are secondary issues related to v2 being no longer maintained and v3 not being available to these same users and me still wanting newer features (which I can backport, or eventually could embed v3) or make changes that aren't upstream (see my recent comments regarding the thread pool management).
I understand the situation from the distro / packaging perspective but I just don't see any alternatives which get me all the benefits. I've considered offering to take over 2.9.x maintainership but that doesn't get me backports to old platforms.
I suppose I could make the embedded version optional but then the feature(s) I've added will be lost. That said... I have asks to support macOS so such changes would likely need to happen anyway unless I attempted to incorporate OSXFuse like I did with libfuse or created an explicit macOS fork.