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).
Erez Zadok [Thu, 10 Apr 2003 15:55:37 +0000 (15:55 +0000)]
* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
do not get added to Makefiles by default (they are confusing to
users who don't have autotools installed).
Ion Badulescu [Wed, 9 Apr 2003 13:06:55 +0000 (13:06 +0000)]
* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
the 2001-05-23 entry) back to the 6.0 code
Erez Zadok [Fri, 4 Apr 2003 15:51:55 +0000 (15:51 +0000)]
* libamu/xutil.c (switch_to_logfile): don't try to print logfile
if it is null (strlen core dump on solaris). Bug report from John
P. Rouillard <rouilj@ieee.org>.
Erez Zadok [Mon, 31 Mar 2003 20:49:48 +0000 (20:49 +0000)]
* fsinfo/fsinfo.8: typo co-ordinate -> coodinate. Typo report
from Perry E. Metzger" <perry@piermont.com>.
Erez Zadok [Wed, 26 Mar 2003 02:19:51 +0000 (02:19 +0000)]
* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
because modern systems (e.g., BSD) complain if you use malloc.h
instead of stdlib.h. Let's hope there are no systems out
there that need both.
Erez Zadok [Thu, 20 Mar 2003 23:12:48 +0000 (23:12 +0000)]
* minor new port: sparc64-unknown-linux-suse7.3.
* minor new port: i386-unknown-freebsd5.0.
* configure.in: detect nfsclient/nfsargs.h.
* conf/nfs_prot/nfs_prot_freebsd3.h: include
<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
Erez Zadok [Mon, 17 Mar 2003 16:20:22 +0000 (16:20 +0000)]
add ldap schema
Erez Zadok [Sun, 16 Mar 2003 01:47:36 +0000 (01:47 +0000)]
* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
scripts/amd.conf.5, scripts/expn.1: minor spell checking and
extraneous space elimination.
Ion Badulescu [Fri, 7 Mar 2003 17:24:49 +0000 (17:24 +0000)]
* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
descriptors if limit exceeded
(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
(autofs_release_fh): release pending_mounts and pending_umounts
queues
(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
* amd/mntfs.c (init_mntfs): delete initialization of removed
mf_autofs_fh
(uninit_mntfs): delete call to autofs_release_fh()
* amd/map.c (init_map): init autofs_fh to 0, delete initialization
of removed autofs_data
(free_map): release autofs_fh after unmounting map; delete call to
autofs_free_data()
(umount_exported): call autofs_release_mp() prior to unmounting
autofs f/s
(unmount_mp): ditto
(free_map_if_success): call autofs_get_mp() if unmounting fails
(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
timeouts instead of the per-mountpoint am_ttl
* amd/autil.c (am_unmounted): release autofs_fh after unmounting
autofs f/s
* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
autofs f/s fails;
(amfs_bgmount): ditto
* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
more related to the mount point than to the f/s mounted;
added am_autofs_ttl to am_node, for running expirations on entire
filesystems
* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
instead of autofs_fh_t *, in an effort to not deal with
autofs-specific data structures outside autofs code;
new methods autofs_get_mp() and autofs_release_mp(), which
acquire/release autofs resources to allow clean unmount attempts;
nuke autofs_data_t, never used
* amd/amd.h: prototypes for new and changed autofs functions
Ion Badulescu [Fri, 7 Mar 2003 14:10:41 +0000 (14:10 +0000)]
* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
(nfsproc_getattr_2_svc): reorganize the code a bit
* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
am_node * argument
* amd/amd.h: changed prototype for mk_fattr()
* amd/autil.c (am_unmounted): when remounting, use the parent
node's lookup_child() and mount_child() operations, not the
generic ones
* amd/amfs_generic.c (amfs_cont): minor code optimization
Ion Badulescu [Thu, 6 Mar 2003 22:54:53 +0000 (22:54 +0000)]
* amd/amfs_auto.c: lots of renames and code moving:
amfs_auto_match() -> amfs_generic_match(), moved to generic;
amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
free_continuation(): moved to generic, made static;
assign_error_mntfs(): moved to autil.c;
amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
try_mount() + mount_node() -> mount_node(), moved to map.c
amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
amfs_parse_defaults(): moved to generic;
amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
next_nonerror_node(): moved to autil.c;
amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
and moved to autil.c
* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
out of amd/amfs_auto.c
* amd/amd.h: struct continuation moved to generic.c; prototypes
for the renamed functions; NumChild renamed to NumChildren
* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
the latter
* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
make_entry_chain(): moved to readdir.c;
* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
amfs_generic_find_srvr()
* amd/amfs_*.c: adjustments for the renames above
* amd/ops_*.c: low-level filesystems don't need a find_server()
method
* amd/Makefile.am: added amfs_generic.c and readdir.c
* doc/am-utils.texi: minor clarification for auto maps
Ion Badulescu [Thu, 6 Mar 2003 21:27:03 +0000 (21:27 +0000)]
* amd/amd.h: moved lots and lots of amd-only stuff here, from
include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
to be function typedefs, not pointer to function typedefs
* include/am_utils.h: see above
* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
function typedef changes
Erez Zadok [Wed, 5 Mar 2003 18:12:00 +0000 (18:12 +0000)]
* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
bug.
Erez Zadok [Sun, 2 Feb 2003 21:43:42 +0000 (21:43 +0000)]
* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
Ion Badulescu [Fri, 31 Jan 2003 05:28:29 +0000 (05:28 +0000)]
* m4/macros/os_cflags.m4: rhapsody and darwin are the same
* amd/autil.c (mount_node): vastly simplified, just a wrapper now
* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
hack, we now do it properly in the generic code
* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
forking the child; set and reset MFF_MOUNTING here, not in
mount_node(), because the latter might be running in child
context; call am_mounted() after a successful foreground mount
Ion Badulescu [Wed, 29 Jan 2003 14:09:15 +0000 (14:09 +0000)]
* configure.in: new flag --with[out]-ndbm; don't pull in libldap
if building --without-ldap; look for the gdbm/ndbm.h header; make
explicit the dependency between the ndbm headers and libraries;
define NEW_DBM_H as the ndbm header that should be used
* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
instead of trying to second-guess configure
* m4/macros/header_templates.m4: new template for NEW_DBM_H
* m4/macros/check_map_funcs.m4:
(ac_upcase_map_name): use the third argument correctly
* ltmain.sh: working version from libtool-1.4.2-7
* buildall: print the entire configure command, including extra
arguments; pass each of the extra arguments separately, not
commingled into one
Ion Badulescu [Tue, 28 Jan 2003 16:23:48 +0000 (16:23 +0000)]
* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
DEBUG; it is not used without DEBUG, but it is referenced at
compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
(D_ALL): don't include D_XDRTRACE, too verbose and normally
unnecessary
Erez Zadok [Tue, 28 Jan 2003 16:13:59 +0000 (16:13 +0000)]
* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
for latest official GNU versions.
Erez Zadok [Sat, 25 Jan 2003 17:21:42 +0000 (17:21 +0000)]
* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
vmount).
Ion Badulescu [Sat, 25 Jan 2003 15:27:47 +0000 (15:27 +0000)]
updated
Ion Badulescu [Sat, 25 Jan 2003 14:56:38 +0000 (14:56 +0000)]
* Released beta version 6.1b2
Ion Badulescu [Sat, 25 Jan 2003 01:46:23 +0000 (01:46 +0000)]
* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
calling rmdirs() on mountpoint
* amd/amfs_auto.c (amfs_auto_bgmount): ditto
* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
Ion Badulescu [Sat, 25 Jan 2003 01:39:40 +0000 (01:39 +0000)]
* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
* NEWS: "sftlookup" -> "softlookup"
* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
check for "nosoftlookup" in combination with "soft"
Ion Badulescu [Sat, 25 Jan 2003 01:32:36 +0000 (01:32 +0000)]
updated with the linux & darwin tcp reconnection bug
Ion Badulescu [Thu, 23 Jan 2003 21:52:06 +0000 (21:52 +0000)]
* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
freebsd22 derivative
Ion Badulescu [Thu, 23 Jan 2003 21:24:27 +0000 (21:24 +0000)]
* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
Darwin
* conf/fh_dref/fh_dref_darwin.h: new file, Darwin needs pointers
to u_char
* undo previous changes
Erez Zadok [Thu, 23 Jan 2003 19:41:34 +0000 (19:41 +0000)]
ignore aix
Erez Zadok [Thu, 23 Jan 2003 19:35:56 +0000 (19:35 +0000)]
* conf/mount/mount_aix.c (mount_aix3): clean back this file from
all the debugging cruft that is no longer needed (and really was
never needed in the first place).
Ion Badulescu [Thu, 23 Jan 2003 18:34:44 +0000 (18:34 +0000)]
* NEWS: updated for Darwin changes
* .cvsignore: added A.i386-apple-darwin6.0
Ion Badulescu [Thu, 23 Jan 2003 18:29:53 +0000 (18:29 +0000)]
* libamu/mount_fs.c (compute_nfs_args): cast &(fh3.fh3_u.data) and
&(fhp->v2.fhs_fh) to (voidp) to avoid warnings on systems that
want them to be signed or unsigned char *.
Ion Badulescu [Thu, 23 Jan 2003 18:12:13 +0000 (18:12 +0000)]
* include/am_defs.h: make sure _P1003_1B_VISIBLE is defined when
including <sys/mman.h>, to expose mlockall() constants on Darwin
Erez Zadok [Fri, 10 Jan 2003 19:02:03 +0000 (19:02 +0000)]
* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
(map) files for testing basic amd functionality such as whether it
can mount its own mount NFS points.
Ion Badulescu [Sun, 29 Dec 2002 01:51:25 +0000 (01:51 +0000)]
* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
pings are disabled
Erez Zadok [Sun, 29 Dec 2002 01:09:08 +0000 (01:09 +0000)]
put space b/t var decls and code
Ion Badulescu [Sun, 29 Dec 2002 01:04:19 +0000 (01:04 +0000)]
removed entries for deleted revisions
Ion Badulescu [Sun, 29 Dec 2002 00:56:08 +0000 (00:56 +0000)]
* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
instead of casting the pointer to (enum_t *)
(xdr_mountstat3): ditto
(xdr_nfsstat): ditto
Ion Badulescu [Sun, 29 Dec 2002 00:46:31 +0000 (00:46 +0000)]
added explanation for last bugfix
Ion Badulescu [Sun, 29 Dec 2002 00:17:31 +0000 (00:17 +0000)]
* amd/amq_subr.c (xdr_amq_setopt): remove casts to (enum_t *),
they are at best useless and at worst broken
* libamu/xdr_func.c (xdr_ftype): ditto
(xdr_mountstat3): ditto
(xdr_nfsstat): ditto
* amq/amq_xdr.c (xdr_amq_opt): ditto
Ion Badulescu [Sat, 28 Dec 2002 23:48:35 +0000 (23:48 +0000)]
* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
64-bit big-endian platforms, bug report from Bill Fenner
<fenner@research.att.com>
Ion Badulescu [Sat, 28 Dec 2002 22:28:56 +0000 (22:28 +0000)]
* configure.in: increase library patchlevel
* libamu/xutil.c (amu_release_controlling_tty): close and reopen
file descriptors 0,1,2 before calling setsid()
Erez Zadok [Fri, 27 Dec 2002 22:43:44 +0000 (22:43 +0000)]
2003 copyright update
Erez Zadok [Tue, 10 Dec 2002 22:32:55 +0000 (22:32 +0000)]
* rename "aux/" subdir into "m4/" so as to avoid problems with
MS-DOS systems (where "AUX" is a reserved name). This required
fixing numerous files.
Erez Zadok [Tue, 10 Dec 2002 20:23:51 +0000 (20:23 +0000)]
* configure.in: don't check for bad hasmntopt() function if
hasmntopt() doesn't exist on the system, because we will replace
it with our own version anyway.
* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
dlog because htonl() returns a u_long.
Erez Zadok [Tue, 10 Dec 2002 20:06:26 +0000 (20:06 +0000)]
Mention autofs-v4 on solaris9 works.