diff options
author | Renato Botelho <garga@FreeBSD.org> | 2013-10-24 18:01:52 -0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2013-10-24 18:07:12 -0200 |
commit | b8250344f5f02851259ffde6fed8da40ddeaf0af (patch) | |
tree | 8fbf582965c22de30544953d00455ad98b8ee63e /etc/inc/config.lib.inc | |
parent | a4e4b5609c8ec28b9e680e8813a110b9cf7aedc7 (diff) | |
download | pfsense-b8250344f5f02851259ffde6fed8da40ddeaf0af.zip pfsense-b8250344f5f02851259ffde6fed8da40ddeaf0af.tar.gz |
Fix #3235
. diag_nanobsd.php:
. Since conf_mount_ro() is always being called, always call
conf_mount_rw to keep refcount correct
. Do not show refcount_read() return when it's -1
. config.lib.inc
. Increment and decrement refcount even if nanobsd_force_rw is set.
This is necessary to avoid partition being mounted as RO when
nanobsd_force_rw is disabled and any process requested it to be RW
Diffstat (limited to 'etc/inc/config.lib.inc')
-rw-r--r-- | etc/inc/config.lib.inc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/etc/inc/config.lib.inc b/etc/inc/config.lib.inc index ddcfd9b..0588252 100644 --- a/etc/inc/config.lib.inc +++ b/etc/inc/config.lib.inc @@ -308,10 +308,7 @@ function conf_mount_rw() { if($g['platform'] == "cdrom" or $g['platform'] == "pfSense") return; - if (!isset($config['system']['nanobsd_force_rw']) && (refcount_reference(1000) > 1)) - return; - - if (isset($config['system']['nanobsd_force_rw']) && is_writable("/")) + if ((refcount_reference(1000) > 1) && is_writable("/")) return; $status = mwexec("/sbin/mount -u -w -o sync,noatime {$g['cf_path']}"); @@ -348,12 +345,15 @@ function conf_mount_ro() { /* Do not trust $g['platform'] since this can be clobbered during factory reset. */ $platform = trim(file_get_contents("/etc/platform")); /* do not umount on cdrom or pfSense platforms */ - if($platform == "cdrom" or $platform == "pfSense" or isset($config['system']['nanobsd_force_rw'])) + if($platform == "cdrom" or $platform == "pfSense") return; if (refcount_unreference(1000) > 0) return; + if(isset($config['system']['nanobsd_force_rw'])) + return; + if($g['booting']) return; |