Linux NFS development
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: Mark Liam Brown <brownmarkliam@gmail.com>
Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>, carnil@debian.org
Subject: Re: nfs-utils library dependency littering - fork nfs-utils for Debian? Re: [patch] mount.nfs: Add support for nfs://-URLs ...
Date: Fri, 6 Dec 2024 14:40:02 -0500	[thread overview]
Message-ID: <7731cac8-c0ae-4055-b5f8-07f0f63b79b9@oracle.com> (raw)
In-Reply-To: <CAN0SSYwgankwnJXq_RDCr4rEG9k=iDZ=qaehwudwSd0_eOqA-g@mail.gmail.com>

On 12/6/24 12:13 PM, Mark Liam Brown wrote:
> On Fri, Dec 6, 2024 at 5:58 PM Chuck Lever <chuck.lever@oracle.com> wrote:
>>
>> On 12/6/24 11:15 AM, Mark Liam Brown wrote:
>>> On Fri, Dec 6, 2024 at 4:54 PM Chuck Lever <chuck.lever@oracle.com> wrote:
>>>> IMO, using a URL parser library might be better for us in the
>>>> long run (eg, more secure) than adding our own little
>>>> implementation. FedFS used liburiparser.
>>>
>>> Yeah, another library dependency for Debian? First you try to invade
>>> Debian with libxml2 via backdoor, and now you try to add liburlparser?
>>> At that point I would suggest that Debian just forks nfs-utils and
>>> yanks the whole libxml&liburlparser garbage out and replace it with a
>>> simple line parser. Does the same job and doesn't litter Debian
>>
>> This is a political screed rather than a technical concern.
> 
> Nope. Stuffing the libxml2 garbage as dependiy to nfs-utils broke
> dracut in Debian and thus nfsroot support, and that is a REAL WORLD
> technical concern.

You should re-read your initial email. None of this detail is
mentioned there, so it's not unexpected that a recipient might
dismiss your concerns.

Junction support in nfs-utils has always been controlled by the
configure option "--enable-junctions" so that distributions who
cannot or do not want to package libxml2 can build without that
dependency.

There are one or two bugs in this area which prevented this from
working as intended. The intention has always been that distros and
other packagers can choose not to pull in libxml2.


>> For one
>> thing, a fork certainly isn't needed to remove libxml2 or any other
>> library dependency -- all distributors carry local patches to such
>> packages.
> 
> It is a concern that nfs-utils keep adding library dependencies for
> which there is no technical need. Junction support in nfs-utils> could've used a simple tag=value format, instead a slow,
> resource-hungry and upgrade-antagonistic libxml2 was chosen.
> Real world users could not boot after that.

This sounds like a packaging issue; that is, it's specific to the
Debian distribution, not to whether nfs-utils has a new dependency.
It was not a problem for SuSE or Redhat when they enabled junction
support (RH enabled it years and years ago).

Please post a link to bug reports that provide a clear description
of the problem (and preferably also a root cause). This is honestly
the first I've heard of such a problem; and if it truly is an
upstream issue, it should be reported and dealt with here.


> So a fork of nfs-utils would jank out libxml2 and use a plain
> tag=value format for NFS junctions.

It wouldn't be difficult to write a patch series to implement a
KV-based junction format and teach mountd to look for that and the
XML-based one for some transition period. Would you care to give
that a try?


> So nay nay nay to more libraries, or keep it the liburiparser dep off
> by default. People who really want it can do an
> --enable-nfsurlsupportwithliburiparsergarbage.

Why didn't you simply suggest that before?

In fact that is usually the way new features like this one are
introduced to nfs-utils, so it would be a no-brainer if in fact the
maintainer decides to replace the proposed ad hoc URL parser with a
library.


> No one really needs exports and filenames with non-American characters
> anyway, the workaround is just mkdir /myjapanesefiles/, export that
> dir, and keep Japanese file names within that subtree.

You personally might not need to handle non-ASCII characters in your
export paths. However, I'm told that most of the non-Eurocentric world
wants to have support for mounting export paths with non-ASCII
characters directly. So, although the workaround you describe works
today, it's not something that any non-European administrator wants to
use daily.

I have no objection to handling NFS URIs in mount.nfs if no other code
changes are needed. Most other NFS implementations have been able to
deal with them properly for many years.


-- 
Chuck Lever

  reply	other threads:[~2024-12-06 19:40 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-06 10:54 [patch] mount.nfs: Add support for nfs://-URLs Roland Mainz
2024-12-06 15:54 ` Chuck Lever
2024-12-06 16:15   ` nfs-utils library dependency littering - fork nfs-utils for Debian? " Mark Liam Brown
2024-12-06 16:58     ` Chuck Lever
2024-12-06 17:13       ` Mark Liam Brown
2024-12-06 19:40         ` Chuck Lever [this message]
2024-12-06 23:33   ` Roland Mainz
2024-12-07 15:20     ` Chuck Lever
2024-12-07 20:29       ` Chuck Lever
2024-12-19 14:47       ` Cedric Blancher
2024-12-07 20:53   ` NeilBrown
2024-12-07 22:54     ` Chuck Lever
2024-12-08  3:29       ` NeilBrown
2024-12-08 15:58         ` Chuck Lever
2024-12-09 15:15           ` Takeshi Nishimura
2024-12-09 15:46             ` Chuck Lever
2024-12-08  7:31   ` patchwork instance for linux-nfs patches? Cedric Blancher
2024-12-08 16:01     ` Chuck Lever
2024-12-08  7:41   ` [patch] mount.nfs: Add support for nfs://-URLs Cedric Blancher
2024-12-08 16:43     ` Chuck Lever
2024-12-10 11:46     ` Benjamin Coddington
2024-12-10 12:09       ` Steve Dickson
2024-12-07 17:05 ` Takeshi Nishimura
2024-12-08 22:12 ` NeilBrown
2024-12-10 12:13   ` Cedric Blancher
2024-12-10 14:15     ` Chuck Lever
2024-12-11  4:26     ` NeilBrown
2024-12-19 14:03       ` Cedric Blancher
2024-12-24 22:59         ` NeilBrown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7731cac8-c0ae-4055-b5f8-07f0f63b79b9@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=brownmarkliam@gmail.com \
    --cc=carnil@debian.org \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox