Karel Zak [Wed, 26 Apr 2017 09:17:46 +0000 (11:17 +0200)]
Merge branch '170415' of github.com:jwpi/util-linux
* '170415' of github.com:jwpi/util-linux:
optutils.h: don't print non-graph characters
hwclock: improve audit control
hwclock: --set and --predict segmentation fault
hwclock: make epoch functions alpha only
hwclock: improve default function handling
Karel Zak [Tue, 25 Apr 2017 15:05:09 +0000 (17:05 +0200)]
libfdisk: fix NLS support
The current libfdisk code uses gettext() to translate strings. It
means it follows the default text domain (as set by textdomain(3)
usually in the main program). This is useless for public shared
library.
We have call private bindtextdomain() and use dgettext() with private
domain name to be independent on the main program. For this purpose
include/nls.h supports UL_TEXTDOMAIN_EXPLICIT to use dgettext().
Note that libfdisk will continue to use util-linux.po, rather than
keep the texts in the separate file.
The nls.h has to be included only from fdiskP.h to be sure that
nls.h works as expected for the library.
Karel Zak [Wed, 19 Apr 2017 12:28:16 +0000 (14:28 +0200)]
lsblk: don't duplicate columns
$ lsblk --discard --perms
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO NAME SIZE OWNER GROUP MODE
sdb 0 0B 0B 0 sdb 74.5G root disk brw-rw----
└─sdb1 0 0B 0B 0 └─sdb1 74.5G root disk brw-rw----
sda 0 512B 2G 0 sda 223.6G root disk brw-rw----
├─sda4 0 512B 2G 0 ├─sda4 50G root disk brw-rw----
├─sda2 0 512B 2G 0 ├─sda2 200M root disk brw-rw----
├─sda5 0 512B 2G 0 ├─sda5 35.1G root disk brw-rw----
├─sda3 0 512B 2G 0 ├─sda3 130.3G root disk brw-rw----
├─sda1 0 512B 2G 0 ├─sda1 200M root disk brw-rw----
└─sda6 0 512B 2G 0 └─sda6 7.8G root disk brw-rw----
... see NAME column.
It's fine to support duplicated columns when requested by user (e.g.
-o NAME,NAME,SIZE), but it does not make sense for the default output
when multiple command options specified.
There is no eloquent way to exclude/include arch dependent arguments
from the ul_excl_t array. So when an arch dependent argument is left
undefined err_exclusive_options() was printing out-of-bounds values.
This commit cause them to be skipped instead.
err_exclusive_options() shouldn't be printing out-of-bounds values
in any case.
Also change the error massage from 'options' to 'arguments' as some
programs, like hwclock, distinguish between options and functions.
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Move audit control to option parsing. This fixes non-alpha build
error and cleans up an unruly 'if' statement.
Having audit control in option parsing may also draw awareness to
the audit system when adding new functions, which could easily be
overlooked otherwise.
Signed-off-by: J William Piggott <elseifthen@gmx.com>
It's been 19.1315 years since the comment below was written and the kernel
has actually gone further away from allowing an RTC epoch on ISA machines.
/*
* Maintenance note: This should work on non-Alpha machines, but the
* evidence today (98.03.04) indicates that the kernel only keeps the epoch
* value on Alphas. If that is ever fixed, this function should be changed.
*/
The current behavior is to accept the epoch options on ISA machines
only to print a lengthy message explaining that you cannot use them.
This patch removes that behavior, making the epoch functions truly Alpha
only, as the man-page states that they are.
* sys-utils/hwclock.c: make epoch function alpha only.
* sys-utils/hwclock.h: same.
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Damien Le Moal [Wed, 12 Apr 2017 09:20:32 +0000 (18:20 +0900)]
blkzone: Fix zone condition strings handling
Fixed the condition strings for implicit open and explicit open to
match the man page defined strings ("oi" and "oe"). Also while at it,
correct the condition_str array entries adding the reserved "xC" case
so that the read_only, full and offline conditions match the condition
codes. This increases the array size to 16, so also fix the condition
code masking when displaying the result.
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
On ARM systems, accessing SMBIOS tables via /dev/mem using read()
calls is not supported. The reason is that such tables are usually
located in EFI_RUNTIME_SERVICE_DATA memory, which is not covered
by the linear mapping on those systems, and so read() calls will
fail.
So instead, use the /sys/firmware/dmi/tables/DMI sysfs file, which
contains the entire structure table array, and will be available
on any recent Linux system, even on ones that only export the rev3
SMBIOS entry point, which is currently ignored by lscpu.
Note that the max 'num' value is inferred from the size. This is not
a limitation of the sysfs interface, but a limitation of the rev3
entry point, which no longer carries a number of array elements.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Alexander Graf <agraf@suse.de> Reviewed-by: Alexander Graf <agraf@suse.de>
Update output columns (earlier field names were almost completely
incorrect). Remove --colon-separate and --print0 [1] options. Add
--time-format, --bytes, --numeric-perms [2], and --list [3] options.
Use /proc and kernel module listing for --type argument list. Some
of the items in the lists do not make much sense, but this is still
better than a static list provided by package maintainer.
mountpoint:
Remove fixme item that was left in place when this completion was
originally wrote.
The compiler had not complained here because both macros are
probably the same.
But gettext issued a funny warning:
sys-utils/chmem.c:67: warning: Although being used in a format string position, the msgid is not a valid C format string. Reason: The string ends in the middle of a directive.
These tests failed for example on ext4 with a non-default
blocksize 1024. In this case it seems that the kernel only
caches a full page if we read at least PAGE_SIZE -BLOCK_SIZE +1.
Both tests also failed on NFS allthough block size seems to be
1M there.
We still keep the test for PAGE_SIZE-1 which seems to work more
reliable.
We blindly assume that our sizeof(struct gpt_entry) is the same
on-disk stored header->sizeof_partition_entry.
It seems more correct would be to use sizeof specified by header to
access the entries array items. This patch introduces gpt_get_entry()
to avoid direct access to gpt->ents[].
Karel Zak [Tue, 4 Apr 2017 12:20:25 +0000 (14:20 +0200)]
Merge branch '2017wk13' of https://github.com/kerolasa/lelux-utiliteetit
* '2017wk13' of https://github.com/kerolasa/lelux-utiliteetit:
docs: improve agetty.8 manual page
agetty: make --remote to forward --nohostname as -H to login
lib/cpuset: stop changing variable that is not read
agetty: remove variable that is set but not read
Ruediger Meier [Fri, 31 Mar 2017 15:16:07 +0000 (17:16 +0200)]
ipcs: make shmall overflow a bit less worse
Still no large integer support but on overflow we print now
the largest possible value, maybe even the largest one which
makes sense at all.
So on x86_64 systems we'll see now:
$ echo "4503599627370496" > /proc/sys/kernel/shmall
$ ipcs -m -l | grep "max total"
max total shared memory (kbytes) = 18014398509481980
rather than this:
$ ipcs -m -l | grep "max total"
max total shared memory (kbytes) = 0
The 'silent' argument for get_epoch_rtc() was used
to silence error messages when querying the rtc
driver for an alpha epoch while using cmos direct
access. Alpha cmos has since been removed so
'silent' is no longer used.
* sys-utils/hwclock.h: remove 'silent' argument
* sys-utils/hwclock.c: same
* sys-utils/hwclock-rtc.c: same
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Karel Zak [Thu, 30 Mar 2017 10:10:01 +0000 (12:10 +0200)]
zramctl: make mm_stat parser more robust
Let's fallback to attribute files if mm_stat file is incomplete. It
should not happen, but I have seen RHEL7 kernel where is no
num_migrated/pages_compacted attribute...
Karel Zak [Mon, 27 Mar 2017 12:54:39 +0000 (14:54 +0200)]
agetty: fix characters reorder in login prompt
The current agetty uses TIOCSTI ioctl to return already read chars
from login name back to the terminal (without read() before
tcsetattr() we will lost data already written by user). The ioctl
based solution is fragile due to race -- we can return chars when
terminal already contains another new chars. The result is reordered
chars in login name.
The solution is to use extra buffer for already read data.
Reported-by: Michael Tretter <m.tretter@pengutronix.de> Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Fri, 24 Mar 2017 10:59:57 +0000 (11:59 +0100)]
Merge branch '2017wk11' of git://github.com/kerolasa/lelux-utiliteetit
* '2017wk11' of git://github.com/kerolasa/lelux-utiliteetit:
blkid: add control struct
blkid: simplify version option handling
tests: add static keyword where needed [smatch scan]
tests: do not use plain 0 as NULL [smatch scan]
libsmartcols: fix test variable shadowing