diff -Naur busybox.orig/util-linux/mount.c busybox/util-linux/mount.c
--- busybox.orig/util-linux/mount.c	2008-02-03 08:20:21 +0000
+++ busybox/util-linux/mount.c	2008-02-03 11:58:17 +0000
@@ -309,6 +309,26 @@
 	for (;;) {
 		rc = mount(mp->mnt_fsname, mp->mnt_dir, mp->mnt_type,
 				vfsflags, filteropts);
+
+		// Do a helper program <mnt_type> exist?
+		if (ENABLE_FEATURE_MOUNT_HELPERS && rc) {
+			char *args[4];
+			int errno_save = errno;
+			rc = 0;
+			args[rc++] = mp->mnt_type;
+			if (filteropts) {
+				args[rc++] = (char *)"-o";
+				args[rc++] = filteropts;
+			}
+			args[rc++] = mp->mnt_fsname;
+			args[rc++] = mp->mnt_dir;
+			args[rc] = NULL;
+			rc = wait4pid(spawn(args));
+			if (!rc)
+				break;
+			errno = errno_save;
+		}
+
 		if (!rc || (vfsflags & MS_RDONLY) || (errno != EACCES && errno != EROFS))
 			break;
 		if (!(vfsflags & MS_SILENT))
