Ion Badulescu [Wed, 1 Oct 2003 01:48:03 +0000 (01:48 +0000)]
updated with the nfsx fix
Ion Badulescu [Wed, 1 Oct 2003 01:47:40 +0000 (01:47 +0000)]
There is still a bug in nfsx when combined with restarted
filesystems, because they both use the mf_private field and stomp
on each other's data. I'm going to look into that next, I think I have
an elegant solution for it. -Ion
* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
point if the mount fails with ENOENT: in the best case we would be
papering over a bug, and in the worst case we could cause a
deadlock (with autofs). If there are races, they need to be
exposed and fixed properly.
* conf/autofs/autofs_solaris_v1.h,
conf/autofs/autofs_solaris_v2_v3.h,
conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
semantics don't allow us to mount nfsx directly onto an autofs
mountpoint, so disallow it
* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
map entries...
(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
in the upper layer, so don't do anything else beside wakeup() on
success
(amfs_nfsx_remount): only create the mountpoints as we need them,
avoids creating them on the wrong filesystem in the case of
hierarchical mounts; fix crash-generating typo (m should really be
mf and I swear I hate single-character variable names)
* amd/amfs_generic.c (amfs_cont): one more dlog
(amfs_bgmount): amazingly enough, even foreground mounts can be
backgrounded (in the case of nfsx), so account for this
possibility and permit retries
* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
@AMU_AUTOFS_PROT_HEADER@
Erez Zadok [Tue, 30 Sep 2003 01:22:11 +0000 (01:22 +0000)]
* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
PlayStation 2)
* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
Rainer Orth [Fri, 26 Sep 2003 20:15:12 +0000 (20:15 +0000)]
Consolidate alloca support.
* amd/amq_svc.c: Move alloca support ...
* include/am_defs.h: ... here.
* amd/conf_parse.y: Remove alloca support.
* fsinfo/fsi_gram.y: Likewise.
Rainer Orth [Thu, 25 Sep 2003 22:26:10 +0000 (22:26 +0000)]
Handle Solaris 10.
* m4/macros/check_nfs_prot_headers.m4
(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
micro releases to cope with Solaris 2.5.1.
Explicitly match solaris2*, sunos5*.
Rainer Orth [Thu, 25 Sep 2003 20:19:07 +0000 (20:19 +0000)]
* amd/amq_svc.c: Provide alloca prerequisites.
* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
Ion Badulescu [Wed, 24 Sep 2003 02:44:38 +0000 (02:44 +0000)]
* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
Ion Badulescu [Mon, 22 Sep 2003 19:43:13 +0000 (19:43 +0000)]
* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
Ion Badulescu [Sat, 20 Sep 2003 03:19:47 +0000 (03:19 +0000)]
* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
enough, we should lstat() the sublink if it's defined.
(amfs_nfsl_ffserver): ditto
(ALL): Removed some obsolete comments. The nfsl code is now little
more than a very straight-forward switch between link and nfs.
* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
for the prepend-the-dot hack for type link; also, the sublink is
already normalized and absolute, so take advantage of that
* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
already normalized and absolute, so take advantage of that
* amd/am_ops.c (ops_match): normalize the sublink here, early into
the matching process
Ion Badulescu [Sat, 20 Sep 2003 01:09:04 +0000 (01:09 +0000)]
* amd/autil.c (am_mounted): be consistent and accept both
"nounmount" and "noumount" as pseudo mount options (same as
"unmount" and "umount" nearby)
Ion Badulescu [Sat, 20 Sep 2003 00:53:00 +0000 (00:53 +0000)]
* amd/Makefile.am (build_version.h): fixed dependencies (depends
on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
Erez Zadok [Fri, 19 Sep 2003 23:38:23 +0000 (23:38 +0000)]
* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
type-punned pointer will break strict-aliasing rules".
Ion Badulescu [Wed, 17 Sep 2003 19:20:24 +0000 (19:20 +0000)]
* Released beta version 6.1b4
Ion Badulescu [Tue, 16 Sep 2003 23:45:12 +0000 (23:45 +0000)]
* doc/am-utils.texi (opts Option): removed documentation for old
ignore_portmapper mount option, documented the new webnfs option
Ion Badulescu [Tue, 16 Sep 2003 04:14:36 +0000 (04:14 +0000)]
* NEWS: webnfs support
* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
(former "ignore_portmapper") mount option is present
* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
filehandle (all zeros) if MFF_WEBNFS is set
(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
Ion Badulescu [Sat, 13 Sep 2003 23:07:55 +0000 (23:07 +0000)]
* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
to create_ping_payload; renamed nfs_pinged to
nfs_keepalive_callback; renamed nfs_timed_out to
nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
made ping_buf and ping_len arrays with one element for each
supported nfs version
* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
* amd/amfs_host.c (amfs_host_init): ditto
* amd/ops_nfs.c (call_mountd): ditto
Rainer Orth [Wed, 3 Sep 2003 21:08:04 +0000 (21:08 +0000)]
* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
patches.
Erez Zadok [Mon, 1 Sep 2003 06:34:39 +0000 (06:34 +0000)]
* amd/autil.c (strealloc): don't call malloc_verify() unless it
exists.
* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
after we figure out PROG_CC and other compiler features, because
some of the option processing macros need a compiler to function.
* libamu/xutil.c: don't define variables that won't be used unless
mallinfo() and malloc_verify() exist.
(real_plog): don't call checkup_mem unless
mallocinfo() and malloc_verify() exist.
(checkup_mem): don't define this function unless mallocinfo() and
malloc_verify() exist.
* m4/macros/opt_debug.m4: check for functions malloc_verify and
mallinfo in general libraries and then in libmapmalloc and
libmalloc. These seem to have disappeared in FreeBSD 5.x.
* libamu/xutil.c (dxfree): print pointer using %p
Erez Zadok [Sat, 30 Aug 2003 01:58:14 +0000 (01:58 +0000)]
* configure.in: start 6.1b4-pre officially (belated)
* minor new port: i686-apple-darwin6.6
* Released beta version 6.1b3
Ion Badulescu [Thu, 28 Aug 2003 03:10:34 +0000 (03:10 +0000)]
* conf/autofs/autofs_solaris_v1.c: convert relative targets to
absolute paths when using lofs mounts
* conf/autofs/autofs_solaris_v2_v3.c: ditto
* conf/autofs/autofs_linux.c: ditto
Ion Badulescu [Wed, 27 Aug 2003 19:55:09 +0000 (19:55 +0000)]
* README.autofs: added a paragraph about the resource consumption
of auto maps over autofs
Ion Badulescu [Wed, 27 Aug 2003 16:30:03 +0000 (16:30 +0000)]
* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
the MFF_IS_AUTOFS flag from init_mntfs() to
amfs_lookup_one_mntfs(), where it belongs
* amd/mntfs.c (init_mntfs): ditto
Ion Badulescu [Wed, 27 Aug 2003 15:24:31 +0000 (15:24 +0000)]
* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
denied a filehandle by the server (used to be EIO)
Erez Zadok [Wed, 27 Aug 2003 04:57:20 +0000 (04:57 +0000)]
* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
Ion Badulescu [Wed, 27 Aug 2003 04:39:36 +0000 (04:39 +0000)]
* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
daemon-initiated timeouts on autofs filesystems, since apparently
they appear as "always busy" to the kernel-based expiration routine
Ion Badulescu [Tue, 26 Aug 2003 14:17:26 +0000 (14:17 +0000)]
This should fix Nick's problem with relative link targets,
as well as a problem with nfsl that I discovered myself.
* NEWS: updated
* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
FS_ON_AUTOFS
(AUTOFS_LINKX_FS_FLAGS): ditto
* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
FS_ON_AUTOFS
(AUTOFS_LINKX_FS_FLAGS): ditto
* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
FS_ON_AUTOFS
(AUTOFS_LINKX_FS_FLAGS): ditto
* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
original opt_fs, instead store the new mount point for autofs in a
temporary variable and pass it around. Fixes a problem with the
link side of nfsl.
Ion Badulescu [Mon, 25 Aug 2003 23:49:45 +0000 (23:49 +0000)]
This is primarily a speedup change for restarting inherited
filesystems.
* NEWS: updated
* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
initialize the fh_wchan member of the cache entry
(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
argument of call_mountd()
* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
wchan_t argument of wakeup()
* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
wchan_t argument of wakeup_task() and wakeup()
* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
wchan_t argument of nfs_srvr_port()
* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
argument of sched_task() and wakeup()
(amfs_retry): minor cleanup
(amfs_bgmount): call nfs_quick_reply on failure
* amd/sched.c (get_mntfs_wchan): new function which calls the
member function get_wchan if defined, otherwise returns the mntfs
pointer itself
* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
calls get_mntfs_wchan() on the inherited filesystem
* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
of the ops to 0
* amd/amd.h: new function type vget_wchan
(struct mntfs): new member get_wchan which returns the waiting
channel associated with the mntfs (normally itself)
Ion Badulescu [Fri, 22 Aug 2003 19:54:11 +0000 (19:54 +0000)]
* conf/mount/mount_linux.c (parse_opts): minor cleanup
* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
break in case autofs_ptype_expire_multi
Ion Badulescu [Fri, 22 Aug 2003 05:16:10 +0000 (05:16 +0000)]
* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
autofs_args_t cannot be determined (hopefully fixes a reported
IRIX 6.5.4 problem).
* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
HAVE_FS_AUTOFS / #endif (see above)
* conf/autofs/autofs_linux.h: undefine autofs support if the
necessary header files are not found (fixes a reported RedHat 6.2
Sparc problem).
* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
HAVE_FS_AUTOFS / #endif (see above)
* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
* amd/map.c (unmount_mp, unmount_exported): move the code that
changes the fattr from NFLNK to NFDIR from unmount_mp to
unmount_exported, it was causing troubles (ESTALE) after failed
unmounts. This is still very very unclean, but it's the same as the
old 6.0 code.
patch from Nick:
* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
pointer as a string to plog, Solaris (and other OS's) don't like
it and will dump core.
Ion Badulescu [Wed, 13 Aug 2003 19:35:05 +0000 (19:35 +0000)]
This is a cosmetic change only, and doesn't touch any real code.
* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
aliases of voidp. This makes reading the code easier on the eyes. :)
* ALL: replace various instances of voidp with wchan_t and
opaque_t, as appropriate
Ion Badulescu [Wed, 13 Aug 2003 19:29:51 +0000 (19:29 +0000)]
* NEWS, configure.in: bumped version up to 6.1b4-pre
Ion Badulescu [Wed, 13 Aug 2003 19:16:02 +0000 (19:16 +0000)]
* Released beta version 6.1b3
Ion Badulescu [Wed, 13 Aug 2003 16:21:45 +0000 (16:21 +0000)]
* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
symlinks for host mounts; assorted fixes for the symlink mode
Ion Badulescu [Tue, 5 Aug 2003 04:54:09 +0000 (04:54 +0000)]
* conf/umount/umount_default.c (umount_fs): enable space hack
handling for autofs v1
Ion Badulescu [Tue, 5 Aug 2003 04:27:44 +0000 (04:27 +0000)]
* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
functions that facilitate iterating through the list of
mountpoints
* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
and get_next_exported_ap
* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
Erez Zadok [Tue, 5 Aug 2003 03:32:06 +0000 (03:32 +0000)]
* configure.in: check if system stores mount tables in files
(usually in /etc), and configure couldn't find a definition for
either struct mntent or struct mnttab. If so, abort configure
because this could be a new/misconfigured system, or a bug in
am-utils.
Ion Badulescu [Mon, 4 Aug 2003 23:51:58 +0000 (23:51 +0000)]
* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
compile warning
Ion Badulescu [Mon, 4 Aug 2003 20:49:57 +0000 (20:49 +0000)]
Executive summary: sublinks might work, not yet well-tested.
* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
ops->mount_fs() for an already mounted filesystem
(autofs_umount_fs): only call ops->umount_fs() if we're holding
the last reference to the filesystem
* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
(autofs_umount_fs): ditto
* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
(autofs_umount_fs): ditto
* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
already-mounted filesystems
(amfs_cont): only release the autofs_fh if the filesystem is not
mounted; add another comment about the NFS_SCALEDOWN hack
(amfs_bgmount): if the mntfs is already mounted, skip just the
filesystem initialization, but do call mount_node()
* amd/map.c (mount_node): always call autofs_mount_fs(), but only
call ops->mount_fs() if the mntfs is not yet mounted
(unmount_node): always call autofs_umount_fs(), but only call
ops->umount_fs() if the refcount on the mntfs equals 1.
Erez Zadok [Sat, 2 Aug 2003 18:56:30 +0000 (18:56 +0000)]
* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
define dummy struct netexport, and include <ufs/ufs/extattr.h>
wrapped in _KERNEL).
* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
here with the proper workarounds for freebsd5.1 (define dummy
struct ufs_extattr_per_mount).
* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
here with the proper workarounds for bsdi2 (define MAXQUOTAS and
dummy struct netexport).
* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
here, b/c every *BSD system has some sort of problem in including
this header file, which includes ugly workarounds. Inclusion of
this header was already moved out of am_defs.h (used to compile
amd), but we forgot to move it out of mount_headers1.h (used to
configure). The specific inclusion of ufsmount.h is now in the OS
specific nfs_prot.h file.
* configure.in: if configure could not find any definition for
"struct nfs_args", abort configure with an explanatory message.
There's no point in continuing, as this could be a system bug,
buggy am-utils, or a new system to which am-utils wasn't ported to
yet.
* minor new port: i386-pc-solaris2.9
Ion Badulescu [Fri, 1 Aug 2003 21:22:39 +0000 (21:22 +0000)]
* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
match the code (as well as basic logic operations: the negation of
'a or b' is 'not a and not b', not 'not a or not b')
Erez Zadok [Fri, 1 Aug 2003 20:31:16 +0000 (20:31 +0000)]
* minor new port: i386-unknown-openbsd3.3.
* m4/macros/check_libwrap_severity.m4: new macro to check if
libwrap includes the integer variables deny_severity and
allow_severity, since some libwrap implementations do and others
don't. The test tries to compile and run a simple empty main()
program, then the same program while defining these two variables:
comparing the results of the two tests, we can tell whether we
should define NEED_LIBWRAP_SEVERITY_VARIABLES.
* Makefile.am (EXTRA_DIST_M4): distribute new macro
check_libwrap_severity.m4.
* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
we must define explicitly since we've overridden the
action-if-found in AC_CHECK_LIB(wrap). Also template for
NEED_LIBWRAP_SEVERITY_VARIABLES.
* amd/amq_svc.c: if libwrap does not include the severity
variables, then define and initialize them here.
* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
Amd binary. Other am-utils binaries don't need -lwrap.
* configure.in: if libwrap is found, only define it in @WRAPLIB@,
so we don't automatically link every am-utils binary with -lwrap.
Run test for existence of severity variables in libwrap.
* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
and gid.
* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
as possible because on modern tcpwrapper systems such as openbsd,
the caller must provide two symbols: deny_severity and
allow_severity, which determine the logging level of rejected and
requested requests, respectively. If this check happens too
early, then $LIBS includes -lwrap, which causes many subsequent
tests that need to run a compiled program to fail with missing
symbols.
* m4/macros/header_templates.m4: fix typo in template for
readdirplus.
* include/mount_headers1.h: include <ufs/ufs/extattr.h> before
<ufs/ufs/ufsmount.h> to provide definitions of struct
ufs_extattr_per_mount (OpenBSD 3.3).
* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
* minor new port: i386-unknown-netbsdelf1.6.1.
* configure.in: save state before system-specific tests are run.
* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
because the compiled test program failed to run.
Ion Badulescu [Fri, 1 Aug 2003 19:16:55 +0000 (19:16 +0000)]
Solaris autofs v1 works again, sublinks are still broken. The
mkdir/rmdir handling has been cleaned up.
* NEWS, README.autofs: updated
* libamu/mount_fs.c (mount_fs): added support for the space hack
* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
are not expired by default; correct and expand the section
describing the program filesystem
* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
FS_ON_AUTOFS for supported filesystems
* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
mf->mount_fs()
(autofs_umount_fs): call mf->umount_fs()
* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
prototype for malloc()
(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
supported filesystems
* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
for the space hack; call mf->mount_fs()
(autofs_umount_fs): add support for the space hack; call
mf->umount_fs()
(autofs_mount_succeeded): add support for the space hack
* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
FS_ON_AUTOFS for supported filesystems
* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
(autofs_mounted): host mounts are now supported on all autofs
versions, remove the hack to turn it off on v3
(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
as needed
(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
success
(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
'#ifdef autofs_ptype_expire_multi'
* amd/map.c (mount_node): autofs_mount_fs() now calls
mf->mount_fs() internally
(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
internally
* amd/autil.c (am_mounted): minor cleanup
* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
nfs_fs_flags
* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
flag instead of hardcoding filesystem types
(amfs_bgmount): better mount_type logging
* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
this filesystem can be mounted directly onto an autofs mountpoint
Ion Badulescu [Thu, 31 Jul 2003 19:22:24 +0000 (19:22 +0000)]
* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
calling amfs_link_ops.umount_fs() for NFS filesystems
(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
properly elsewhere
(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
using link (not NFS)
Rainer Orth [Thu, 31 Jul 2003 16:19:12 +0000 (16:19 +0000)]
* README.autofs: Correct IRIX spelling.
AutoFS support exists only on IRIX 6.
Update IRIX 6 status.
Allow AutoFS V1 support to compile on IRIX 6.
* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
SVCXPRT * arg.
Remove superfluous \n from dlog messages.
(autofs_unmount_1_req): Likewise.
Switch to get_exported_ap.
(autofs_program_1): Invoke handlers with additional transp arg.
* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
AutoFS mounts.
[HAVE_FS_LOFS]: Likewise for lofs mounts.
* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
Don't disable AutoFS support any more.
* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
(register_autofs_service): Define autofs_xprt.
* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
Solaris 8+ comment to mention AutoFS V4.
(irix6*): Enable AutoFS V1 support on IRIX 6.
Erez Zadok [Wed, 30 Jul 2003 23:29:34 +0000 (23:29 +0000)]
* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
of autofs_use_lofs.
Rainer Orth [Wed, 30 Jul 2003 16:43:17 +0000 (16:43 +0000)]
* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
MFF_ON_AUTOFS flag.
(efs_umount): Likewise.
Erez Zadok [Wed, 30 Jul 2003 15:57:19 +0000 (15:57 +0000)]
fix umount_bsd44
Ion Badulescu [Wed, 30 Jul 2003 06:56:03 +0000 (06:56 +0000)]
* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
hack; pass a new on_autofs argument to mount/umount function,
based on the MFF_ON_AUTOFS mntfs flag
* NEWS, README.autofs: updated
* scripts/amd.conf.5: document new option autofs_use_lofs
* scripts/amd.conf-sample (autofs_use_lofs): document new option
* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
the autofs header as amu_autofs_prot.h instead of slurping it into
aux_conf.h
* libamu/mount_fs.c (mount_fs): removed old stub, renamed
mount_fs2 to mount_fs, added new argument on_autofs
* doc/am-utils.texi (Direct Automount Filesystem): document
problems with nfs direct mounts on modern kernels, document good
autofs support for direct mounts on Solaris
(autofs_use_lofs Parameter): document this new option
(browsable_dirs Parameter): note that mount storms are avoided
when using autofs
* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
renamed umount_fs2 to umount_fs
* conf/umount/umount_osf.c (umount_fs): removed old stub,
renamed umount_fs2 to umount_fs, added new argument on_autofs
* conf/umount/umount_default.c (umount_fs): ditto as above; return
an error on ENOENT instead of faking success
* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
simplified, now only consults the map for existance of the key and
returns success if key is found
(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
not on;
(autofs_mount_2_free): implemented
(autofs_unmount_2_req): use get_exported_ap() instead of
referencing export_ap directly
(autofs_mount_succeeded): remove code for replying to lookup
requests, now only mount requests can end up here
(autofs_mount_failed): ditto
* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
FS_AUTOFS
(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
FS_AUTOFS
(AUTOFS_DIRECT_FS_FLAGS): added FS_IRECTORY
(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
factored out of autofs_umount_fs()
(autofs_mount_fs): renamed from autofs_link_mount() and expanded
to deal with filesystems mounted indirectly (via lofs/bind
mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
(autofs_umount_fs): ditto, from autofs_link_umount()
* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
* (autofs_umount_fs): ditto
* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
* (autofs_umount_fs): ditto
* amd/opts.c: made fs_static static
* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
and nfs_umounted static
(mount_nfs_fh): removed unnecessary arguments
* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
the ffserver method, because using NULL causes problems
* amd/ops_cdfs.c (cdfs_ops): ditto
* amd/ops_efs.c (efs_ops): ditto
* amd/ops_lofs.c (lofs_ops): ditto
* amd/ops_pcfs.c (pcfs_ops): ditto
* amd/ops_ufs.c (ufs_ops): ditto
* amd/ops_xfs.c (xfs_ops): ditto
* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
map.c
* amd/nfs_start.c: use get_exported_ap() instead of referencing
exported_ap directly
* amd/mntfs.c (locate_mntfs): new function, factored out of
find_mntfs
(locate_mntfs): special-case FS_DIRECT filesystems: for direct
mounts we will have two filesystems mounted on the same m/p
(realloc_mntfs): removed the old EZK hack for failovers
* amd/map.c (get_exported_ap): new function that returns an
exported_ap member by its index
(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
made static
(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
(get_root_ap): removed unused second argument
(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
to catch more cases
(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
nodes
(unmount_node): call autofs_umount_fs before ops->umount_fs for
autofs nodes
* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
values
* amd/autil.c (amfs_mount): take an extra argument (mf)
(amfs_mount): call autofs_compute_mount_flags() for mounts
directly on autofs m/p
(am_unmounted): document and avoid the race between am_umounted()
at shutdown time and amfs_cont()
* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
instead of referencing internal map variables directly
* amd/amq_subr.c (amqproc_export_1_svc): ditto
* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
nfs_fs_flags
(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
(amfs_toplvl_umount): refuse to attempt the unmount if the
mountpoint is not a directory
* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
flag into the nfs f/s at the bottom of the stack
* amd/amfs_nfsl.c: call nfs and link member functions through
their respective am_ops structures, not directly
* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
static functions
(amfs_link_mount): removed call to autofs_link_mount()
(amfs_link_umount): removed call to autofs_link_umount()
* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
nfs_fs_flags
(do_mount): removed superfluous function arguments
* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
nfs_fs_flags
* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
nfs_fs_flags
(amfs_auto_mount): pass extra argument (mf) to amfs_mount
* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
use lofs-mounts or symlinks when mounting on autofs
(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
(VLOOK_LOOKUP): new flag, will merely check if a key exists
(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
on an autofs m/p, or indirectly via a lofs mount/symlink
(fh_to_mp2): macro expanded throughout the code and removed
(mntfs): removed mf_real_mount hack
(autofs_mount_fs): renamed from autofs_link_mount
(autofs_umount_fs): renamed from autofs_link_umount
(mount_lofs): exposed
various other cleanups, functions/variables made static and removed
* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
included directly as amu_autofs_prot.h
Erez Zadok [Fri, 25 Jul 2003 00:48:13 +0000 (00:48 +0000)]
* doc/am-utils.texi, scripts/amd.conf.5: document that
use_tcpwrappers is "yes" by default.
* amd/amd.c (init_global_options): set default global options.
* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
are always on (plock and use_tcpwrappers).
* scripts/amd.conf-sample: reorganize values per option so default
one is listed first.
Erez Zadok [Thu, 24 Jul 2003 00:07:49 +0000 (00:07 +0000)]
* tasks: trim old stuff. Discuss new parser.
Erez Zadok [Wed, 23 Jul 2003 23:35:44 +0000 (23:35 +0000)]
* amd/conf.c (set_conf_kv): initialize the very first map in conf
file from global defaults. Bug fix which was introduced after
conf.c code restructuring.
Erez Zadok [Fri, 18 Jul 2003 22:25:09 +0000 (22:25 +0000)]
* m4/macros/header_templates.m4: template for
HAVE_EXTERN_HOSTS_CTL.
* include/am_defs.h: define extern for hosts_ctl() if needed.
* configure.in (AMU_CHECK_EXTERNS): check for extern definition
for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
Erez Zadok [Fri, 18 Jul 2003 21:38:00 +0000 (21:38 +0000)]
* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
Erez Zadok [Fri, 18 Jul 2003 21:31:54 +0000 (21:31 +0000)]
* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
amd.conf global option use_tcpwrappers=yes.
Erez Zadok [Fri, 18 Jul 2003 21:21:03 +0000 (21:21 +0000)]
* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
doc/am-utils.texi (use_tcpwrappers Parameter): document new
amd.conf global option.
* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
option called use_tcpwrappers ("no" by default).
* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
code only if both libwrap and tcpd.h exist.
(amq_program_1): log warning when an Amq service client is denied,
and a debug message when a client is allowed.
* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
* include/am_defs.h: include tcpd.h if available and libwrap
available.
* configure.in: check for tcpd.h.
* amq/amq.8: Document the libwrap/amd behavior.
* amd/amq_svc.c (libwrap_check_client): New function to validate
an amq connection with libwrap.
(amq_program_1): Call libwrap_check_client() and close the
connection if libwrap does not allow it.
* configure.in: Check for the tcp wrappers library.
Erez Zadok [Fri, 18 Jul 2003 15:17:35 +0000 (15:17 +0000)]
* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
because it removes useful spaces in between paragraphs. Based on
smaller patch from Philippe Troin <phil@fifi.org>.
Erez Zadok [Fri, 18 Jul 2003 00:49:17 +0000 (00:49 +0000)]
* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
(hlfsd_init): cast pointers to void* before casting them to
another type, to avoid gcc-3.3 -Wall warnings.
Erez Zadok [Fri, 18 Jul 2003 00:44:19 +0000 (00:44 +0000)]
rename fsinfo function log() to fsi_log(), to
avoid conflict with builtin function in gcc-3.3.
Rainer Orth [Wed, 16 Jul 2003 23:47:48 +0000 (23:47 +0000)]
* scripts/amd.conf-sample: Remove obsolete comment.
Erez Zadok [Wed, 16 Jul 2003 23:17:20 +0000 (23:17 +0000)]
* doc/am-utils.texi (map_defaults Parameter): document new
map_defaults option.
* scripts/amd.conf.5: document new map_defaults option.
* scripts/amd.conf-sample (map_type): show examples of new
map_defaults option.
* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
* amd/get_args.c (get_args): call process_all_regular_maps().
* amd/conf.c: keep head and tail of cfm list.
(init_cf_map): reworked reset_cf_map. This one doesn't reset a
globaly reused cfm, but rather just inherits [global] options.
(set_conf_kv): just store global/map options without actually
creating any mnt_map's. Essentially, we now parse the whole
amd.conf file, and then try to process the maps one at a time.
(process_one_regular_map): new function to process one map, just
renamed from process_regular_map.
(process_all_regular_maps): new exported function to process all
maps. No need for hacky process_last_map().
(find_cf_map): new exported function to return a cf_map_t given a
map's mount point (e.g., /home or /net).
* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
specificed a map_defaults for a given map. If so, use that
instead of the /defaults that came from the map itself. Also
restructure code a bit so it's not one huge long "if" statement.
HACK ALERT: there's no easy way to find out what the map mount
point is at this point, so I am forced to initialize the
mnt_map->cfm field here for the first time, upon the very first
search for a /defaults entry in this map. This initialization is
much better done in mapc_create(), but it's impossible to do that
there with the current code structure.
* amd/amd.h: struct cf_map becomes linked list. struct mnt_map
includes pointer to cf_map_t, amd.conf defaults and options for a
given map. extern cleanups.
Ion Badulescu [Wed, 16 Jul 2003 14:05:52 +0000 (14:05 +0000)]
document brokenness of host maps with autofs on non-Linux platforms
Erez Zadok [Wed, 16 Jul 2003 14:02:51 +0000 (14:02 +0000)]
check for h/w failures in file maps
Ion Badulescu [Wed, 16 Jul 2003 13:39:51 +0000 (13:39 +0000)]
fix minor grammar mistake of mine
Rainer Orth [Wed, 16 Jul 2003 13:23:20 +0000 (13:23 +0000)]
* BUGS (Solaris 8): Update patch revisions, mention old autofs
patches, fix filenames and rpcgen command.
Erez Zadok [Tue, 15 Jul 2003 22:11:01 +0000 (22:11 +0000)]
* amd/info_hesiod.c (hesiod_search): It's not possible to have a
key such as ".access" in a hesiod map as that would imply a null
node in the DNS tree. So a lookup for such a key must clearly
fail. With the current info_hesiod.c it does (after calling
hes{,iod}_resolve) but returns an error that confuses some
programs - eg. apache. This patch shortcuts the process and just
returns ENOENT for any key starting with ".". Patch submitted by
by Mark Davies <mark@mcs.vuw.ac.nz>.
* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
fsinfo's own xcalloc.
* fsinfo/fsi_util.c (xcalloc): remove redundant function.
* doc/Makefile.am (install-html): support newer texi2html 4.0
* m4/macros/check_map_funcs.m4:
* incipient (non-functional) AIX autofs support
because it doesn't exist on Solaris 9's latest ldap libraries.
* libamu/xutil.c: remove __attribute__ format_arg statement for
AC_MSG_NOTICE
* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
foofs_readlink, foofs_ffserver): Likewise.
* conf/autofs/autofs_default.[ch]: New files, empty.
* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
definition. Report from Ahmon Dancy <dancy@franz.com>.
not its parent, as it's needed for clean-up;
they are evaluated and show up in Solaris 8 in-kernel mnttab.
option.
objects.
format.
formats.
format.
format.
format.
format.
too.
* amd/get_args.c (get_args):
system supports syslog and/or syslog facilities. Patch from
* NFS V3 now works under Irix5, thanks to patches from
Also no longer need to include libc explicitly.
better. Also run bsd44 and irix style ps programs.
children.
NFS protocol headers to use.
Erez Zadok [Tue, 15 Jul 2003 18:56:12 +0000 (18:56 +0000)]
confirm builds with Solaris yacc
Erez Zadok [Mon, 14 Jul 2003 15:01:57 +0000 (15:01 +0000)]
xlatecookie mnttab option
Ion Badulescu [Mon, 14 Jul 2003 04:01:46 +0000 (04:01 +0000)]
* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
v4 without updating all the header files)
Ion Badulescu [Mon, 14 Jul 2003 03:22:04 +0000 (03:22 +0000)]
document the new failover behavior
Ion Badulescu [Mon, 14 Jul 2003 02:35:39 +0000 (02:35 +0000)]
* NEWS, tasks: updated
* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
the am_mfarray, unconditionally
(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
dup_mntfs when starting processing of a new one; make sure we
always go through 'goto failed' for a failed mntfs; use the error
code returned by autofs_get_fh()
* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
codes in case of problems
Erez Zadok [Mon, 14 Jul 2003 02:15:04 +0000 (02:15 +0000)]
* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex. In
short, use flex.
* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
lex scanners don't run out of mem.
Ion Badulescu [Mon, 14 Jul 2003 00:16:03 +0000 (00:16 +0000)]
* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
special provision
* amd/mntfs.c (find_mntfs): compare the filesystem type
(i.e. mf_ops) in addition to mf_info; the special provision
mentioned below is really for any filesystem already mounted on
our mount point, not just for inherited filesystems
Erez Zadok [Mon, 14 Jul 2003 00:12:18 +0000 (00:12 +0000)]
* doc/Makefile.am (install-html): build per-chapter HTML manual,
as well as manual in one big HTML file.
* doc/am-utils.texi: Minor corrections. Ack Ion's autofs work.
Ack maintainers. New section on How to get additionl info,
including the Amd book. Correct stale URLs and Emails.
Erez Zadok [Sun, 13 Jul 2003 21:03:56 +0000 (21:03 +0000)]
space
Erez Zadok [Sun, 13 Jul 2003 21:03:23 +0000 (21:03 +0000)]
* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
scripts/amd.conf.5, scripts/automount2amd.8,
wire-test/wire-test.8: include references to info pages, proper
authors, am-utils Web page, and amd book.
Ion Badulescu [Sun, 13 Jul 2003 20:59:52 +0000 (20:59 +0000)]
* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
a special provision for inherited filesystems. This unbreaks the
handling of parallel mounts
* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
filesystems, there can be no alternative mntfs to try to mount
Erez Zadok [Sun, 13 Jul 2003 20:25:41 +0000 (20:25 +0000)]
* amd/amd.8: reference am-utils info page in amd man page, as per
Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
Erez Zadok [Sun, 13 Jul 2003 19:11:18 +0000 (19:11 +0000)]
* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
yywrap() if it doesn't exist.
* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
newer flex 2.5.31 (beta development). These include resolving
conflicts with yylineno, unput() vs. nounput(), etc.
Ion Badulescu [Sun, 13 Jul 2003 18:35:13 +0000 (18:35 +0000)]
* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
calling assign_error_mntfs()
(amfs_generic_mount_child): ditto
* amd/autil.c (assign_error_mntfs): move the check for
(am_error > 0) up into the parent, it's less confusing that way
Ion Badulescu [Sun, 13 Jul 2003 17:45:14 +0000 (17:45 +0000)]
compile fix for hpux11
Ion Badulescu [Sun, 13 Jul 2003 17:41:54 +0000 (17:41 +0000)]
more compile fixes
Ion Badulescu [Sun, 13 Jul 2003 17:40:46 +0000 (17:40 +0000)]
compile fix
Ion Badulescu [Sun, 13 Jul 2003 17:02:47 +0000 (17:02 +0000)]
fix missing parentheses -- parse error
Ion Badulescu [Sun, 13 Jul 2003 14:40:45 +0000 (14:40 +0000)]
* tasks: some updates
* conf/transp/transp_tli.c (check_pmap_up): new function which
detects if the remote portmapper is functional
(amu_clnt_create_best_version): removed
(get_nfs_version): use a much simplified version of the old
amu_clnt_create_best_version(), based on clnt_create_vers() and
its _timed() counterpart
* conf/transp/transp_sockets.c (check_pmap_up): new function which
detects if the remote portmapper is functional
(pmap_ping): deleted
(get_nfs_version): removed calls to pmap_ping, already done by
caller
* amd/srvr_nfs.c: call check_pmap_up() before continuing with
get_nfs_version()
* amd/amfs_generic.c: updated a couple of log messages
* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
changed LIBTOOL versioning to 3:0:0
Erez Zadok [Sun, 13 Jul 2003 01:19:59 +0000 (01:19 +0000)]
* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
macros.
Ion Badulescu [Sun, 13 Jul 2003 00:37:20 +0000 (00:37 +0000)]
* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
FS_AUTOFS because the host mount cannot be a top level mount
(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
doesn't support direct mounts
Ion Badulescu [Fri, 11 Jul 2003 01:43:07 +0000 (01:43 +0000)]
* include/am_utils.h (dlog): improved version for gcc, using
vararg macros
* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
without debugging
Erez Zadok [Thu, 10 Jul 2003 17:39:34 +0000 (17:39 +0000)]
* include/am_utils.h (dlog): change the #define of non-debugging
dlog to "nothing" so that all that'll be left behind is a list of
args in parenthesis (arg,arg,...). GCC and other native C
compilers seem OK with it, even if it doesn't optimize away the
whole debugging line.
* ltmain.sh: was from libtool 1.4.2. updated to libtool 1.4.3,
the latest on RH9 systems (but is not the latest libtool
available). Stay with stable version in preparation for 6.1
release.
* config.{guess,sub}, doc/texinfo.tex: update to latest off of
ftp.gnu.org.
* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
style comments: breaks non-C++ compilers (like AIX xlC 6)
Ion Badulescu [Wed, 2 Jul 2003 19:29:51 +0000 (19:29 +0000)]
* doc/am-utils.texi (opts Option): document ignore_portmapper option
* conf/transp/transp_sockets.c (get_nfs_version): better
protocol/version cycling while probing remote server; better log
messages
* amd/srvr_nfs.c (start_ping): improved log message
(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
sure we have a valid NFS port; start the server as "valid, down" if
the remote portmapper tells us the NFS service is not running;
implement the "ignore_portmapper" pseudo-mount option
* amd/rpc_fwd.c (fwd_packet): better debug messages
* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
denied; call wakeup even if mountd call fails
* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
instead of checking the flags directly
* amd/srvr_amfs_auto.c (free_srvr): ditto
* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
messages
* amd/amd.h (FSRV_ERROR): new macro
(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
local filesystem) is always up
Erez Zadok [Mon, 30 Jun 2003 16:55:47 +0000 (16:55 +0000)]
* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
umount options are present.
* doc/am-utils.texi (Program Filesystem): document alias options
to unmount:=, umount:=.
* amd/opts.c (expansions): initialize opt_umount.
(to_free): initialize opt_umount.
* amd/amfs_program.c (amfs_program_match): ensure that only one of
umount:= or unmount:= options are specified, but that at least one
of them is listed.
* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
annoying in type:program, when one forgets the 'n' in "unmount").
They are two separate fields, so we can catch mistakes when
someone tries to define both options.
* doc/am-utils.texi (Program Filesystem): explain that both mount
and unmount options must be specified. Correct example to show
both.
Erez Zadok [Wed, 25 Jun 2003 19:51:10 +0000 (19:51 +0000)]
* XXX: beginning of new amd.conf option map_defaults: will parse
the option and set remember it in the right places. Need to
document this and actually hook it up with the rest of the code.
Any volunteers? :-)
* scripts/amd.conf-sample (map_defaults): example of map_defaults
amd.conf option.
* amd/conf.c (reset_cf_map): initialize global and per-mount
map_defaults.
(gopt_map_defaults): parse global map_defaults.
(process_regular_option,ropt_map_defaults): parse per-map
map_defaults amd.conf option.
* amd/amd.h: a place to store global and per-mount map_defaults.
* BUGS: more notes about AIX 5.2 problems and how to overcome
them.
Erez Zadok [Tue, 10 Jun 2003 08:10:15 +0000 (08:10 +0000)]
* doc/Makefile.am: force version.texi to be rebuilt regardless of
maintainer mode. Silly Automake will not build version.texi if
maintainer mode is off (this is hardcoded into the automake perl
script!). According to the Automake maintainers, users should
always build in CVS trees with maintainer-mode on; but what if I
don't want to?! I don't want to distribute Makefiles with
maintained rules in them to users. The Automake maintainers also
say that "make dist" will rebuild version.texi no matter what. I
find that not to be the case. It failed to run a "make" before
"make dist" because version.texi doesn't exist! Chicken and Egg
situation. So, until Automake deals with version.texi in a more
flexible and friendly manner, I adapted a rule to build
version.texi and inserted it in this Makefile.am.
Erez Zadok [Mon, 9 Jun 2003 16:58:01 +0000 (16:58 +0000)]
* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
next best thing to using mkstemp(). Patch from Hendrik Scholz
<hscholz@raisdorf.net>.
* applied fixes from Rainer Orth for Solaris 8.
Ion Badulescu [Thu, 8 May 2003 17:59:45 +0000 (17:59 +0000)]
added Sean Fagan
Ion Badulescu [Thu, 8 May 2003 17:58:09 +0000 (17:58 +0000)]
* libamu/mount_fs.c (compute_automounter_mount_flags): use
MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
* m4/macros/header_templates.m4: added template for
MNT2_GEN_OPT_AUTOMOUNTED
Ion Badulescu [Thu, 1 May 2003 18:00:06 +0000 (18:00 +0000)]
compile fix for ops_xfs.c when autofs support is enabled
Erez Zadok [Wed, 23 Apr 2003 14:49:58 +0000 (14:49 +0000)]
* conf/transp/transp_sockets.c (create_amq_service): minor cpp
directive indentation and commenting.
* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
for an RPC library DoS issue (original patch from Martin Blapp,
Ion Badulescu [Wed, 23 Apr 2003 03:19:16 +0000 (03:19 +0000)]
* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix for
an RPC library DoS issue (original patch from Martin Blapp,
massaged into something more digestable by me)
Ion Badulescu [Tue, 15 Apr 2003 02:01:47 +0000 (02:01 +0000)]
* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
left over from the recent cleanup
Erez Zadok [Mon, 14 Apr 2003 01:22:40 +0000 (01:22 +0000)]
* doc/Makefile.am (DVIPS): use proper options for dvips.
* doc/am-utils.texi (opts Option): document new 'unmount' option,
and better explain the 'nounmount' option. Also some misc options
for better generation of html manual.
* doc/Makefile.am (install-html): support newer text2html 4.0
options, as older options were renamed or changed behavior.
* amd/autil.c (am_mounted): support new 'unmount' option, to allow
all file system mounts to timeout and thus expire. This option is
useful for removable local media such as CD-ROMs, USB drives,
etc. so they can expire when not in use, and get unmounted (such
drives can get work out when they keep spinning). Patch from
Christos Zoulas <christos@zoulas.com> (originally from Koji
Imada).