From: David van Moolenbroek Date: Wed, 4 Jan 2012 13:10:10 +0000 (+0100) Subject: avfs: fix for root file system not being unmounted X-Git-Tag: v3.2.0~150 X-Git-Url: http://zhaoyanbai.com/repos/icons/debian/static/ChangeLog.txt?a=commitdiff_plain;h=c25e2eb0cf912a80fa60df56bc9ba85a1e46cc3c;p=minix.git avfs: fix for root file system not being unmounted Also no longer have avfs crash whenever a file system server crashes. --- diff --git a/servers/avfs/misc.c b/servers/avfs/misc.c index 08a1afa48..31a8af2b8 100644 --- a/servers/avfs/misc.c +++ b/servers/avfs/misc.c @@ -350,9 +350,6 @@ PUBLIC void pm_reboot() rfp = &fproc[i]; if (rfp->fp_endpoint == NONE) continue; - /* Let FSes exit themselves */ - if (find_vmnt(rfp->fp_endpoint) != NULL) continue; - /* Don't just free the proc right away, but let it finish what it was * doing first */ lock_proc(rfp, 0); @@ -460,7 +457,6 @@ PRIVATE void free_proc(struct fproc *exiter, int flags) */ unsuspend_by_endpt(exiter->fp_endpoint); dmap_unmap_by_endpt(exiter->fp_endpoint); - vmnt_unmap_by_endpt(exiter->fp_endpoint); worker_stop_by_endpt(exiter->fp_endpoint); /* Release root and working directories. */ diff --git a/servers/avfs/proto.h b/servers/avfs/proto.h index 327935bd8..54d4a9d0c 100644 --- a/servers/avfs/proto.h +++ b/servers/avfs/proto.h @@ -334,7 +334,6 @@ _PROTOTYPE( struct vmnt *get_locked_vmnt, (struct fproc *rfp) ); _PROTOTYPE( void init_vmnts, (void) ); _PROTOTYPE( int lock_vmnt, (struct vmnt *vp, tll_access_t locktype) ); _PROTOTYPE( void unlock_vmnt, (struct vmnt *vp) ); -_PROTOTYPE( void vmnt_unmap_by_endpt, (endpoint_t proc_e) ); /* vnode.c */ _PROTOTYPE( void check_vnode_locks, (void) ); diff --git a/servers/avfs/vmnt.c b/servers/avfs/vmnt.c index 3202473f3..66c405678 100644 --- a/servers/avfs/vmnt.c +++ b/servers/avfs/vmnt.c @@ -180,15 +180,3 @@ PUBLIC void unlock_vmnt(struct vmnt *vmp) #endif } - -/*===========================================================================* - * vmnt_unmap_by_endpoint * - *===========================================================================*/ -PUBLIC void vmnt_unmap_by_endpt(endpoint_t proc_e) -{ - struct vmnt *vmp; - - if ((vmp = find_vmnt(proc_e)) != NULL) - clear_vmnt(vmp); - -}