Bug#432986: lvm utilities complain about fds >2
Ian Jackson
ian at davenant.greenend.org.uk
Fri Jul 13 15:36:46 UTC 2007
Alasdair G Kergon writes ("Re: Bug#432986: lvm utilities complain about fds >2"):
> Do you have any examples?
In sh, it is common to pass extra fds to subprocesses when doing fd
plumbing. For example, a debconf-using postinst ends up reexeced with
an fd onto the debconf frontend. In my application, I "park" stdout
so that I can use it for debugging output later if I care to.
In any situation like this:
your_script -calls-> some_utility -calls-> rune_specified_by_your_script
it is often useful to pass an fd to the rune. This involves running
some_utility with nonstandard fds, and expects that some_utility
doesn't mess with those fds and instead passes them unharmed onto the
sub-rune.
LVM doesn't (AFAIK) call user-specified programs in this way but
either `your_script' or rune above might use LVM utilities - or might
use other programs which use LVM utilities - and in general it is
not possible to know whether there are any such other fds.
> > If lvm needs to fork off a daemon or some such then fine, it ought to
> > close them, but it should do so silently.
>
> The warning has originally added upstream to help prove that a bug
> originally reported against lvm2 was actually elsewhere.
I don't think debugging some particular other bug is a good reason for
printing warnings for perfectly reasonable situations.
> The messages can be suppressed at runtime by setting the environment
> variable LVM_SUPPRESS_FD_WARNINGS.
This should be made the default in Debian. I don't mind if the
feature can be turned on again (although I would question whether lvm
would be the right place to do this - maybe a /bin/{ba,}sh wrapper
would be a better choice).
Ian.
More information about the pkg-lvm-maintainers
mailing list