aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/freenas/bin/rpc.lockdbin0 -> 39404 bytes
-rw-r--r--packages/freenas/bin/rpc.statdbin0 -> 11724 bytes
-rw-r--r--packages/freenas/pkg/freenas.inc4
-rw-r--r--packages/freenas/pkg/freenas.xml10
-rw-r--r--packages/freenas/pkg/freenas_services.inc4
-rw-r--r--packages/freenas/pkg/freenas_utils.inc13
-rw-r--r--packages/freenas/www/disks_manage_init.php180
-rw-r--r--packages/freenas/www/disks_mount.php23
8 files changed, 126 insertions, 108 deletions
diff --git a/packages/freenas/bin/rpc.lockd b/packages/freenas/bin/rpc.lockd
new file mode 100644
index 00000000..906a8641
--- /dev/null
+++ b/packages/freenas/bin/rpc.lockd
Binary files differ
diff --git a/packages/freenas/bin/rpc.statd b/packages/freenas/bin/rpc.statd
new file mode 100644
index 00000000..c630a05a
--- /dev/null
+++ b/packages/freenas/bin/rpc.statd
Binary files differ
diff --git a/packages/freenas/pkg/freenas.inc b/packages/freenas/pkg/freenas.inc
index 692a526b..bb0685df 100644
--- a/packages/freenas/pkg/freenas.inc
+++ b/packages/freenas/pkg/freenas.inc
@@ -165,6 +165,10 @@ function oninstall_copy_misc_binaries($action = "install") {
"target" => "/usr/sbin/mountd");
$binaries[] = array("source" => "/usr/local/pkg/rpcbind",
"target" => "/usr/sbin/rpcbind");
+ $binaries[] = array("source" => "/usr/local/pkg/rpc.lockd",
+ "target" => "/usr/sbin/rpc.lockd");
+ $binaries[] = array("source" => "/usr/local/pkg/rpc.lockd",
+ "target" => "/usr/sbin/rpc.lockd");
if ($action == "install") {
while (list(, $val) = each($binaries)) {
diff --git a/packages/freenas/pkg/freenas.xml b/packages/freenas/pkg/freenas.xml
index 1d398eb9..b18d10ff 100644
--- a/packages/freenas/pkg/freenas.xml
+++ b/packages/freenas/pkg/freenas.xml
@@ -385,6 +385,16 @@
<chmod>0755</chmod>
<item>http://www.pfsense.com/packages/config/freenas/bin/rpcbind</item>
</additional_files_needed>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>0755</chmod>
+ <item>http://www.pfsense.com/packages/config/freenas/bin/rpc.lockd</item>
+ </additional_files_needed>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>0755</chmod>
+ <item>http://www.pfsense.com/packages/config/freenas/bin/rpc.statd</item>
+ </additional_files_needed>
<!--
fields gets invoked when the user adds or edits a item. The following items
will be parsed and rendered for the user as a gui with input, and selectboxes.
diff --git a/packages/freenas/pkg/freenas_services.inc b/packages/freenas/pkg/freenas_services.inc
index 26455f8f..840a03c5 100644
--- a/packages/freenas/pkg/freenas_services.inc
+++ b/packages/freenas/pkg/freenas_services.inc
@@ -397,8 +397,8 @@ function services_nfs_configure() {
list($network,$subnet) =
explode('/', $freenas_config['nfs']['nfsnetwork']);
- $subnet=gen_subnet_mask($subnet);
-
+ $subnet = gen_subnet_mask($subnet);
+
$a_mount = &$freenas_config['mounts']['mount'];
foreach ($a_mount as $mount)
diff --git a/packages/freenas/pkg/freenas_utils.inc b/packages/freenas/pkg/freenas_utils.inc
index 12c71a12..d3b1379c 100644
--- a/packages/freenas/pkg/freenas_utils.inc
+++ b/packages/freenas/pkg/freenas_utils.inc
@@ -183,7 +183,7 @@ function get_gmirror_disks_list()
// [desc] => COMPLETE
// [size] => 6149M
// )
-
+
/* Display all configured gmirror volume*/
exec("/sbin/gmirror list",$rawdata);
@@ -220,7 +220,7 @@ function get_gmirror_disks_list()
$founddesc=1;
continue ;
}
-
+
// Third Step: Getting the array Size
// look for this output:
// Name: mirror/pouet
@@ -368,7 +368,7 @@ function get_scsi_disks_list()
preg_match("/.*\<([^>]*)>.*/",$line,$match);
$disklist[$diskname]['desc'] = $match[1];
-
+
/* Looking for the disk size */
foreach ($rawdmesg as $dmesgline) {
/* Separe la ligne par les espace */
@@ -627,7 +627,7 @@ function freenas_install($src,$dst)
while(list(,$val) = each($tableau))
{
// Si la ligne contient le mot "unused"
-
+
if (ereg ("unused",$val))
{
// On remplace c: par a:
@@ -672,4 +672,9 @@ function freenas_install($src,$dst)
passthru("/bin/rm -rf /mnt/dst");
}
+
+/* Force kill a process by name */
+function forcekillbyname($procname) {
+ return mwexec("/usr/bin/killall -9 " . escapeshellarg($procname));
+}
?> \ No newline at end of file
diff --git a/packages/freenas/www/disks_manage_init.php b/packages/freenas/www/disks_manage_init.php
index be7ec5f8..3e772de3 100644
--- a/packages/freenas/www/disks_manage_init.php
+++ b/packages/freenas/www/disks_manage_init.php
@@ -174,100 +174,100 @@ echo $pfSenseHead->getHTML();
<tr>
<td width="22%" valign="top">&nbsp;</td>
<td width="78%">
- <input id="submit" name="Submit" type="submit" class="formbtn" value="<?=gettext("Format disk!");?>" />
+ <input id="submitt" name="Submitt" type="submit" class="formbtn" value="<?=gettext("Format disk!");?>" />
</td>
</tr>
<tr>
<td valign="top" colspan="2">
- <? if ($do_format)
- {
- echo(_DISKSMANAGEINITPHP_INITTEXT);
- echo('<pre>');
- ob_end_flush();
-
- /* Erase MBR if not checked*/
-
- if (!$notinitmbr) {
- echo "Erasing MBR\n";
- system("dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . " bs=32k count=640");
-
- }
- else
- echo "Keeping the MBR\n";
-
- switch ($type)
- {
- case "ufs":
- /* Initialize disk */
- system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
- echo "\"fdisk: Geom not found\"is not an error message!\n";
- /* Initialise the partition (optional) */
- system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
- /* Create s1 label */
- system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
- // Create filesystem
- system("/sbin/newfs -U /dev/" . escapeshellarg($disk) . "s1");
- break;
- case "ufs_no_su":
- /* Initialize disk */
- system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
- /* Initialise the partition (optional) */
- system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
- /* Create s1 label */
- system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
- // Create filesystem
- system("/sbin/newfs -m 0 /dev/" . escapeshellarg($disk) . "s1");
- break;
- case "ufsgpt":
- /* Create GPT partition table */
- system("/sbin/gpt destroy " . escapeshellarg($disk));
- system("/sbin/gpt create -f " . escapeshellarg($disk));
- system("/sbin/gpt add -t ufs " . escapeshellarg($disk));
- // Create filesystem
- system("/sbin/newfs -U /dev/" . escapeshellarg($disk) . "p1");
- break;
- case "ufsgpt_no_su":
- /* Create GPT partition table */
- system("/sbin/gpt destroy " . escapeshellarg($disk));
- system("/sbin/gpt create -f " . escapeshellarg($disk));
- system("/sbin/gpt add -t ufs " . escapeshellarg($disk));
- // Create filesystem
- system("/sbin/newfs -m 0 /dev/" . escapeshellarg($disk) . "p1");
- break;
- case "gmirror":
- /* Initialize disk */
- system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
- /* Initialise the partition (optional) */
- system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
- /* Create s1 label */
- //system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
- /* Delete old gmirror information */
- system("/sbin/gmirror clear /dev/" . escapeshellarg($disk));
- break;
- case "raid":
- /* Initialize disk */
- system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
- echo "\"fdisk: Geom not found\"is not an error message!\n";
- /* Initialise the partition (optional) */
- system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
- /* Create s1 label */
- system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
- break;
- case "msdos":
- /* Initialize disk */
- system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
- echo "\"fdisk: Geom not found\"is not an error message!\n";
- /* Initialise the partition (optional) */
- system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
- /* Create s1 label */
- system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
- // Create filesystem
- system("/sbin/newfs_msdos -F 32 /dev/" . escapeshellarg($disk) . "s1");
- break;
- }
-
- echo('</pre>');
- }
+ <?
+ if ($do_format) {
+ echo "<strong>Disk initialization details:</strong>";
+ echo('<pre style="font-size: small; border: solid 1px silver; padding: 4px;">');
+ ob_end_flush();
+
+ /* Erase MBR if not checked*/
+
+ if (!$notinitmbr) {
+ echo "Erasing MBR\n";
+ system("dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . " bs=32k count=640");
+
+ }
+ else
+ echo "Keeping the MBR\n";
+
+ switch ($type)
+ {
+ case "ufs":
+ /* Initialize disk */
+ system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
+ echo "\"fdisk: Geom not found\" is not an error message!\n";
+ /* Initialise the partition (optional) */
+ system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
+ /* Create s1 label */
+ system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
+ // Create filesystem
+ system("/sbin/newfs -U /dev/" . escapeshellarg($disk) . "s1");
+ break;
+ case "ufs_no_su":
+ /* Initialize disk */
+ system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
+ /* Initialise the partition (optional) */
+ system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
+ /* Create s1 label */
+ system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
+ // Create filesystem
+ system("/sbin/newfs -m 0 /dev/" . escapeshellarg($disk) . "s1");
+ break;
+ case "ufsgpt":
+ /* Create GPT partition table */
+ system("/sbin/gpt destroy " . escapeshellarg($disk));
+ system("/sbin/gpt create -f " . escapeshellarg($disk));
+ system("/sbin/gpt add -t ufs " . escapeshellarg($disk));
+ // Create filesystem
+ system("/sbin/newfs -U /dev/" . escapeshellarg($disk) . "p1");
+ break;
+ case "ufsgpt_no_su":
+ /* Create GPT partition table */
+ system("/sbin/gpt destroy " . escapeshellarg($disk));
+ system("/sbin/gpt create -f " . escapeshellarg($disk));
+ system("/sbin/gpt add -t ufs " . escapeshellarg($disk));
+ // Create filesystem
+ system("/sbin/newfs -m 0 /dev/" . escapeshellarg($disk) . "p1");
+ break;
+ case "gmirror":
+ /* Initialize disk */
+ system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
+ /* Initialise the partition (optional) */
+ system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
+ /* Create s1 label */
+ //system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
+ /* Delete old gmirror information */
+ system("/sbin/gmirror clear /dev/" . escapeshellarg($disk));
+ break;
+ case "raid":
+ /* Initialize disk */
+ system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
+ echo "\"fdisk: Geom not found\"is not an error message!\n";
+ /* Initialise the partition (optional) */
+ system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
+ /* Create s1 label */
+ system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
+ break;
+ case "msdos":
+ /* Initialize disk */
+ system("/sbin/fdisk -I -b /boot/mbr " . escapeshellarg($disk));
+ echo "\"fdisk: Geom not found\"is not an error message!\n";
+ /* Initialise the partition (optional) */
+ system("/bin/dd if=/dev/zero of=/dev/" . escapeshellarg($disk) . "s1 bs=32k count=16");
+ /* Create s1 label */
+ system("/sbin/bsdlabel -w " . escapeshellarg($disk) . "s1 auto");
+ // Create filesystem
+ system("/sbin/newfs_msdos -F 32 /dev/" . escapeshellarg($disk) . "s1");
+ break;
+ }
+
+ echo('</pre>');
+ }
?>
</td>
</tr>
diff --git a/packages/freenas/www/disks_mount.php b/packages/freenas/www/disks_mount.php
index c2cf2ea4..2a68a509 100644
--- a/packages/freenas/www/disks_mount.php
+++ b/packages/freenas/www/disks_mount.php
@@ -122,7 +122,7 @@ echo $pfSenseHead->getHTML();
<?php if ($savemsg) print_info_box($savemsg); ?>
<form id="iform" name="iform" action="disks_mount.php" method="post">
-<?php if (file_exists($d_diskdirty_path)): ?>
+<?php if (file_exists($d_mountdirty_path)): ?>
<?php print_info_box_np(gettext("The mount point list has been changed.") . "<br />" .
gettext("You must apply the changes in order for them to take effect."));?>
<?php endif; ?>
@@ -155,18 +155,17 @@ echo $pfSenseHead->getHTML();
<?=htmlspecialchars($mount['desc']);?>&nbsp;
</td>
</td>
- <td valign="middle" class="listbg">
+ <td valign="middle" class="listbg" style="color: #FFFFFF;">
<?php
- if (file_exists($d_mountdirty_path))
- $stat=_CONFIGURING;
- else {
- $stat=disks_mount_status($mount);
+ if (file_exists($d_mountdirty_path)) {
+ $stat = gettext("configuring");
+ } else {
+ $stat = disks_mount_status($mount);
if ($stat == "ERROR")
- echo "ERROR - <a href=\"disks_mount.php?act=ret&id=$i\">retry</a>";
- else
- echo $stat;
- }
- ?>&nbsp;
+ $stat = "ERROR - <a href=\"disks_mount.php?act=ret&id=$i\">retry</a>";
+ }
+ echo $stat;
+ ?>
</td>
<td valign="middle" class="list">
<a href="disks_mount_edit.php?id=<?=$i;?>">
@@ -197,7 +196,7 @@ echo $pfSenseHead->getHTML();
</span>
<br />
<span class="vexpl">
- <a href="disk_manage.php">previously configured disk</a>
+ <a href="disks_manage.php">previously configured disk</a>
</span>
</td>
</tr>