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:01:52 -0200 |
commit | 785158c6c48e4e1842791d3b33d9b0395332991d (patch) | |
tree | 2ab951f5f5bd6cd6340f0deea30ab5bb85a84ea3 /usr | |
parent | 599d564ea40bd65a5c91f4f1f0a598ac6d44ef5c (diff) | |
download | pfsense-785158c6c48e4e1842791d3b33d9b0395332991d.zip pfsense-785158c6c48e4e1842791d3b33d9b0395332991d.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 'usr')
-rwxr-xr-x | usr/local/www/diag_nanobsd.php | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/usr/local/www/diag_nanobsd.php b/usr/local/www/diag_nanobsd.php index bab6d8d..804b3b4 100755 --- a/usr/local/www/diag_nanobsd.php +++ b/usr/local/www/diag_nanobsd.php @@ -108,14 +108,11 @@ if ($_POST['changero']) { } if ($_POST['setrw']) { - if (isset($_POST['nanobsd_force_rw'])) { - if (!is_writable("/")) { - conf_mount_rw(); - } + conf_mount_rw(); + if (isset($_POST['nanobsd_force_rw'])) $config['system']['nanobsd_force_rw'] = true; - } else { + else unset($config['system']['nanobsd_force_rw']); - } write_config("Changed Permanent Read/Write Setting"); conf_mount_ro(); @@ -175,7 +172,8 @@ if ($savemsg) <form action="diag_nanobsd.php" method="post" name="iform"> <?php if (is_writable("/")) { $refcount = refcount_read(1000); - if ($refcount == 1) { + /* refcount_read returns -1 when shared memory section does not exist */ + if ($refcount == 1 || $refcount == -1) { $refdisplay = ""; } else { $refdisplay = " (reference count " . $refcount . ")"; |