Merge pull request #2315 from duguhaotian/master

support case ignored suffix for sizes
This commit is contained in:
Christian Brauner 2018-05-11 13:22:16 +02:00 committed by GitHub
commit 55f4cc1e81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 11 deletions

View File

@ -819,15 +819,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
ringbuffer. Note that ringbuffer must be at least as big as a ringbuffer. Note that ringbuffer must be at least as big as a
standard page size. When passed a value smaller than a single page standard page size. When passed a value smaller than a single page
size liblxc will allocate a ringbuffer of a single page size. A page size liblxc will allocate a ringbuffer of a single page size. A page
size is usually 4kB. size is usually 4KB.
The keyword 'auto' will cause liblxc to allocate a ringbuffer of The keyword 'auto' will cause liblxc to allocate a ringbuffer of
128kB. 128KB.
When manually specifying a size for the ringbuffer the value should When manually specifying a size for the ringbuffer the value should
be a power of 2 when converted to bytes. Valid size prefixes are be a power of 2 when converted to bytes. Valid size prefixes are
'kB', 'MB', 'GB'. (Note that all conversions are based on multiples 'KB', 'MB', 'GB'. (Note that all conversions are based on multiples
of 1024. That means 'kb' == 'KiB', 'MB' == 'MiB', 'GB' == 'GiB'.) of 1024. That means 'KB' == 'KiB', 'MB' == 'MiB', 'GB' == 'GiB'.
Additionally, the case of the suffix is ignored, i.e. 'kB', 'KB' and
'Kb' are treated equally.)
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -843,15 +845,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<option>lxc.console.logfile</option>. Note that size of the log file <option>lxc.console.logfile</option>. Note that size of the log file
must be at least as big as a standard page size. When passed a value must be at least as big as a standard page size. When passed a value
smaller than a single page size liblxc will set the size of log file smaller than a single page size liblxc will set the size of log file
to a single page size. A page size is usually 4kB. to a single page size. A page size is usually 4KB.
The keyword 'auto' will cause liblxc to place a limit of 128kB on The keyword 'auto' will cause liblxc to place a limit of 128KB on
the log file. the log file.
When manually specifying a size for the log file the value should When manually specifying a size for the log file the value should
be a power of 2 when converted to bytes. Valid size prefixes are be a power of 2 when converted to bytes. Valid size prefixes are
'kB', 'MB', 'GB'. (Note that all conversions are based on multiples 'KB', 'MB', 'GB'. (Note that all conversions are based on multiples
of 1024. That means 'kb' == 'KiB', 'MB' == 'MiB', 'GB' == 'GiB'.) of 1024. That means 'KB' == 'KiB', 'MB' == 'MiB', 'GB' == 'GiB'.
Additionally, the case of the suffix is ignored, i.e. 'kB', 'KB' and
'Kb' are treated equally.)
If users want to mirror the console ringbuffer on disk they should set If users want to mirror the console ringbuffer on disk they should set
<option>lxc.console.size</option> equal to <option>lxc.console.size</option> equal to

View File

@ -2450,11 +2450,11 @@ int parse_byte_size_string(const char *s, int64_t *converted)
return 0; return 0;
} }
if (!strcmp(suffix, "kB")) if (strcasecmp(suffix, "KB") == 0)
mltpl = 1024; mltpl = 1024;
else if (!strcmp(suffix, "MB")) else if (strcasecmp(suffix, "MB") == 0)
mltpl = 1024 * 1024; mltpl = 1024 * 1024;
else if (!strcmp(suffix, "GB")) else if (strcasecmp(suffix, "GB") == 0)
mltpl = 1024 * 1024 * 1024; mltpl = 1024 * 1024 * 1024;
else else
return -EINVAL; return -EINVAL;