From: Thomas Veerman Date: Fri, 26 Aug 2011 15:14:55 +0000 (+0000) Subject: Let FSes exit themselves upon system shutdown X-Git-Tag: v3.2.0~331 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/Bv9ARM.ch10.html?a=commitdiff_plain;h=78183bddffc53b6ee8f8bfaeeba11b97a841ee3f;p=minix.git Let FSes exit themselves upon system shutdown During shutdown all processes are semi-exited and FSes are unmounted. This semi-exit causes trouble for FUSE mounts as they still need access to file descriptors and working directory in order to unmount. --- diff --git a/servers/avfs/misc.c b/servers/avfs/misc.c index 53b19b533..0aee50600 100644 --- a/servers/avfs/misc.c +++ b/servers/avfs/misc.c @@ -344,14 +344,17 @@ PUBLIC void pm_reboot() * will tell us about it). */ for (i = 0; i < NR_PROCS; i++) { + 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 */ - rfp = &fproc[i]; - if (rfp->fp_endpoint != NONE) { - lock_proc(rfp, 0); - free_proc(rfp, 0); - unlock_proc(rfp); - } + lock_proc(rfp, 0); + free_proc(rfp, 0); + unlock_proc(rfp); } do_sync();