version 1.2, 2011/04/02 04:45:24 |
version 1.3, 2011/04/02 05:07:57 |
Line 1144 vwait(vnode_t *vp, int flags) |
|
Line 1144 vwait(vnode_t *vp, int flags) |
|
} |
} |
|
|
int |
int |
vfs_drainvnodes(long target, struct lwp *l) |
vfs_drainvnodes(long target) |
{ |
{ |
|
|
while (numvnodes > target) { |
while (numvnodes > target) { |
Line 1152 vfs_drainvnodes(long target, struct lwp |
|
Line 1152 vfs_drainvnodes(long target, struct lwp |
|
|
|
mutex_enter(&vnode_free_list_lock); |
mutex_enter(&vnode_free_list_lock); |
vp = getcleanvnode(); |
vp = getcleanvnode(); |
if (vp == NULL) |
if (vp == NULL) { |
return EBUSY; /* give up */ |
return EBUSY; |
|
} |
ungetnewvnode(vp); |
ungetnewvnode(vp); |
} |
} |
return 0; |
return 0; |