autofs-5.1.8 - include addtional log info for mounts From: Ian Kent There has been a request to include some additional information when logging mounts and umounts, specifically host and mount location path. Signed-off-by: Ian Kent --- CHANGELOG | 1 + daemon/automount.c | 7 +++++-- daemon/indirect.c | 2 +- daemon/spawn.c | 6 +++--- modules/mount_bind.c | 4 ++-- modules/mount_ext2.c | 2 +- modules/mount_generic.c | 2 +- modules/mount_nfs.c | 4 +++- 8 files changed, 17 insertions(+), 11 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b22edc63..0688304e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -51,6 +51,7 @@ - fix incorrect path for is_mounted() in try_remount(). - fix additional tsv invalid access. - fix use_ignore_mount_option description. +- include addtional log info for mounts. 19/10/2021 autofs-5.1.8 - add xdr_exports(). diff --git a/daemon/automount.c b/daemon/automount.c index 64e95ee9..7c4d4303 100644 --- a/daemon/automount.c +++ b/daemon/automount.c @@ -1161,14 +1161,17 @@ static int get_pkt(struct autofs_point *ap, union autofs_v5_packet_union *pkt) int do_expire(struct autofs_point *ap, const char *name, int namelen) { char buf[PATH_MAX]; + const char *parent; int len, ret; if (*name != '/') { len = ncat_path(buf, sizeof(buf), ap->path, name, namelen); + parent = ap->path; } else { len = snprintf(buf, PATH_MAX, "%s", name); if (len >= PATH_MAX) len = 0; + parent = name; } if (!len) { @@ -1176,13 +1179,13 @@ int do_expire(struct autofs_point *ap, const char *name, int namelen) return 1; } - info(ap->logopt, "expiring path %s", buf); + info(ap->logopt, "expiring path %s on %s", buf, parent); pthread_cleanup_push(master_source_lock_cleanup, ap->entry); master_source_readlock(ap->entry); ret = umount_multi(ap, buf, 1); if (ret == 0) - info(ap->logopt, "expired %s", buf); + info(ap->logopt, "umounting %s succeeded", buf); else warn(ap->logopt, "couldn't complete expire of %s", buf); pthread_cleanup_pop(1); diff --git a/daemon/indirect.c b/daemon/indirect.c index 23ef9f41..4534907d 100644 --- a/daemon/indirect.c +++ b/daemon/indirect.c @@ -342,7 +342,7 @@ force_umount: "forcing umount of indirect mount %s", mountpoint); rv = umount2(mountpoint, MNT_DETACH); } else { - info(ap->logopt, "umounted indirect mount %s", mountpoint); + info(ap->logopt, "umounting indirect mount %s succeeded", mountpoint); if (ap->submount) rm_unwanted(ap, mountpoint, 1); } diff --git a/daemon/spawn.c b/daemon/spawn.c index 6f8856a9..85f7959c 100644 --- a/daemon/spawn.c +++ b/daemon/spawn.c @@ -542,7 +542,7 @@ done: while (errp && (p = memchr(sp, '\n', errp))) { *p++ = '\0'; if (sp[0]) /* Don't output empty lines */ - warn(logopt, ">> %s", sp); + debug(logopt, ">> %s", sp); errp -= (p - sp); sp = p; } @@ -553,7 +553,7 @@ done: if (errp >= ERRBUFSIZ) { /* Line too long, split */ errbuf[errp] = '\0'; - warn(logopt, ">> %s", errbuf); + debug(logopt, ">> %s", errbuf); errp = 0; } } @@ -567,7 +567,7 @@ done: if (errp > 0) { /* End of file without \n */ errbuf[errp] = '\0'; - warn(logopt, ">> %s", errbuf); + debug(logopt, ">> %s", errbuf); } if (waitpid(f, &ret, 0) != f) diff --git a/modules/mount_bind.c b/modules/mount_bind.c index 7f64332b..ebaa8a93 100644 --- a/modules/mount_bind.c +++ b/modules/mount_bind.c @@ -177,7 +177,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int return err; } else { - debug(ap->logopt, + mountlog(ap->logopt, MODPREFIX "mounted %s type %s on %s", what, fstype, fullpath); } @@ -252,7 +252,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int } return 1; } else { - debug(ap->logopt, + mountlog(ap->logopt, MODPREFIX "symlinked %s -> %s", fullpath, what); return 0; } diff --git a/modules/mount_ext2.c b/modules/mount_ext2.c index f4002e58..d462812a 100644 --- a/modules/mount_ext2.c +++ b/modules/mount_ext2.c @@ -140,7 +140,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int return 1; } else { - debug(ap->logopt, + mountlog(ap->logopt, MODPREFIX "mounted %s type %s on %s", what, fstype, fullpath); return 0; diff --git a/modules/mount_generic.c b/modules/mount_generic.c index 8cd0f4ab..9cfdf139 100644 --- a/modules/mount_generic.c +++ b/modules/mount_generic.c @@ -99,7 +99,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int return 1; } else { - debug(ap->logopt, MODPREFIX "mounted %s type %s on %s", + mountlog(ap->logopt, MODPREFIX "mounted %s type %s on %s", what, fstype, fullpath); return 0; } diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c index feb5afcd..34ec8222 100644 --- a/modules/mount_nfs.c +++ b/modules/mount_nfs.c @@ -403,7 +403,9 @@ dont_probe: } if (!err) { - debug(ap->logopt, MODPREFIX "mounted %s on %s", loc, fullpath); + mountlog(ap->logopt, + MODPREFIX "mounted %s type %s on %s", + loc, fstype, fullpath); free(loc); free_host_list(&hosts); return 0;