diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1 index 23b06252fbfb..9c8cb088d7dd 100644 --- a/usr.bin/find/find.1 +++ b/usr.bin/find/find.1 @@ -146,7 +146,7 @@ was executed. True if the file is contained in a file system of type .Ar type . Currently supported types are ``local'', ``mfs'', ``nfs'', ``msdos'', ``isofs'', -``rdonly'' and ``ufs''. +``fdesc'', ``kernfs'', ``rdonly'' and ``ufs''. The types ``local'' and ``rdonly'' are not specific file system types. The former matches any file system physically mounted on the system where the diff --git a/usr.bin/find/function.c b/usr.bin/find/function.c index 08cd151424b1..e3a6c7b4638e 100644 --- a/usr.bin/find/function.c +++ b/usr.bin/find/function.c @@ -369,12 +369,32 @@ c_fstype(arg) new = palloc(N_FSTYPE, f_fstype); switch(*arg) { + case 'f': + if (!strcmp(arg, "fdesc")) { +#ifdef MOUNT_FDESC + new->flags = MOUNT_FDESC; + return(new); +#else + err("unknown file type %s", arg); +#endif + } + break; case 'i': if (!strcmp(arg, "isofs")) { new->flags = MOUNT_ISOFS; return(new); } break; + case 'k': + if (!strcmp(arg, "kernfs")) { +#ifdef MOUNT_KERNFS + new->flags = MOUNT_KERNFS; + return(new); +#else + err("unknown file type %s", arg); +#endif + } + break; case 'l': if (!strcmp(arg, "local")) { new->flags = MOUNT_NONE;