]> git.decadent.org.uk Git - nfs-utils.git/log
nfs-utils.git
15 years agoMoved the kernel version-ing code into a new version.h
Chuck Lever [Tue, 15 Jul 2008 16:10:33 +0000 (12:10 -0400)]
Moved the kernel version-ing code into a new version.h
header file which allows the code to be shared

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoIntroduce a new DNS resolver function in utils/mount/network.c that uses
Chuck Lever [Tue, 15 Jul 2008 16:02:42 +0000 (12:02 -0400)]
Introduce a new DNS resolver function in utils/mount/network.c that uses
getaddrinfo(3), which supports AF_INET6, to resolve host names.

Replace the guts of nfs_gethostbyname() with a call to the new function.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe text-based mount command displays the rather inexplicable "mount:
Chuck Lever [Tue, 15 Jul 2008 15:59:03 +0000 (11:59 -0400)]
The text-based mount command displays the rather inexplicable "mount:
internal error" whenever it encounters a problem that is entirely
unexpected by its designers.

Let's beef that error message up to include instructions about reporting
the problem, and fix the error code returned by the mount option rewriting
logic so that also will no longer report "internal error".  An error in there
should generally only occur if there was an invalid mount option specified.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoUpdated both the mountstats and nfs-iostat scripts to used the
Chuck Lever [Tue, 15 Jul 2008 15:56:13 +0000 (11:56 -0400)]
Updated both the mountstats and nfs-iostat scripts to used the
proper abbreviation for kilobytes per second (kB/s).

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoPorted the create_mtab() routine from util-linux-ng as well
Christiaan Welvaart [Tue, 15 Jul 2008 15:42:42 +0000 (11:42 -0400)]
Ported the create_mtab() routine from util-linux-ng as well
some add_mtab() updates to better hand the instances where
/etc/mtab does not exist or is not writable

Signed-off-by: Christiaan Welvaart <cjw@daneel.dyndns.org>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe rpc.gssd scans for any suitable kerberos ticket. In cross-realm
Lukas Hejtmanek [Tue, 15 Jul 2008 14:12:39 +0000 (10:12 -0400)]
The rpc.gssd scans for any suitable kerberos ticket. In cross-realm
environment this may not be the desired behaviour. Therefore a new
option, -R preferred realm, is presented so that the rpc.gssd prefers tickets
from this realm. By default, the default realm is preferred.

Signed-off-by: Lukas Hejtmanek <xhejtman@ics.muni.cz>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe default expiration of kernel gss contexts is the expiration
Lukas Hejtmanek [Tue, 15 Jul 2008 14:07:45 +0000 (10:07 -0400)]
The default expiration of kernel gss contexts is the expiration
of the Kerberos ticket used in its creation.  (For contexts
created using the Kerberos mechanism.)  Thus kdestroy has
no effect in nullifying the kernel context.

This patch adds -t <timeout> option to rpc.gssd so that the client's
administrator may specify a timeout for expiration of contexts in kernel.
After this timeout, rpc.gssd is consulted to create a new context.

By default, timeout is 0 (i.e., no timeout at all) which follows the
previous behavior.

Signed-off-by: Lukas Hejtmanek <xhejtman@ics.muni.cz>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agogssd_setup_krb5_user_gss_ccache must return an error if no usable cache is
Lukas Hejtmanek [Tue, 15 Jul 2008 14:02:49 +0000 (10:02 -0400)]
gssd_setup_krb5_user_gss_ccache must return an error if no usable cache is
found. Trying to use invalid default cache and continue is not good idea at all.

Signed-off-by: Lukas Hejtmanek <xhejtman@ics.muni.cz>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoWhen a FQDN exists in /var/lib/nfs/rmtab it causes
Steve Dickson [Wed, 25 Jun 2008 13:23:45 +0000 (09:23 -0400)]
When a FQDN exists in /var/lib/nfs/rmtab it causes
the exportfs command to seg fault due to the nfs_export pointer
not being allocated. Reworking the parentheses in rmtab_read()
so the htype variable is evaluated correctly fix the problem.

Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoAdd RDMA as a supported transport for reporting
Tom Talpey [Mon, 23 Jun 2008 16:57:29 +0000 (12:57 -0400)]
Add RDMA as a supported transport for reporting
the mountstats statistics

Signed-off-by: Tom Talpey <tmt@netapp.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe "nfs-iostat" utility is a Python program that extracts and displays NFS
Chuck Lever [Mon, 23 Jun 2008 16:56:14 +0000 (12:56 -0400)]
The "nfs-iostat" utility is a Python program that extracts and displays NFS
client performance information from /proc/self/mountstats.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoAdd RDMA as a supported transport for reporting the
Tom Talpey [Mon, 23 Jun 2008 16:54:08 +0000 (12:54 -0400)]
Add RDMA as a supported transport for reporting the
mountstats statistics

