diff options
author | Erik Fonnesbeck <efonnes@gmail.com> | 2011-03-22 01:28:23 -0600 |
---|---|---|
committer | Erik Fonnesbeck <efonnes@gmail.com> | 2011-03-22 01:28:23 -0600 |
commit | 548be1fd6697ab115cbb29d61bc5507744488094 (patch) | |
tree | 86482a6e815a4fa6f7a2f347001feddee82d2d65 /etc/inc/config.lib.inc | |
parent | fc2c320e2cddb09764f5fb34b5043452654520be (diff) | |
download | pfsense-548be1fd6697ab115cbb29d61bc5507744488094.zip pfsense-548be1fd6697ab115cbb29d61bc5507744488094.tar.gz |
Workaround for conf_mount_rw/ro during boot to only allow it to change at the start and end. Fixes #1279
Diffstat (limited to 'etc/inc/config.lib.inc')
-rw-r--r-- | etc/inc/config.lib.inc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/etc/inc/config.lib.inc b/etc/inc/config.lib.inc index 11e1ec3..586d687 100644 --- a/etc/inc/config.lib.inc +++ b/etc/inc/config.lib.inc @@ -301,13 +301,16 @@ EOD; * null ******/ /* mount flash card read/write */ -function conf_mount_rw() { +function conf_mount_rw($nobootcheck = false) { global $g; /* do not mount on cdrom platform */ if($g['platform'] == "cdrom" or $g['platform'] == "pfSense") return; + if($g['booting'] && !$nobootcheck) + return; + if (refcount_reference(1000) > 1) return; @@ -321,7 +324,7 @@ function conf_mount_rw() { /* if the platform is soekris or wrap or pfSense, lets mount the * compact flash cards root. - */ + */ $status = mwexec("/sbin/mount -u -w -o sync,noatime /"); /* we could not mount this correctly. kick off fsck */ if($status <> 0) { @@ -339,14 +342,14 @@ function conf_mount_rw() { * RESULT * null ******/ -function conf_mount_ro() { +function conf_mount_ro($nobootcheck = false) { global $g; /* do not umount on cdrom or pfSense platforms */ if($g['platform'] == "cdrom" or $g['platform'] == "pfSense") return; - if($g['booting']) + if($g['booting'] && !$nobootcheck) return; if (refcount_unreference(1000) > 0) @@ -852,4 +855,4 @@ function set_device_perms() { } } -?> +?>
\ No newline at end of file |