mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-11-23 12:30:50 +01:00
CP-32985: XenCenter control to turn read caching on / off per SR
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This commit is contained in:
parent
bb560db1dc
commit
71a09385c3
@ -82,6 +82,7 @@ namespace XenAdmin.Dialogs
|
||||
private USBEditPage usbEditPage;
|
||||
private NetworkOptionsEditPage NetworkOptionsEditPage;
|
||||
private ClusteringEditPage ClusteringEditPage;
|
||||
private SrReadCachingEditPage SrReadCachingEditPage;
|
||||
#endregion
|
||||
|
||||
private IXenObject xenObject, xenObjectBefore, xenObjectCopy;
|
||||
@ -270,6 +271,9 @@ namespace XenAdmin.Dialogs
|
||||
ShowTab(newVmApplianceVmOrderAndDelaysPage1 = new NewVMApplianceVMOrderAndDelaysPage { Pool = pool });
|
||||
}
|
||||
|
||||
if (is_sr && ((SR)xenObjectCopy).SupportsReadCaching() && !Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictReadCaching))
|
||||
ShowTab(SrReadCachingEditPage = new SrReadCachingEditPage());
|
||||
|
||||
//
|
||||
// Now add one tab per VBD (for VDIs only)
|
||||
//
|
||||
|
@ -1143,4 +1143,7 @@
|
||||
<data name="XenServerUpdateAlert" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="StorageReadCaching" xml:space="preserve">
|
||||
<value>storage-readcaching</value>
|
||||
</data>
|
||||
</root>
|
159
XenAdmin/SettingsPanels/SrReadCachingEditPage.Designer.cs
generated
Normal file
159
XenAdmin/SettingsPanels/SrReadCachingEditPage.Designer.cs
generated
Normal file
@ -0,0 +1,159 @@
|
||||
namespace XenAdmin.SettingsPanels
|
||||
{
|
||||
partial class SrReadCachingEditPage
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SrReadCachingEditPage));
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.labelTitle = new XenAdmin.Controls.Common.AutoHeightLabel();
|
||||
this.checkBoxEnableReadCaching = new System.Windows.Forms.CheckBox();
|
||||
this.tableLayoutInfo = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.linkLabelTellMeMore = new System.Windows.Forms.LinkLabel();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.labelChangeInfo = new System.Windows.Forms.Label();
|
||||
this.pictureBoxInfo2 = new System.Windows.Forms.PictureBox();
|
||||
this.pictureBoxInfo1 = new System.Windows.Forms.PictureBox();
|
||||
this.labelVdiInfo = new System.Windows.Forms.Label();
|
||||
this.labelMemoryInfo = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.tableLayoutInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxInfo2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxInfo1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelTitle, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxEnableReadCaching, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.tableLayoutInfo, 0, 4);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// labelTitle
|
||||
//
|
||||
resources.ApplyResources(this.labelTitle, "labelTitle");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.labelTitle, 2);
|
||||
this.labelTitle.Name = "labelTitle";
|
||||
//
|
||||
// checkBoxEnableReadCaching
|
||||
//
|
||||
resources.ApplyResources(this.checkBoxEnableReadCaching, "checkBoxEnableReadCaching");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.checkBoxEnableReadCaching, 2);
|
||||
this.checkBoxEnableReadCaching.Name = "checkBoxEnableReadCaching";
|
||||
this.checkBoxEnableReadCaching.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tableLayoutInfo
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutInfo, "tableLayoutInfo");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.tableLayoutInfo, 2);
|
||||
this.tableLayoutInfo.Controls.Add(this.linkLabelTellMeMore, 0, 3);
|
||||
this.tableLayoutInfo.Controls.Add(this.pictureBox1, 0, 2);
|
||||
this.tableLayoutInfo.Controls.Add(this.labelChangeInfo, 0, 2);
|
||||
this.tableLayoutInfo.Controls.Add(this.pictureBoxInfo2, 0, 1);
|
||||
this.tableLayoutInfo.Controls.Add(this.pictureBoxInfo1, 0, 0);
|
||||
this.tableLayoutInfo.Controls.Add(this.labelVdiInfo, 1, 0);
|
||||
this.tableLayoutInfo.Controls.Add(this.labelMemoryInfo, 1, 1);
|
||||
this.tableLayoutInfo.Name = "tableLayoutInfo";
|
||||
//
|
||||
// linkLabelTellMeMore
|
||||
//
|
||||
resources.ApplyResources(this.linkLabelTellMeMore, "linkLabelTellMeMore");
|
||||
this.tableLayoutInfo.SetColumnSpan(this.linkLabelTellMeMore, 2);
|
||||
this.linkLabelTellMeMore.Name = "linkLabelTellMeMore";
|
||||
this.linkLabelTellMeMore.TabStop = true;
|
||||
this.linkLabelTellMeMore.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelTellMeMore_LinkClicked);
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
resources.ApplyResources(this.pictureBox1, "pictureBox1");
|
||||
this.pictureBox1.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// labelChangeInfo
|
||||
//
|
||||
resources.ApplyResources(this.labelChangeInfo, "labelChangeInfo");
|
||||
this.labelChangeInfo.Name = "labelChangeInfo";
|
||||
//
|
||||
// pictureBoxInfo2
|
||||
//
|
||||
resources.ApplyResources(this.pictureBoxInfo2, "pictureBoxInfo2");
|
||||
this.pictureBoxInfo2.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
|
||||
this.pictureBoxInfo2.Name = "pictureBoxInfo2";
|
||||
this.pictureBoxInfo2.TabStop = false;
|
||||
//
|
||||
// pictureBoxInfo1
|
||||
//
|
||||
resources.ApplyResources(this.pictureBoxInfo1, "pictureBoxInfo1");
|
||||
this.pictureBoxInfo1.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
|
||||
this.pictureBoxInfo1.Name = "pictureBoxInfo1";
|
||||
this.pictureBoxInfo1.TabStop = false;
|
||||
//
|
||||
// labelVdiInfo
|
||||
//
|
||||
resources.ApplyResources(this.labelVdiInfo, "labelVdiInfo");
|
||||
this.labelVdiInfo.Name = "labelVdiInfo";
|
||||
//
|
||||
// labelMemoryInfo
|
||||
//
|
||||
resources.ApplyResources(this.labelMemoryInfo, "labelMemoryInfo");
|
||||
this.labelMemoryInfo.Name = "labelMemoryInfo";
|
||||
//
|
||||
// SrReadCachingEditPage
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "SrReadCachingEditPage";
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.tableLayoutInfo.ResumeLayout(false);
|
||||
this.tableLayoutInfo.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxInfo2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxInfo1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private Controls.Common.AutoHeightLabel labelTitle;
|
||||
private System.Windows.Forms.CheckBox checkBoxEnableReadCaching;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutInfo;
|
||||
private System.Windows.Forms.PictureBox pictureBoxInfo2;
|
||||
private System.Windows.Forms.PictureBox pictureBoxInfo1;
|
||||
private System.Windows.Forms.Label labelVdiInfo;
|
||||
private System.Windows.Forms.Label labelMemoryInfo;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Label labelChangeInfo;
|
||||
private System.Windows.Forms.LinkLabel linkLabelTellMeMore;
|
||||
}
|
||||
}
|
82
XenAdmin/SettingsPanels/SrReadCachingEditPage.cs
Normal file
82
XenAdmin/SettingsPanels/SrReadCachingEditPage.cs
Normal file
@ -0,0 +1,82 @@
|
||||
/* Copyright (c) Citrix Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using XenAdmin.Actions;
|
||||
using XenAdmin.Help;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.SettingsPanels
|
||||
{
|
||||
public partial class SrReadCachingEditPage : UserControl, IEditPage
|
||||
{
|
||||
private SR sr;
|
||||
public SrReadCachingEditPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
Text = Messages.READ_CACHING;
|
||||
}
|
||||
|
||||
public string SubText => checkBoxEnableReadCaching.Checked ? Messages.ENABLED : Messages.DISABLED;
|
||||
|
||||
public Image Image => Properties.Resources._000_Storage_h32bit_16;
|
||||
|
||||
public AsyncAction SaveSettings()
|
||||
{
|
||||
sr.SetReadCachingEnabled(checkBoxEnableReadCaching.Checked);
|
||||
return null;
|
||||
}
|
||||
|
||||
public void SetXenObjects(IXenObject orig, IXenObject clone)
|
||||
{
|
||||
sr = clone as SR;
|
||||
if (sr == null)
|
||||
return;
|
||||
checkBoxEnableReadCaching.Checked = sr.GetReadCachingEnabled();
|
||||
}
|
||||
|
||||
public bool ValidToSave => true;
|
||||
|
||||
public void ShowLocalValidationMessages()
|
||||
{ }
|
||||
|
||||
public void Cleanup()
|
||||
{ }
|
||||
|
||||
public bool HasChanged => checkBoxEnableReadCaching.Checked != sr.GetReadCachingEnabled();
|
||||
|
||||
private void linkLabelTellMeMore_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
HelpManager.Launch("StorageReadCaching");
|
||||
}
|
||||
}
|
||||
}
|
101
XenAdmin/SettingsPanels/SrReadCachingEditPage.ja.resx
Normal file
101
XenAdmin/SettingsPanels/SrReadCachingEditPage.ja.resx
Normal file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
519
XenAdmin/SettingsPanels/SrReadCachingEditPage.resx
Normal file
519
XenAdmin/SettingsPanels/SrReadCachingEditPage.resx
Normal file
@ -0,0 +1,519 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelTitle.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="labelTitle.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelTitle.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="labelTitle.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 0</value>
|
||||
</data>
|
||||
<data name="labelTitle.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 0, 4, 25</value>
|
||||
</data>
|
||||
<data name="labelTitle.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>609, 51</value>
|
||||
</data>
|
||||
<data name="labelTitle.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelTitle.Text" xml:space="preserve">
|
||||
<value>Read caching improves a VM’s disk performance as, after the initial read from external disk, data is cached within the host’s free memory. Select whether you want to enable read caching on this Storage Repository.</value>
|
||||
</data>
|
||||
<data name=">>labelTitle.Name" xml:space="preserve">
|
||||
<value>labelTitle</value>
|
||||
</data>
|
||||
<data name=">>labelTitle.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelTitle.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelTitle.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 80</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>160, 21</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="checkBoxEnableReadCaching.Text" xml:space="preserve">
|
||||
<value>&Enable read caching</value>
|
||||
</data>
|
||||
<data name=">>checkBoxEnableReadCaching.Name" xml:space="preserve">
|
||||
<value>checkBoxEnableReadCaching</value>
|
||||
</data>
|
||||
<data name=">>checkBoxEnableReadCaching.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>checkBoxEnableReadCaching.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>checkBoxEnableReadCaching.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 210</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>282, 20</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.Text" xml:space="preserve">
|
||||
<value>Tell me more about storage read caching</value>
|
||||
</data>
|
||||
<data name="linkLabelTellMeMore.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>linkLabelTellMeMore.Name" xml:space="preserve">
|
||||
<value>linkLabelTellMeMore</value>
|
||||
</data>
|
||||
<data name=">>linkLabelTellMeMore.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>linkLabelTellMeMore.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>linkLabelTellMeMore.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="pictureBox1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 147</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 20</value>
|
||||
</data>
|
||||
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Name" xml:space="preserve">
|
||||
<value>pictureBox1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>32, 147</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 25</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>573, 34</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="labelChangeInfo.Text" xml:space="preserve">
|
||||
<value>When read caching enablement is changed, the running VMs will only benefit from the change after they are rebooted. </value>
|
||||
</data>
|
||||
<data name=">>labelChangeInfo.Name" xml:space="preserve">
|
||||
<value>labelChangeInfo</value>
|
||||
</data>
|
||||
<data name=">>labelChangeInfo.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelChangeInfo.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>labelChangeInfo.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 84</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 20</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo2.Name" xml:space="preserve">
|
||||
<value>pictureBoxInfo2</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo2.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 4</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 25</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>20, 20</value>
|
||||
</data>
|
||||
<data name="pictureBoxInfo1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo1.Name" xml:space="preserve">
|
||||
<value>pictureBoxInfo1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxInfo1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>32, 4</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 25</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>573, 51</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelVdiInfo.Text" xml:space="preserve">
|
||||
<value>Read caching only applies to read-only VDIs and VDI parents. These VDIs exist where VMs are created from ‘Fast Clone’ or disk snapshots. The greatest performance improvements can be seen when many VMs are cloned from a single ‘golden’ image.</value>
|
||||
</data>
|
||||
<data name=">>labelVdiInfo.Name" xml:space="preserve">
|
||||
<value>labelVdiInfo</value>
|
||||
</data>
|
||||
<data name=">>labelVdiInfo.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelVdiInfo.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>labelVdiInfo.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>32, 84</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 25</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>573, 34</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelMemoryInfo.Text" xml:space="preserve">
|
||||
<value>Performance improvements depend on the amount of free memory available in the host’s Control Domain. </value>
|
||||
</data>
|
||||
<data name=">>labelMemoryInfo.Name" xml:space="preserve">
|
||||
<value>labelMemoryInfo</value>
|
||||
</data>
|
||||
<data name=">>labelMemoryInfo.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelMemoryInfo.Parent" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>labelMemoryInfo.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 133</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.RowCount" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>609, 314</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutInfo.Name" xml:space="preserve">
|
||||
<value>tableLayoutInfo</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutInfo.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutInfo.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutInfo.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutInfo.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="linkLabelTellMeMore" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelChangeInfo" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBoxInfo2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBoxInfo1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelVdiInfo" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelMemoryInfo" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20,Absolute,25,Absolute,25,Absolute,25,Absolute,25,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>617, 451</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelTitle" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="checkBoxEnableReadCaching" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="tableLayoutInfo" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,24,Percent,100,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>120, 120</value>
|
||||
</data>
|
||||
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>617, 451</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>SrReadCachingEditPage</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
</root>
|
101
XenAdmin/SettingsPanels/SrReadCachingEditPage.zh-CN.resx
Normal file
101
XenAdmin/SettingsPanels/SrReadCachingEditPage.zh-CN.resx
Normal file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
@ -435,6 +435,12 @@
|
||||
<Compile Include="SettingsPanels\SecurityEditPage.Designer.cs">
|
||||
<DependentUpon>SecurityEditPage.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsPanels\SrReadCachingEditPage.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettingsPanels\SrReadCachingEditPage.Designer.cs">
|
||||
<DependentUpon>SrReadCachingEditPage.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsPanels\USBEditPage.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@ -2134,6 +2140,15 @@
|
||||
<EmbeddedResource Include="SettingsPanels\SecurityEditPage.zh-CN.resx">
|
||||
<DependentUpon>SecurityEditPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettingsPanels\SrReadCachingEditPage.resx">
|
||||
<DependentUpon>SrReadCachingEditPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettingsPanels\SrReadCachingEditPage.ja.resx">
|
||||
<DependentUpon>SrReadCachingEditPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettingsPanels\SrReadCachingEditPage.zh-CN.resx">
|
||||
<DependentUpon>SrReadCachingEditPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettingsPanels\USBEditPage.ja.resx">
|
||||
<DependentUpon>USBEditPage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
9
XenModel/Messages.Designer.cs
generated
9
XenModel/Messages.Designer.cs
generated
@ -31266,6 +31266,15 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Read caching.
|
||||
/// </summary>
|
||||
public static string READ_CACHING {
|
||||
get {
|
||||
return ResourceManager.GetString("READ_CACHING", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Read Only.
|
||||
/// </summary>
|
||||
|
@ -10859,6 +10859,9 @@ You must reconnect to {1} using an account with Pool Administrator permissions b
|
||||
<data name="RBAC_WARNING_VM_WIZARD_MEM" xml:space="preserve">
|
||||
<value>A {0} user cannot alter memory values and will be restricted to the settings on the template.</value>
|
||||
</data>
|
||||
<data name="READ_CACHING" xml:space="preserve">
|
||||
<value>Read caching</value>
|
||||
</data>
|
||||
<data name="READ_ONLY" xml:space="preserve">
|
||||
<value>Read Only</value>
|
||||
</data>
|
||||
|
@ -952,6 +952,37 @@ namespace XenAPI
|
||||
return sm != null && sm.features != null && sm.features.ContainsKey("SR_TRIM");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Whether the underlying SR backend supports read caching.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool SupportsReadCaching()
|
||||
{
|
||||
// for Stockholm or greater versions, check if the SM has the VDI_READ_CACHING capability
|
||||
if (Helpers.StockholmOrGreater(Connection))
|
||||
{
|
||||
var sm = SM.GetByType(Connection, type);
|
||||
return sm != null && Array.IndexOf(sm.capabilities, "VDI_READ_CACHING") != -1;
|
||||
}
|
||||
|
||||
// for older versions, use the SR type; read caching is available for NFS, EXT3 and SMB/CIFS SR types
|
||||
var srType = GetSRType(false);
|
||||
return srType == SRTypes.nfs || srType == SRTypes.ext || srType == SRTypes.smb;
|
||||
}
|
||||
|
||||
public bool GetReadCachingEnabled()
|
||||
{
|
||||
// read caching is enabled when the o_direct key is not defined (or set to false) in other_config
|
||||
// and is disabled if o_direct=true
|
||||
return SupportsReadCaching() && !BoolKey(other_config, "o_direct");
|
||||
}
|
||||
|
||||
public void SetReadCachingEnabled(bool value)
|
||||
{
|
||||
// to enable read caching, remove the o_direct key; to disable it, set o_direct=true
|
||||
other_config = SetDictionaryKey(other_config, "o_direct", value ? null : bool.TrueString.ToLower());
|
||||
}
|
||||
|
||||
#region IEquatable<SR> Members
|
||||
|
||||
/// <summary>
|
||||
|
Loading…
Reference in New Issue
Block a user