tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Vnode API change: VI_CLEAN and VI_XLOCK



The vnode flags VI_CLEAN and VI_XLOCK are used in file systems to
check for reclaimed or reclaiming but still active vnodes, so
make the vnode flags VI_XLOCK, VI_CLEAN (and VI_LOCKSHARE) private to
the files kern/vfs_* and add a function to check the vnode state:

  int vdead_check(struct vnode *vp, bool may_sleep)

will return one of:

  EBUSY:  vnode is becoming dead, with "may_sleep == false" only.
  ENOENT: vnode is dead.
  0:      otherwise.

Whenever this function returns a non-zero value all future calls will
return a non-zero value as reclaiming a vnode will always succeed.

Diff is at http://www.netbsd.org/~hannken/vnode-pass5-1.diff

Comments or objections anyone?

--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)



Home | Main Index | Thread Index | Old Index