Signed-off-by: Tom Talpey <tmt@netapp.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe "mountstats" utility is a Python program that extracts and displays NFS
Chuck Lever [Mon, 23 Jun 2008 16:52:33 +0000 (12:52 -0400)]
The "mountstats" utility is a Python program that extracts and displays NFS
client performance information from /proc/self/mountstats.

Note that if mountstats is named 'ms-nfsstat' or 'ms-iostat' it offers
slightly different functionality.  It needs two man pages and the install
script should provide both commands by installing the script and providing the
other command via a symlink.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe nfsstat program reads /proc/net/rpc/* files to gets info about
Jeff Layton [Mon, 23 Jun 2008 11:21:52 +0000 (07:21 -0400)]
The nfsstat program reads /proc/net/rpc/* files to gets info about
calls. This info is output as unsigned numbers (at least on any
relatively recent kernel). When nfsstat prints these numbers, they are
printed as signed integers. When the call counters reach 2^31, things
start being printed as negative numbers.

This patch changes nfsstat to read and print all counters as unsigned
integers. Tested by hacking up a kernel to initialize call counters to
2^31+1.

Thanks to Takafumi Miki for the initial version of this patch.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoRemoved the initialization of args2 in xlog_backend. It
Steve Dickson [Fri, 6 Jun 2008 21:27:23 +0000 (17:27 -0400)]
Removed the initialization of args2 in xlog_backend. It
caused a compilation error on x86_64 archs.

Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agonfsstat -m lists all current nfs mounts, with the mount options.
Neil Brown [Fri, 6 Jun 2008 19:17:55 +0000 (15:17 -0400)]
nfsstat -m lists all current nfs mounts, with the mount options.
It does this by reading /proc/mounts and looking for mounts of type
"nfs".  It really should check for "nfs4" as well.

For simplicity, just check the first 3 characters of the type.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoFix error reporting when probe_bothports() fails while rewriting mount
Chuck Lever [Fri, 6 Jun 2008 19:07:24 +0000 (15:07 -0400)]
Fix error reporting when probe_bothports() fails while rewriting mount
options.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoClean up: instead of passing so many arguments to all the helpers, have
Chuck Lever [Fri, 6 Jun 2008 19:06:21 +0000 (15:06 -0400)]
Clean up: instead of passing so many arguments to all the helpers, have
nfsmount_string build a data structure that contains all the arguments, and
pass a pointer to that instead.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoSteinar Gunderson reports:
Chuck Lever [Fri, 6 Jun 2008 19:02:18 +0000 (15:02 -0400)]
Steinar Gunderson reports:

"It seems retry= is now additive with the text-based mount interface. In
particular, "mount -o retry=0" still gives a two-minute timeout."

Correct the bug and make retry= option parsing more robust.  If parsing
the retry option fails, the option is ignored and a default timeout is
used.

Note that currently the kernel parser ignores the "retry=" option if the
value is a number.  If the value contains other characters, the kernel will
choke.  A subsequent patch to the kernel will allow any characters as the
value of the retry option (excepting of course ",").

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoMake the text-based mount path check whether statd is running if the "lock"
Neil Brown [Fri, 6 Jun 2008 18:59:21 +0000 (14:59 -0400)]
Make the text-based mount path check whether statd is running if the "lock"
option is in effect.  This echoes similar logic in the legacy mount path.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoCleaned up warnings in rmtab.c and xlog.c
Steve Dickson [Fri, 6 Jun 2008 18:44:48 +0000 (14:44 -0400)]
Cleaned up warnings in rmtab.c and xlog.c

Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoFixed smail typo in exportfs man page
Oren Held [Thu, 8 May 2008 09:23:10 +0000 (05:23 -0400)]
Fixed smail typo in exportfs man page

Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoIf mount.nfs is not installed setuid, an attempt to perform a "user"
NeilBrown [Thu, 8 May 2008 09:18:25 +0000 (05:18 -0400)]
If mount.nfs is not installed setuid, an attempt to perform a "user"
or "users" mount will fail with a fairly obscure error message,
typically about getting "permission denied" from the server.

This patch gives a more helpful message in that case.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoKerberos credentials may be stored in multiple places. Make it
Vince Busam [Wed, 7 May 2008 19:24:53 +0000 (15:24 -0400)]
Kerberos credentials may be stored in multiple places.  Make it
possible to search several directories for valid credentials when
making NFS requests.

Original patch from Vince Busam <vbusam@google.com>

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>.
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoAdd a new function to retrieve the current verbosity level
Kevin Coffman [Wed, 7 May 2008 18:38:47 +0000 (14:38 -0400)]
Add a new function to retrieve the current verbosity level
so that some messages that would otherwise always print may
be silenced.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoAdd the other two DES encryption types to the default list of
Kevin Coffman [Wed, 7 May 2008 18:32:45 +0000 (14:32 -0400)]
Add the other two DES encryption types to the default list of
Kerberos encryption types that may be negotiated.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoCheck the info file nfs/rpc_pipefs/nfs/clnt?/info to
Olga Kornievskaia [Wed, 7 May 2008 14:54:51 +0000 (10:54 -0400)]
Check the info file nfs/rpc_pipefs/nfs/clnt?/info to
see if a port number was supplied. If so, use it rather
than the default port number.

Signed-off-by: Olga Kornievskaia <aglo@citi.umich.edu>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe prev_bg_host stuff made sense when NFS didn't have its own mount
Jeff Layton [Wed, 7 May 2008 14:37:40 +0000 (10:37 -0400)]
The prev_bg_host stuff made sense when NFS didn't have its own mount
handler. Now though, each mount.nfs invocation is really a one-shot
affair, and this check no longer works. It also leaked memory. Remove
it.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoThe bg option is essentially ignored with nfs4 currently. nfs4mount()
Jeff Layton [Wed, 7 May 2008 14:35:30 +0000 (10:35 -0400)]
The bg option is essentially ignored with nfs4 currently. nfs4mount()
will never exit with EX_BG, so the mount will never be backgrounded.
Fix it so that when bg is specified that we error out with EX_BG as
soon as possible after the first failed mount attempt.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoCurrently nfs4mount() sets the retry value to 10000 on both fg and bg
Jeff Layton [Wed, 7 May 2008 14:27:53 +0000 (10:27 -0400)]
Currently nfs4mount() sets the retry value to 10000 on both fg and bg
mounts. It should be 2 for fg and 10000 for bg. nfsmount() sets it
properly, but there is a potential corner case. If someone explicitly
sets retry=10000 on a fg mount, then it will be reset to 2.

Fix this by having retry default to -1 for both flavors, and then reset if
needed after the mount options have been parsed.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
15 years agoFixed arguments to the hosts_ctl() call in the good_client() routine
Sten Spans [Mon, 5 May 2008 18:04:58 +0000 (14:04 -0400)]
Fixed arguments to the hosts_ctl() call in the good_client() routine
used in the tcpwrapper support.

Signe-off-by: Steve Dickson <steved@redhat.com>
16 years agoChange how mount.nfs handles EACCES errors. Currently,
Jeff Layton [Mon, 14 Apr 2008 13:03:13 +0000 (09:03 -0400)]
Change how mount.nfs handles EACCES errors. Currently,
EACCES is a non-fatal error which means the mount will be
retied. This caused mounts to hang for 2mins when the client
does not have permission to access the export. In a strict
interpretation, the error that should be returned is EPERM, but
this is not always the case. So due to the fuzzy interpretation,
of EPERM and EACCES, EACCESS is now a fatal error

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoCorrect a spelling error in a mount.nfs error message
Li Yewang [Wed, 9 Apr 2008 17:39:20 +0000 (13:39 -0400)]
Correct a spelling error in a mount.nfs error message

Signed-off-by: Li Yewang <lyw@cn.fujitsu.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoMake sure showmount fails when rpc.mountd is not registered
Steve Dickson [Tue, 18 Mar 2008 13:34:58 +0000 (09:34 -0400)]
Make sure showmount fails when rpc.mountd is not registered

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoUpdated exportfs man to talk about /var/lib/nfs/etab
Steve Dickson [Tue, 18 Mar 2008 13:33:44 +0000 (09:33 -0400)]
Updated exportfs man to talk about /var/lib/nfs/etab
instead of /var/lib/nfs/xtab

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoThere were 2 things wrong with auth flavour ordering:
bc Wong [Tue, 18 Mar 2008 13:30:44 +0000 (09:30 -0400)]
There were 2 things wrong with auth flavour ordering:
- Mountd used to advertise AUTH_NULL as the first flavour on
  the list, which means that it prefers AUTH_NULL to anything
  else (as per RFC 2623 section 2.7).
- Mount.nfs used to scan the returned list in reverse order,
  and stopping at the first AUTH_NULL or AUTH_SYS encountered.
  If a server advertises (AUTH_SYS, AUTH_NULL), it will by
  default choose AUTH_NULL and have degraded access.

I've fixed mount.nfs to scan from the beginning. For mountd,
it does not advertise AUTH_NULL anymore. This is necessary
to avoid backward compatibility issue. If AUTH_NULL appears
in the list, either the new or the old client will choose
that over AUTH_SYS.

Tested the server/client combination against the previous
versions, as well as Solaris and FreeBSD.

Signed-off-by: bc Wong <bcwong@cisco.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoRelease 1.1.2 nfs-utils-1-1-2
Steve Dickson [Fri, 14 Mar 2008 15:46:29 +0000 (11:46 -0400)]
Release 1.1.2

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoTurn down gssd's syslog verbosity
Timo Aaltonen [Thu, 13 Mar 2008 17:02:32 +0000 (13:02 -0400)]
Turn down gssd's syslog verbosity

Modified-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoStop rpc.mountd from probing all known devices which causes
Steinar H. Gunderson [Thu, 13 Mar 2008 15:30:18 +0000 (11:30 -0400)]
Stop rpc.mountd from probing all known devices which causes
idle disks to spin up for basically no reason.

Signed-off-by: Steinar H. Gunderson <sgunderson@bigfoot.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoRecently #include directives for autoconf's config.h file were added in
Chuck Lever [Tue, 11 Mar 2008 17:11:50 +0000 (13:11 -0400)]
Recently #include directives for autoconf's config.h file were added in
utils/mount/error.c and utils/mount/mount.c, but appropriate HAVE_CONFIG_H
checks were not added at the same time.

In addition, several other .c files under utils/mount reference
autoconf-generated HAVE_ macros, but don't appear to include config.h

Also, Heinz-Ado Arnolds <arnolds@MPA-Garching.MPG.DE> reports that this
patch is needed to ensure START_STATD is properly defined in
utils/mount/network.c.  Otherwise start_statd() is always a no-op, even if
the configure script defines an appropriate statd start-up script.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: Heinz-Ado Arnolds <arnolds@MPA-Garching.MPG.DE>
Signed-off-by: Steve Dickson <steved@dickson.boston.devel.redhat.com>
16 years agoFixed typo in nfsd man page
Filipus Klutiero [Tue, 11 Mar 2008 16:52:26 +0000 (12:52 -0400)]
Fixed typo in nfsd man page

bz: http://bugzilla.linux-nfs.org/show_bug.cgi?id=160
Signed-off-by: Filipus Klutiero <chealer@gmail.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoFixed a segfault in the mount.nfs command
Steinar H. Gunderson [Mon, 10 Mar 2008 19:20:36 +0000 (15:20 -0400)]
Fixed a segfault in the mount.nfs command

Signed-off-by: Steinar H. Gunderson <sgunderson@bigfoot.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoFixed a couple typos that effected the '--mounts' nfsstat option
Steinar H. Gunderson [Mon, 10 Mar 2008 18:55:47 +0000 (14:55 -0400)]
Fixed a couple typos that effected the '--mounts' nfsstat option

Signed-off-by: Steinar H. Gunderson <sgunderson@bigfoot.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoFixed typo in gssd manpage
Steinar H. Gunderson [Mon, 10 Mar 2008 18:51:31 +0000 (14:51 -0400)]
Fixed typo in gssd manpage

Signed-off-by: Steinar H. Gunderson <sgunderson@bigfoot.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoThe mount(5) man page states that the noquota, quota, usrquota and
Steinar H. Gunderson [Mon, 10 Mar 2008 18:49:31 +0000 (14:49 -0400)]
The mount(5) man page states that the noquota, quota, usrquota and
grpquota options are ignored. (They are, however, used by the quota
tools, so having them in fstab can be useful.) Make mount.nfs ignore
them properly, matching the man page. There are a few aliases (like
usrjquota) that are parsed by quota, but as these are not documented
nor seem to be widely used, they are not included.

Signed-off-by: Steinar H. Gunderson <sgunderson@bigfoot.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoBe explicit on how to update exports in the man page.
Steve Dickson [Mon, 10 Mar 2008 18:42:21 +0000 (14:42 -0400)]
Be explicit on how to update exports in the man page.

Signed-off-by: Steinar H. Gunderson <sgunderson@bigfoot.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoAs part of migrating from nfs@lists.sf.net to linux-nfs@vger.kernel.org,
Chuck Lever [Wed, 5 Mar 2008 15:07:11 +0000 (10:07 -0500)]
As part of migrating from nfs@lists.sf.net to linux-nfs@vger.kernel.org,
update the mailing list address used to report bugs in nfs-utils.

Removed the BUGS section in the mount.nfs and umount.nfs man pages since
they weren't consistent with the contents of the BUGS sections in others
in nfs-utils.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoStop the kernel export table from being flushed
Neil Brown [Tue, 4 Mar 2008 14:39:31 +0000 (09:39 -0500)]
Stop the kernel export table from being flushed
on MIPS machines.

Reported-by: Anirban Sinha <ASinha@zeugmasystems.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoIncrease the number of concurrent krb5 mounts by increasing
Drew Middlesworth [Tue, 4 Mar 2008 14:27:57 +0000 (09:27 -0500)]
Increase the number of concurrent krb5 mounts by increasing
the size of the poll array

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoIf validateascii is passed a string containing only non-zero 7bit
NeilBrown [Tue, 26 Feb 2008 18:57:39 +0000 (13:57 -0500)]
If validateascii is passed a string containing only non-zero 7bit
values, then the loop with exit with i == len, and the following
test will access beyond the end of the array.

So add an extra test to fix this.

Found by Marcus Meissner <meissner@novell.com>.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoFixed typo in the nfsstat command line arugments.
Peng Haitao [Tue, 26 Feb 2008 18:52:18 +0000 (13:52 -0500)]
Fixed typo in the nfsstat command line arugments.

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoStop gssd from ignoring the machine credential cache
Vince Busam [Tue, 26 Feb 2008 18:04:52 +0000 (13:04 -0500)]
Stop gssd from ignoring the machine credential cache
defined by the -d flag

Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
16 years agoIn mountd, if get_exportlist() (utils/mountd/mountd.c) returns NULL it
Harshula Jayasuriya [Tue, 12 Feb 2008 21:13:25 +0000 (16:13 -0500)]
In mountd, if get_exportlist() (utils/mountd/mountd.c) returns NULL it
should not be considered a failure. It just means that there are no
exports on the system.

The practical problem with the current code is that a showmount -e
results in a syslog message from mountd that looks like:

rpc.mountd: export request from 10.250.100.2 failed.

Reviewed-by: Greg Banks <gnb@sgi.com>
Signed-off-by: Harshula Jayasuriya <harshula@sgi.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoCleaned up some typos that were found in the various
Frank Filz [Sat, 9 Feb 2008 12:48:48 +0000 (07:48 -0500)]
Cleaned up some typos that were found in the various
places in the mountd code.

Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
16 years agoAdded in relatime mount option so mount.nfs stays
Steve Dickson [Thu, 24 Jan 2008 22:02:08 +0000 (17:02 -0500)]
Added in relatime mount option so mount.nfs stays
compatible with the mount command in util-linux-ng

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoFix bug when both crossmnt and fsid are set.
Steve Dickson [Sat, 19 Jan 2008 12:59:26 +0000 (07:59 -0500)]
Fix bug when both crossmnt and fsid are set.

When exported a filesystems with option inherited (by the crossmnt
option) from a higherlevel filesystem, ignore filesystem specific
options like FSID and explicit UUID.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoStop segfaults on amd64 during warnings messages by creating
Steve Dickson [Thu, 17 Jan 2008 16:25:37 +0000 (11:25 -0500)]
Stop segfaults on amd64 during warnings messages by creating
a second va_list in xlog_backend() and then use that va_list
to print messages on stderr.

Signed-off-by: Steinar H. Gunderson <sesse@debian.org>
Signed-off-by: Steve Langasek <vorlon@debian.org>
Signed-off-by: Steve Dickson <steved@dickson.boston.devel.redhat.com>
16 years agoThe kernel doesn't support the underlying parts needed for changing the
Steve Dickson [Wed, 16 Jan 2008 17:01:13 +0000 (12:01 -0500)]
The kernel doesn't support the underlying parts needed for changing the
MNT program number.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoThe kernel hasn't supported the underlying parts needed for changing the
Steve Dickson [Wed, 16 Jan 2008 17:00:32 +0000 (12:00 -0500)]
The kernel hasn't supported the underlying parts needed for changing the
NFS program number for a very long time.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoAddress an inconsistency: the mount.nfs command uses the glibc routines
Steve Dickson [Wed, 16 Jan 2008 16:53:41 +0000 (11:53 -0500)]
Address an inconsistency:  the mount.nfs command uses the glibc routines
to manipulate /etc/mtab (setmntent) but, everything else in nfs-utils
uses a local private version (nfs_setmntent).  The local version does
some extra mangling of the mtab entries.

We should check what util-linux does these days to be sure, but for now,
let's make the mount.nfs command use the nfs_ variants of setmntent().

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoadd_mtab() calls unlock_mtab() twice in one of its error exit paths.
Steve Dickson [Wed, 16 Jan 2008 16:50:41 +0000 (11:50 -0500)]
add_mtab() calls unlock_mtab() twice in one of its error exit paths.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoWhen mount.nfs reports that statd isn't running, it suggests using the "-o
Steve Dickson [Wed, 16 Jan 2008 16:48:23 +0000 (11:48 -0500)]
When mount.nfs reports that statd isn't running, it suggests using the "-o
nolocks" option, which doesn't exist.  It should say "-o nolock".

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoAutomatically set 'nohide' on referral exports.
Steve Dickson [Wed, 9 Jan 2008 18:13:31 +0000 (13:13 -0500)]
Automatically set 'nohide' on referral exports.

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoRedress some nits in the description of the timeo option
Steve Dickson [Wed, 9 Jan 2008 16:51:41 +0000 (11:51 -0500)]
Redress some nits in the description of the timeo option
in the nfs(5) man page.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoFixed typo in rpc.mountd's man page
Steve Dickson [Mon, 7 Jan 2008 15:39:37 +0000 (10:39 -0500)]
Fixed typo in rpc.mountd's man page

Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoGet rid of the "-i" option for mount.nfs[4] and always use the text-
Steve Dickson [Fri, 4 Jan 2008 15:26:21 +0000 (10:26 -0500)]
Get rid of the "-i" option for mount.nfs[4] and always use the text-
based mount(2) system call for kernel version 2.6.23 and later.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoIncorporated Chuck Lever's and Don Domingo's changes to the
Steve Dickson [Fri, 4 Jan 2008 14:27:35 +0000 (09:27 -0500)]
Incorporated Chuck Lever's and Don Domingo's changes to the
nfs(5) manual page.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Don Domingo <ddomingo@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoWhen mountd gets a request to export a mountpoint which is not
Steve Dickson [Sat, 3 Nov 2007 14:40:36 +0000 (10:40 -0400)]
When mountd gets a request to export a mountpoint which is not
explicitly exported, but is below an export point that is flagged as
"crossmnt", it passes the wrong path name to the kernel for the
  "filehandle -> directory"
mapping.

This can badly confuse the NFS client, and is certainly wrong.
So use the correct path names.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoWhen following a list of mount versions to probe -
Steve Dickson [Sat, 3 Nov 2007 14:36:36 +0000 (10:36 -0400)]
When following a list of mount versions to probe -
e.g. probe_mnt1_first or probe_mnt3_first - probe_both will first
probe the appropriate NFS version and then, if that succeeds, probe
the actual mount version.  However instead of probing the target mount
version, it probes the "most appropriate" mount version for the given NFS version.
This results in it probing:
  NFSv2, MOUNTv1
twice rather than
  NFSv2, MOUNTv1
  NFSv2, MOUNTv2

as would be more correct.

This patch removes the "choose most correct" step and just use the
current mouint version for the probe_vers array.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoThis means that if mountd is run with "--no-nfs-version 3",
Steve Dickson [Sat, 3 Nov 2007 13:35:05 +0000 (09:35 -0400)]
This means that if mountd is run with "--no-nfs-version 3",
It will first probe for NFS version 3, which will succeed (assuming the
kernel supported NFSv3), then it will check the matching mountd version (3)
and probe_port on discovering that isn't supported will try other versions,
find "1" is supported will succeed.

This leaves up using mount version 1 for an NFSv3 mount, which doesn't work
and leads to a SIGSEGV

There is no case where trying other versions is needed the request one is
not supported, so simply remove that code.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoThe wording in the exportfs man page can be a bit confusing, implying
Steve Dickson [Sat, 3 Nov 2007 13:14:57 +0000 (09:14 -0400)]
The wording in the exportfs man page can be a bit confusing, implying
that "exportfs -u :/foo" will unexport /foo from all hosts, which it won't.

This patch cleans that wording up and adds a couple examples on how to
unexport directories

Signed-off-by: Steinar H. Gunderson <sesse@debian.org>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoAdded -S/--since to the nfsstat(1) manpage
Steve Dickson [Fri, 26 Oct 2007 11:57:10 +0000 (07:57 -0400)]
Added -S/--since to the nfsstat(1) manpage

Author: David Richter <richterd@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
16 years agoRelease 1.1.1 nfs-utils-1-1-1
Neil Brown [Fri, 19 Oct 2007 03:07:28 +0000 (13:07 +1000)]
Release 1.1.1

16 years agoRemove unnecessary code from idmapd.
Kevin Coffman [Fri, 12 Oct 2007 20:35:25 +0000 (16:35 -0400)]
Remove unnecessary code from idmapd.

This patch removes unnecessary code from idmapd. setproctitle is not used
anywhere and it can be removed. In addition the kernel section of the
nfs_idmap.h header is not used and is out of date and thus is removed.

Signed-off-by: David P. Quigley <dpquigl@tycho.nsa.gov>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoRemove old logging implementation for idmapd and rework gssd and idmapd to use the...
Kevin Coffman [Fri, 12 Oct 2007 20:35:20 +0000 (16:35 -0400)]
Remove old logging implementation for idmapd and rework gssd and idmapd to use the new xlog logging infrastructure.

This patch removes all of the old idmap_* logging functions and replaced them
with the corresponding xlog functions. In addition that that it also reworks
the gssd logging wrappers to use the new xlog_backend. Finally it makes
necessary changes to the build files to get the project compiling again.

Signed-off-by: David P. Quigley <dpquigl@tycho.nsa.gov>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoCleanup xlog logging code to be safe and usable for all
Kevin Coffman [Fri, 12 Oct 2007 20:35:15 +0000 (16:35 -0400)]
Cleanup xlog logging code to be safe and usable for all

This patch reworks the xlog logging code to avoid rebuilding the message into a
fixed size buffer. It also adds two new logging functions xlog_warn and
xlog_err which are replacements for idmap_warn and idmap_err. There use to be
two different variates of these functions with the only difference being that
one flavor tacked on the error string to the end of the message. This
responsibility has been pushed to the called of the function since it
needlessly complicated the function and required us to rebuild the message
strings.

Signed-off-by: David P. Quigley <dpquigl@tycho.nsa.gov>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoRemove svcgssd's private version of cacheio.c
Kevin Coffman [Fri, 12 Oct 2007 20:35:10 +0000 (16:35 -0400)]
Remove svcgssd's private version of cacheio.c

Now that svcgssd is using the qword_* functions in the
support library, remove the private version.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoUse nfslib versions of cacheio functions
Kevin Coffman [Fri, 12 Oct 2007 20:35:05 +0000 (16:35 -0400)]
Use nfslib versions of cacheio functions

Now that the nfslib library has all the necessary functions and they
all operate as needed, use them instead of the private versions in
utils/gssd/cacheio.c.
The obsolete private versions are removed in the next patch.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoCopy new cacheio functions used by svcgssd to nfslib
Kevin Coffman [Fri, 12 Oct 2007 20:35:00 +0000 (16:35 -0400)]
Copy new cacheio functions used by svcgssd to nfslib

Copy private qword_ functions from the svcgssd version into
the general nfslib library.   Add prototypes as needed.
Also, update readline to use a bigger buffer allocation as is
needed in the svcgssd version.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoUse printerr to print svcgssd downcall debugging info
Kevin Coffman [Fri, 12 Oct 2007 20:34:54 +0000 (16:34 -0400)]
Use printerr to print svcgssd downcall debugging info

Rather than depending on modified qword_* functions to print
svcgssd debugging information, use printerr in the downcall
function.

And while we're at it, label things so we know what we're looking at!

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoMake print_hexl function write to stdout rather than using printerr
Kevin Coffman [Fri, 12 Oct 2007 20:34:49 +0000 (16:34 -0400)]
Make print_hexl function write to stdout rather than using printerr

print_hexl() currently uses printerr, but is really only necessary
for local debugging and should simply write to stdout.
Also change it to print the description internally.
Wrap it and its use in #ifdef DEBUG.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoFix new warning after strict prototype checking enabled
Kevin Coffman [Fri, 12 Oct 2007 20:34:44 +0000 (16:34 -0400)]
Fix new warning after strict prototype checking enabled

Fix function declaration to eliminate compiler warning about it
not being a prototype after -Wstrict-prototypes was added.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Fix po_rightmost() enum return values
Chuck Lever [Thu, 11 Oct 2007 17:55:02 +0000 (13:55 -0400)]
text-based mount.nfs: Fix po_rightmost() enum return values

Neil observed that po_rightmost() now returns enum values from both

enum {
PO_NOT_FOUND = 0,
PO_FOUND = 1,
}

and

enum {
PO_KEY2_RIGHTMOST = 1,
PO_KEY1_RIGHTMOST = -1,
}

It would be cleaner to use a single enum for po_rightmost()'s return value.

We take the next logical step and create specific types for the return
values in order to ensure we don't mix the enum values, and to document
explicitly what return values callers can expect.

This could have been a simpler patch, but I think the end result is a
cleaner overall parser API.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agomountd: address a minor compiler warning
Chuck Lever [Thu, 11 Oct 2007 20:52:03 +0000 (16:52 -0400)]
mountd: address a minor compiler warning

auth.c: In function ‘auth_authenticate’:
auth.c:190: warning: ‘error’ may be used uninitialized in this function

"error" is used as an output parameter, but the compiler has no way of
knowing that.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agomountd: eliminate a spurious compiler warning
Chuck Lever [Thu, 11 Oct 2007 20:52:01 +0000 (16:52 -0400)]
mountd: eliminate a spurious compiler warning

auth.c:61: warning: function declaration isn’t a prototype

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoFix version fallback for unmount.
Neil Brown [Thu, 11 Oct 2007 23:03:06 +0000 (09:03 +1000)]
Fix version fallback for unmount.

Previously, if the mtab record didn't mention a version, unmount
would assume a v3 umount and send an UNMOUNT request accordingly.
This is wrong.

So remove the 'v3' assumption, and allow probe_port to continue when
it gets a version number mis-match.

Also there was some overloading of the meaning of pm_vers==0 relating
to v4 mounts.  As do_nfs_umount is never called for v4, rename it to
do_nfs_umount23, and remove v4 handling from there and from
nfs_call_umount.

Signed-off-by: Neil Brown <neilb@suse.de>
16 years agoDon't fail an unmount just because we couldn't contact the NFS server.
Neil Brown [Thu, 11 Oct 2007 01:29:07 +0000 (11:29 +1000)]
Don't fail an unmount just because we couldn't contact the NFS server.

If we fail to talk to the NFS server when unmounted a v2 or v3 mount,
still do the unmount, but allow the error to propagate up.

Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Plug "fg" and "bg" processing into nfsmount_string()
Chuck Lever [Wed, 10 Oct 2007 19:06:46 +0000 (15:06 -0400)]
text-based mount.nfs: Plug "fg" and "bg" processing into nfsmount_string()

We have all the pre-requisites now, so add "fg" and "bg" mount processing
to text-based NFS mounts.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Add functions to handle background mounting
Chuck Lever [Wed, 10 Oct 2007 19:06:43 +0000 (15:06 -0400)]
text-based mount.nfs: Add functions to handle background mounting

Add helper functions that handle background mounts; one each for
foreground processing (to try the request, and determine when to fork);
and one for background processing (retry the request multiple times as
a forked background daemon).

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: add function to do foreground retries
Chuck Lever [Wed, 10 Oct 2007 19:06:41 +0000 (15:06 -0400)]
text-based mount.nfs: add function to do foreground retries

Make the differences between the foreground and background mount logic
explicit by creating separate functions to handle each -- think of them as
separate scripts for doing a foreground or a background mount.

NFS foreground mounts are supposed to retry for a little while before
giving up.  Add a function to handle this.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: sort between permanent and temporary errors
Chuck Lever [Wed, 10 Oct 2007 19:06:39 +0000 (15:06 -0400)]
text-based mount.nfs: sort between permanent and temporary errors

The text-based mount.nfs program must distinguish between different types
of errors returned from the kernel.  Permanent errors, like bad mount
options, should cause an immediate failure.  Temporary errors, such as a
connection timeout, should result in a retry of some type.

Add a function that sorts between the two types of errors.  The list of
permanent errors can be adjusted later if needed.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Use helpers for invoking mount(2) system call
Chuck Lever [Wed, 10 Oct 2007 19:06:37 +0000 (15:06 -0400)]
text-based mount.nfs: Use helpers for invoking mount(2) system call

Expose support for NFS version and transport protocol fallback for NFSv2/3
mounts.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Implement falling back to NFSv2 and UDP
Chuck Lever [Wed, 10 Oct 2007 19:06:35 +0000 (15:06 -0400)]
text-based mount.nfs: Implement falling back to NFSv2 and UDP

If the initial user-specified options fail (with EOPNOTSUPP or
EPROTONOSUPPORT) then the server has rejected the requested NFS version
or transport protocol.

In that case, probe the server, then construct a fresh set of mount
options that ask for the specific mountd and NFS version and transport
protocol that the server supports.  Rewrite the mount options based on
the results of the probe, then try the request again.

An additional kernel patch is required to cause the kernel to return
EOPNOTSUPP when an rpcbind fails during a NULL request.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Add rewrite_mount_options() function
Chuck Lever [Wed, 10 Oct 2007 19:06:33 +0000 (15:06 -0400)]
text-based mount.nfs: Add rewrite_mount_options() function

Introduce a function for probing the server for what it supports, and then
rewriting the mount options using the probe results.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: add a few useful parser return codes
Chuck Lever [Wed, 10 Oct 2007 19:06:30 +0000 (15:06 -0400)]
text-based mount.nfs: add a few useful parser return codes

I forgot to add symbolic return codes for po_rightmost().  Add return codes
for PO_KEY1_RIGHTMOST and PO_KEY2_RIGHTMOST.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Create helpers for invoking mount(2) system call
Chuck Lever [Mon, 8 Oct 2007 15:54:02 +0000 (11:54 -0400)]
text-based mount.nfs: Create helpers for invoking mount(2) system call

Add simple helper functions that invoke the mount(2) system call for
text-based mounts.  These look the same right now, but the NFSv2/v3 helper
will become more complex over the following patches as we implement version
and transport protocol fallback.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: Remove unused top level functions
Chuck Lever [Mon, 8 Oct 2007 15:53:57 +0000 (11:53 -0400)]
text-based mount.nfs: Remove unused top level functions

nfsmount_s() and nfs4mount_s() are no longer used, so eliminate them.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: combine nfsmount_s() and nfs4mount_s() paths
Chuck Lever [Mon, 8 Oct 2007 15:53:51 +0000 (11:53 -0400)]
text-based mount.nfs: combine nfsmount_s() and nfs4mount_s() paths

The top-level logic that handles text-based mount options is mostly the
same for NFS and NFSv4 mounts.  To improve maintainability, let's combine
the nfsmount_s() and nfs4mount_s() functions.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: refactor mandatory mount option processing
Chuck Lever [Mon, 8 Oct 2007 15:53:46 +0000 (11:53 -0400)]
text-based mount.nfs: refactor mandatory mount option processing

We're about to combine nfsmount_s() and nfs4mount_s().  Refactor the
version-specific mount option processing into a separate function.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
16 years agotext-based mount.nfs: rename fix_up_mounthost_opt()
Chuck Lever [Mon, 8 Oct 2007 15:53:41 +0000 (11:53 -0400)]
text-based mount.nfs: rename fix_up_mounthost_opt()

Spell out _option, just like other mount-option specific functions.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>