Skip to content

Commit

Permalink
Merge pull request #137 from xcp-ng/feature-nfsv41
Browse files Browse the repository at this point in the history
Feature NFSv4 / NFSv4.1
  • Loading branch information
borzel authored Feb 8, 2019
2 parents 76cd2df + 40acb29 commit 10ec762
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 15 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 23 additions & 13 deletions XenAdmin/Wizards/NewSRWizard_Pages/Frontends/VHDoNFS.cs
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,11 @@ private void UpdateButtons()
OnPageUpdated();
}

private void NfsServerEnableVersionButtons(bool enable)
{
nfsVersion3RadioButton.Enabled = nfsVersion4RadioButton.Enabled = nfsVersion41RadioButton.Enabled = enable;
}

private void NfsServerPathTextBox_TextChanged(object sender, EventArgs e)
{
NfsScanButton.Enabled = SrWizardHelpers.ValidateNfsSharename(NfsServerPathTextBox.Text);
Expand All @@ -113,7 +118,7 @@ private void NfsServerPathTextBox_TextChanged(object sender, EventArgs e)
if(radioButtonNfsNew.Enabled)
radioButtonNfsNew.Checked = true;

nfsVersion3RadioButton.Enabled = nfsVersion4RadioButton.Enabled = true;
NfsServerEnableVersionButtons(true);

UpdateButtons();
}
Expand Down Expand Up @@ -206,21 +211,24 @@ private void GetSupportedNfsVersionsAndSetUI(string xml)
{
//supported NFS version are not known: either we have not got a result back (older host) or neither version is supported (not likely)

nfsVersion4RadioButton.Enabled = nfsVersion3RadioButton.Enabled = true;
NfsServerEnableVersionButtons(true);
}
else
{
//supported NFS versions are known

nfsVersion3RadioButton.Enabled = supportedVersions.Contains("3");
nfsVersion4RadioButton.Enabled = supportedVersions.Contains("4");

//when only one version is supported, check/select the one that is
if (!(nfsVersion3RadioButton.Enabled && nfsVersion4RadioButton.Enabled))
{
nfsVersion3RadioButton.Checked = nfsVersion3RadioButton.Enabled;
nfsVersion4RadioButton.Checked = nfsVersion4RadioButton.Enabled;
}
// TODO: sr-probe does not find NFSv4/NFSv4.1 with FreeNAS share, so enable all buttons
NfsServerEnableVersionButtons(true);

////supported NFS versions are known
//nfsVersion3RadioButton.Enabled = supportedVersions.Contains("3");
//nfsVersion4RadioButton.Enabled = supportedVersions.Contains("4");
//nfsVersion41RadioButton.Enabled = supportedVersions.Contains("4.1");

////when only one version is supported, check/select the one that is
//if (!(nfsVersion3RadioButton.Enabled && nfsVersion4RadioButton.Enabled))
//{
// nfsVersion3RadioButton.Checked = nfsVersion3RadioButton.Enabled;
// nfsVersion4RadioButton.Checked = nfsVersion4RadioButton.Enabled;
//}
}
}

Expand Down Expand Up @@ -270,6 +278,8 @@ public Dictionary<string, string> DeviceConfig

if (nfsVersion4RadioButton.Checked)
dconf[NFSVERSION] = "4";
else if (nfsVersion41RadioButton.Checked)
dconf[NFSVERSION] = "4.1";

return dconf;
}
Expand Down
19 changes: 17 additions & 2 deletions XenAdmin/Wizards/NewSRWizard_Pages/Frontends/VHDoNFS.resx
Original file line number Diff line number Diff line change
Expand Up @@ -615,9 +615,9 @@
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="nfsVersionLabel" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="label3" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="NfsServerPathTextBox" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="labelAdvancedOptions" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="serverOptionsTextBox" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="radioButtonNfsNew" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="radioButtonNfsReattach" Row="6" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="listBoxNfsSRs" Row="7" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="NfsScanButton" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="nfsVersionSelectorTableLayoutPanel" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<data name="$this.Localizable" type="System.Boolean, mscorlib">
<value>True</value>
</metadata>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
Expand All @@ -630,4 +630,19 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Controls.XenTabPage, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;nfsVersion41RadioButton.Name" xml:space="preserve">
<value>nfsVersion4RadioButton</value>
</data>
<data name="&gt;&gt;nfsVersion41RadioButton.Parent" xml:space="preserve">
<value>nfsVersionSelectorTableLayoutPanel</value>
</data>
<data name="&gt;&gt;nfsVersion41RadioButton.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;nfsVersion41RadioButton.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="nfsVersion41RadioButton.Text" xml:space="preserve">
<value>NFSv4.1</value>
</data>
</root>

0 comments on commit 10ec762

Please sign in to comment.