V10/sys/fs/errfs.c
/*
* error file system:
* substituted for the original file system in inodes which
* someone still has open but which are unwanted;
* e.g. forcing an unmount of a file system with open files outstanding
* the various operations are all either no-ops
* or return errors
* t_put is explicitly a no-op.
* the idea is to prevent any real I/O,
* but allow the offending inodes to hang around
* until finally put
*/
#include "sys/param.h"
#include "sys/user.h"
#include "sys/conf.h"
#include "sys/inode.h"
int errnami();
struct fstypsw erfs = fsinit(nulldev, nulldev, nodev, nodev,
nodev, nodev, errnami, nodev, nodev, nullopen, nodev);
errnami(p, fp, follow)
register struct nx *p;
struct flagp *fp;
int follow;
{
u.u_error = ENODEV;
iput(p->dp);
p->dp = NULL;
return (0);
}