Page MenuHomeFreeBSD

D19690.id55387.diff
No OneTemporary

D19690.id55387.diff

Index: /usr/src/sys/kern/vfs_mount.c
===================================================================
--- /usr/src/sys/kern/vfs_mount.c
+++ /usr/src/sys/kern/vfs_mount.c
@@ -63,6 +63,7 @@
#include <sys/systm.h>
#include <sys/vnode.h>
#include <vm/uma.h>
+#include <sys/bus.h>
#include <geom/geom.h>
@@ -838,6 +839,7 @@
struct mount *mp;
struct vnode *newdp;
int error, error1;
+ char buf[MNAMELEN + MFSNAMELEN + 256];
ASSERT_VOP_ELOCKED(vp, __func__);
KASSERT((fsflags & MNT_UPDATE) == 0, ("MNT_UPDATE shouldn't be here"));
@@ -941,6 +943,9 @@
vn_lock(newdp, LK_EXCLUSIVE | LK_RETRY);
VOP_UNLOCK(vp, 0);
EVENTHANDLER_DIRECT_INVOKE(vfs_mounted, mp, newdp, td);
+ snprintf(buf, sizeof(buf), "fs=%s path=\"%s\"",
+ mp->mnt_stat.f_fstypename, mp->mnt_stat.f_mntonname);
+ devctl_notify("kernel", "vfs", "mount", buf);
VOP_UNLOCK(newdp, 0);
mountcheckdirs(vp, newdp);
vrele(newdp);
@@ -1341,6 +1346,7 @@
int error;
uint64_t async_flag;
int mnt_gen_r;
+ char buf[MNAMELEN + MFSNAMELEN + 256];
if ((coveredvp = mp->mnt_vnodecovered) != NULL) {
mnt_gen_r = mp->mnt_gen;
@@ -1475,6 +1481,9 @@
TAILQ_REMOVE(&mountlist, mp, mnt_list);
mtx_unlock(&mountlist_mtx);
EVENTHANDLER_DIRECT_INVOKE(vfs_unmounted, mp, td);
+ snprintf(buf, sizeof(buf), "fs=%s path=\"%s\"",
+ mp->mnt_stat.f_fstypename, mp->mnt_stat.f_mntonname);
+ devctl_notify("kernel", "vfs", "unmount", buf);
if (coveredvp != NULL) {
coveredvp->v_mountedhere = NULL;
VOP_UNLOCK(coveredvp, 0);

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 15, 2:55 PM (15 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27652287
Default Alt Text
D19690.id55387.diff (1 KB)

Event Timeline