]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
8 years agocol: avoid extra newline if no input
Sami Kerola [Tue, 9 May 2017 18:10:49 +0000 (19:10 +0100)] 
col: avoid extra newline if no input

BSD fix missed for 22 years, and all util-linux releases so far.

Backported-from: https://github.com/dspinellis/unix-history-repo/commit/2a15260a2a3230e02f57c096fb4c5e1f797bf4f3
Addresses: https://github.com/karelzak/util-linux/issues/422
Reported-by: Pavel Raiskup <praiskup@redhat.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agolib/mbsedit: fix typo in comment
Sami Kerola [Tue, 9 May 2017 18:10:48 +0000 (19:10 +0100)] 
lib/mbsedit: fix typo in comment

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agofdisk: inform on 'p' about wiped partitions
Karel Zak [Tue, 9 May 2017 12:30:36 +0000 (14:30 +0200)] 
fdisk: inform on 'p' about wiped partitions

The wipe operation is potentially dangerous. Let's inform about it
always by 'p' (list) command to make sure user knowns about it.

Command (m for help): p
...
Device     Boot Start    End Sectors Size Id Type
/dev/sdc1        2048 204799  202752  99M 83 Linux

Filesystem/RAID signature on partition 1 will be wiped.

Addresses: https://github.com/karelzak/util-linux/issues/437
Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibfdisk: add fdisk_partition_has_wipe()
Karel Zak [Tue, 9 May 2017 12:30:02 +0000 (14:30 +0200)] 
libfdisk: add fdisk_partition_has_wipe()

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agofdisk: add to the man page missing option
Karel Zak [Tue, 9 May 2017 11:05:26 +0000 (13:05 +0200)] 
fdisk: add to the man page missing option

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolscpu: reuse the same buffer
Karel Zak [Tue, 9 May 2017 10:31:52 +0000 (12:31 +0200)] 
lscpu: reuse the same buffer

Now we use libsmartcols for the default output and all is allocated in
the smartcols table. So, we can reuse the same buffer for all
sprintf/scanf calls.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolscpu: make cpu_{max,min}_mhz() usage more elegant
Karel Zak [Tue, 9 May 2017 10:29:24 +0000 (12:29 +0200)] 
lscpu: make cpu_{max,min}_mhz() usage more elegant

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolscpu: Read available CPUs max and min frequencies
Mamatha Inamdar [Thu, 27 Apr 2017 10:22:59 +0000 (15:52 +0530)] 
lscpu: Read available CPUs max and min frequencies

Problem:"lscpu frequency-info" command was always reading CPU0
max and min frequencies. If CPU0 is guarded or offline then it used to
display max and min frequencies as NULL.

This patch will read overall CPU max and min frequencies.

Test Results:

Before Patch:

    #lscpu (CPU0 is guarded/offline)
    Architecture:          ppc64le
    Byte Order:            Little Endian
    CPU(s):                120
    On-line CPU(s) list:   8-127
    Thread(s) per core:    8
    Core(s) per socket:    3
    Socket(s):             4
    NUMA node(s):          4
    Model:                 2.1 (pvr 004b 0201)
    Model name:            POWER8E (raw), altivec supported
    CPU max MHz:           (null)
    CPU min MHz:           (null)
    L1d cache:             64K
    L1i cache:             32K
    L2 cache:              512K
    L3 cache:              8192K
    NUMA node0 CPU(s):     8-31
    NUMA node1 CPU(s):     32-63
    NUMA node16 CPU(s):    64-95
    NUMA node17 CPU(s):    96-127

With Patch:

    # ./lscpu
    Architecture:          ppc64le
    Byte Order:            Little Endian
    CPU(s):                120
    On-line CPU(s) list:   8-127
    Thread(s) per core:    8
    Core(s) per socket:    3
    Socket(s):             4
    NUMA node(s):          4
    Model:                 2.1 (pvr 004b 0201)
    Model name:            POWER8E (raw), altivec supported
    CPU max MHz:           4322.0000
    CPU min MHz:           2061.0000
    L1d cache:             64K
    L1i cache:             32K
    L2 cache:              512K
    L3 cache:              8192K
    NUMA node0 CPU(s):     8-31
    NUMA node1 CPU(s):     32-63
    NUMA node16 CPU(s):    64-95
    NUMA node17 CPU(s):    96-127

[kzak@redhat.com: - cpu_{max,min}_mhz() refactoring]

Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agosulogin: add missing type
Karel Zak [Tue, 9 May 2017 09:59:53 +0000 (11:59 +0200)] 
sulogin: add missing type

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoMerge branch '2017wk16' of git://github.com/kerolasa/lelux-utiliteetit
Karel Zak [Tue, 9 May 2017 09:58:23 +0000 (11:58 +0200)] 
Merge branch '2017wk16' of git://github.com/kerolasa/lelux-utiliteetit

* '2017wk16' of git://github.com/kerolasa/lelux-utiliteetit:
  chfn, chsh: use readline(3) to receive user input
  findfs: use getopt_long() to parse options
  logger: make month names, login name, and tag read-only objects
  sulogin: reduce vulnerability surface
  partx: add --list-types option
  libblkid: add blkid_partitions_get_name()
  docs: try to convince open(2) O_DIRECT rather than using raw device
  blkid: add long options
  lsipc: fix options parsing and sync with man page

8 years agocolumn: be robust on empty table
Karel Zak [Fri, 5 May 2017 11:56:40 +0000 (13:56 +0200)] 
column: be robust on empty table

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: require column names for JSON
Karel Zak [Fri, 5 May 2017 10:49:51 +0000 (12:49 +0200)] 
column: require column names for JSON

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoblkid: fix return code when display the version
Alexey Gladkov [Thu, 4 May 2017 13:53:13 +0000 (15:53 +0200)] 
blkid: fix return code when display the version

Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
8 years agocolumn: use libsmartcols to avoid circular dependences
Karel Zak [Fri, 5 May 2017 10:13:15 +0000 (12:13 +0200)] 
column: use libsmartcols to avoid circular dependences

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibsmartcols: add scols_line_is_ancestor()
Karel Zak [Fri, 5 May 2017 10:12:43 +0000 (12:12 +0200)] 
libsmartcols: add scols_line_is_ancestor()

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add note that circular dependencies are ignored
Karel Zak [Fri, 5 May 2017 09:52:04 +0000 (11:52 +0200)] 
column: add note that circular dependencies are ignored

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --tree to the man page
Karel Zak [Fri, 5 May 2017 09:47:46 +0000 (11:47 +0200)] 
column: add --tree to the man page

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: fix --tree id-parent loop crash
Karel Zak [Fri, 5 May 2017 09:31:47 +0000 (11:31 +0200)] 
column: fix --tree id-parent loop crash

The loop is silently ignored.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotests: add new build-sys tests
Karel Zak [Wed, 3 May 2017 12:33:04 +0000 (14:33 +0200)] 
tests: add new build-sys tests

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotestsL update build-sys tests
Karel Zak [Wed, 3 May 2017 11:36:20 +0000 (13:36 +0200)] 
testsL update build-sys tests

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agobuild-sys: fix lsmem dependence
Karel Zak [Wed, 3 May 2017 10:00:20 +0000 (12:00 +0200)] 
build-sys: fix lsmem dependence

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agobuild-sys: remove column-old.c
Karel Zak [Wed, 3 May 2017 08:40:46 +0000 (10:40 +0200)] 
build-sys: remove column-old.c

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agochfn, chsh: use readline(3) to receive user input
Sami Kerola [Sun, 23 Apr 2017 17:51:51 +0000 (18:51 +0100)] 
chfn, chsh: use readline(3) to receive user input

The readline offers editing capabilities while the user is entering the
line, unlike fgets(3) and getline(3) that were used earlier.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agofindfs: use getopt_long() to parse options
Sami Kerola [Mon, 17 Apr 2017 20:43:35 +0000 (21:43 +0100)] 
findfs: use getopt_long() to parse options

This change makes the findfs(8) more coherent with other commands in the
project source tree.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agologger: make month names, login name, and tag read-only objects
Sami Kerola [Sat, 15 Apr 2017 20:56:23 +0000 (21:56 +0100)] 
logger: make month names, login name, and tag read-only objects

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agosulogin: reduce vulnerability surface
Sami Kerola [Sat, 15 Apr 2017 20:46:38 +0000 (21:46 +0100)] 
sulogin: reduce vulnerability surface

Hopefully these changes are unreachable code, but better safe than sorry
when dealing with setuid root code that is installed everywhere.  Quite
obviously the introduced abort() calls protect from impossible inputs.

Secondly set all possible data to be read-only in attempt to make it more
difficult to alter anything at all.

Reference: https://www.securecoding.cert.org/confluence/display/c/DCL00-C.+Const-qualify+immutable+objects
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agopartx: add --list-types option
Sami Kerola [Thu, 13 Apr 2017 17:09:23 +0000 (18:09 +0100)] 
partx: add --list-types option

Use libblkid as the source of truth what partition type names exist, and are
supported.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agolibblkid: add blkid_partitions_get_name()
Sami Kerola [Thu, 13 Apr 2017 16:52:35 +0000 (17:52 +0100)] 
libblkid: add blkid_partitions_get_name()

This new function can be use to enquiry what partition names libblkid is
aware of.  First use of this information will be in partx(8) to make bash
completion to work without a magic list.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agodocs: try to convince open(2) O_DIRECT rather than using raw device
Sami Kerola [Thu, 13 Apr 2017 10:18:58 +0000 (11:18 +0100)] 
docs: try to convince open(2) O_DIRECT rather than using raw device

Tell in manual page that one should use open(2) O_DIRECT flag rather than
raw device.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agoblkid: add long options
Sami Kerola [Thu, 13 Apr 2017 08:39:39 +0000 (09:39 +0100)] 
blkid: add long options

This change attempts to make tab completion more reasonable by alloging
memorizable option names.  That also has positive impact to manual page, in
which referrals to other options are now easier to understand.

All short options are kept exactly as they were to avoid ABI breakage.  The
only exception is -f option that getopt(3) recognized, but was not found
from anywhere else.  The -f has been part of blkid since the initial commit.

Commit: 51410fc6deb29cae54a2669aafabae6c49f964fc
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agolsipc: fix options parsing and sync with man page
Sami Kerola [Wed, 12 Apr 2017 17:59:54 +0000 (18:59 +0100)] 
lsipc: fix options parsing and sync with man page

Option --pid was never implemented so remove it from struct options and
manual page.  Interestingly this option was not in usage().  Short option
string had 'u' that has never appear anywhere else, so it is also removed.
Finally add options --bytes and --numeric-perms to manual page.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
8 years agocolumn: parent and child has to be independent
Karel Zak [Wed, 19 Apr 2017 11:22:31 +0000 (13:22 +0200)] 
column: parent and child has to be independent

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotests: add tests for new column features
Karel Zak [Tue, 11 Apr 2017 11:49:36 +0000 (13:49 +0200)] 
tests: add tests for new column features

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibsmartcols: add debug mesg to see width change
Karel Zak [Tue, 11 Apr 2017 11:48:41 +0000 (13:48 +0200)] 
libsmartcols: add debug mesg to see width change

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: force to follow specified width
Karel Zak [Tue, 11 Apr 2017 11:48:02 +0000 (13:48 +0200)] 
column: force to follow specified width

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumns: add note about width
Karel Zak [Tue, 11 Apr 2017 10:40:39 +0000 (12:40 +0200)] 
columns: add note about width

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: use NOEXTREMES for the last column
Karel Zak [Mon, 3 Apr 2017 12:43:13 +0000 (14:43 +0200)] 
column: use NOEXTREMES for the last column

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add support for trees
Karel Zak [Fri, 31 Mar 2017 13:09:45 +0000 (15:09 +0200)] 
column: add support for trees

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: clean up man page
Karel Zak [Wed, 29 Mar 2017 12:46:07 +0000 (14:46 +0200)] 
column: clean up man page

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: clean up usage() and options order
Karel Zak [Wed, 29 Mar 2017 12:45:44 +0000 (14:45 +0200)] 
column: clean up usage() and options order

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-order
Karel Zak [Wed, 29 Mar 2017 12:08:14 +0000 (14:08 +0200)] 
column: add --table-order

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: fix typo
Karel Zak [Wed, 29 Mar 2017 11:17:12 +0000 (13:17 +0200)] 
column: fix typo

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-hide
Karel Zak [Wed, 29 Mar 2017 10:52:41 +0000 (12:52 +0200)] 
column: add --table-hide

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-wrap
Karel Zak [Wed, 29 Mar 2017 10:46:54 +0000 (12:46 +0200)] 
column: add --table-wrap

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-noextreme
Karel Zak [Wed, 29 Mar 2017 10:38:52 +0000 (12:38 +0200)] 
column: add --table-noextreme

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-truncate
Karel Zak [Wed, 29 Mar 2017 10:26:35 +0000 (12:26 +0200)] 
column: add --table-truncate

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: rename options
Karel Zak [Wed, 29 Mar 2017 10:00:48 +0000 (12:00 +0200)] 
column: rename options

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: fix greedy initialization
Karel Zak [Mon, 6 Mar 2017 12:32:52 +0000 (13:32 +0100)] 
column: fix greedy initialization

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-colright
Karel Zak [Mon, 6 Mar 2017 11:57:24 +0000 (12:57 +0100)] 
column: add --table-colright

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: use err_exclusive_options()
Karel Zak [Mon, 6 Mar 2017 11:09:59 +0000 (12:09 +0100)] 
column: use err_exclusive_options()

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: make mbs/wcs conversions more robust
Karel Zak [Mon, 6 Mar 2017 11:05:09 +0000 (12:05 +0100)] 
column: make mbs/wcs conversions more robust

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --json
Karel Zak [Mon, 6 Mar 2017 10:58:15 +0000 (11:58 +0100)] 
column: add --json

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: add --table-colnames
Karel Zak [Mon, 6 Mar 2017 10:37:01 +0000 (11:37 +0100)] 
column: add --table-colnames

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: rename too generic macro
Karel Zak [Fri, 3 Mar 2017 11:20:47 +0000 (12:20 +0100)] 
column: rename too generic macro

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: use libsmartcols for --table
Karel Zak [Fri, 3 Mar 2017 11:17:44 +0000 (12:17 +0100)] 
column: use libsmartcols for --table

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: clean up multi-byte #ifelse
Karel Zak [Thu, 2 Mar 2017 13:50:03 +0000 (14:50 +0100)] 
column: clean up multi-byte #ifelse

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: reorder functions
Karel Zak [Thu, 2 Mar 2017 13:41:22 +0000 (14:41 +0100)] 
column: reorder functions

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: rename functions
Karel Zak [Thu, 2 Mar 2017 13:38:04 +0000 (14:38 +0100)] 
column: rename functions

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotests: add column(1) table test
Karel Zak [Thu, 2 Mar 2017 13:34:08 +0000 (14:34 +0100)] 
tests: add column(1) table test

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotests: add column(1) columnate test
Karel Zak [Thu, 2 Mar 2017 13:21:16 +0000 (14:21 +0100)] 
tests: add column(1) columnate test

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: don't ignore mbs_to_wcs() errors
Karel Zak [Thu, 2 Mar 2017 13:04:47 +0000 (14:04 +0100)] 
column: don't ignore mbs_to_wcs() errors

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotests: add column/files directory
Karel Zak [Thu, 2 Mar 2017 13:00:53 +0000 (14:00 +0100)] 
tests: add column/files directory

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: make input() more generic
Karel Zak [Wed, 1 Mar 2017 14:05:47 +0000 (15:05 +0100)] 
column: make input() more generic

* remove line size limit
* use multi-byte rather than wchar when read input
* prepare for future libsmartcols use in input() for table

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: use colntrol struct on more places
Karel Zak [Wed, 1 Mar 2017 12:58:00 +0000 (13:58 +0100)] 
column: use colntrol struct on more places

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumns: add control struct
Karel Zak [Wed, 1 Mar 2017 12:11:59 +0000 (13:11 +0100)] 
columns: add control struct

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agocolumn: split old and new code
Karel Zak [Fri, 24 Feb 2017 13:05:59 +0000 (14:05 +0100)] 
column: split old and new code

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoMerge branch 'master' of https://github.com/pali/util-linux
Karel Zak [Tue, 2 May 2017 09:28:42 +0000 (11:28 +0200)] 
Merge branch 'master' of https://github.com/pali/util-linux

* 'master' of https://github.com/pali/util-linux:
  tests: Add UDF hdd images created by Linux mkudffs 1.3
  tests: Rename udf-hdd-mkudffs* images to indicate used mkudffs version
  libblkid: udf: For better readibility use one snprintf call instead multiple in loop

8 years agoMerge branch '170419' of github.com:jwpi/util-linux
Karel Zak [Tue, 2 May 2017 09:12:33 +0000 (11:12 +0200)] 
Merge branch '170419' of github.com:jwpi/util-linux

* '170419' of github.com:jwpi/util-linux:
  hwclock: use a consistent name for --predict
  hwclock: remove unneeded braces
  hwclock: make clock test mode message consistent
  hwclock: extra messages for debug only

8 years agotests: Add UDF hdd images created by Linux mkudffs 1.3
Pali Rohár [Mon, 1 May 2017 08:03:08 +0000 (10:03 +0200)] 
tests: Add UDF hdd images created by Linux mkudffs 1.3

$ dd if=/dev/zero of=udf-hdd-mkudffs-1.3-1.img bs=1M count=10
$ mkudffs -l Label -b 512 udf-hdd-mkudffs-1.3-1.img

$ dd if=/dev/zero of=udf-hdd-mkudffs-1.3-2.img bs=1M count=10
$ mkudffs -l Label udf-hdd-mkudffs-1.3-2.img

8 years agotests: Rename udf-hdd-mkudffs* images to indicate used mkudffs version
Pali Rohár [Mon, 1 May 2017 07:32:01 +0000 (09:32 +0200)] 
tests: Rename udf-hdd-mkudffs* images to indicate used mkudffs version

8 years agolibblkid: udf: For better readibility use one snprintf call instead multiple in loop
Pali Rohár [Mon, 1 May 2017 07:28:22 +0000 (09:28 +0200)] 
libblkid: udf: For better readibility use one snprintf call instead multiple in loop

8 years agolib/timer: add comment
Karel Zak [Fri, 28 Apr 2017 11:25:41 +0000 (13:25 +0200)] 
lib/timer: add comment

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoMerge branch 'timer' of https://github.com/Villemoes/util-linux
Karel Zak [Fri, 28 Apr 2017 11:02:02 +0000 (13:02 +0200)] 
Merge branch 'timer' of https://github.com/Villemoes/util-linux

8 years agolibmount: (docs) remove unwanted tag
Karel Zak [Fri, 28 Apr 2017 10:39:21 +0000 (12:39 +0200)] 
libmount: (docs) remove unwanted tag

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agotests: update libmount outputs
Karel Zak [Fri, 28 Apr 2017 09:19:59 +0000 (11:19 +0200)] 
tests: update libmount outputs

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibmount: add read-only warning
Karel Zak [Fri, 28 Apr 2017 09:03:24 +0000 (11:03 +0200)] 
libmount: add read-only warning

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoinclude/exitcodes: remove mount(8) exit codes
Karel Zak [Thu, 27 Apr 2017 12:26:45 +0000 (14:26 +0200)] 
include/exitcodes: remove mount(8) exit codes

All defined by libmount now.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agofstrim: use MNT_EX_* from libmount
Karel Zak [Thu, 27 Apr 2017 12:26:16 +0000 (14:26 +0200)] 
fstrim: use MNT_EX_* from libmount

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agomount: use MNT_EX_* from libmount
Karel Zak [Thu, 27 Apr 2017 12:26:02 +0000 (14:26 +0200)] 
mount: use MNT_EX_* from libmount

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoumount: use MNT_EX_* from libmount
Karel Zak [Thu, 27 Apr 2017 12:25:57 +0000 (14:25 +0200)] 
umount: use MNT_EX_* from libmount

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibmount: (docs) add unused declarations
Karel Zak [Thu, 27 Apr 2017 12:17:50 +0000 (14:17 +0200)] 
libmount: (docs) add unused declarations

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agomount, umount: use mnt_context_get_excode()
Karel Zak [Thu, 27 Apr 2017 12:11:50 +0000 (14:11 +0200)] 
mount, umount: use mnt_context_get_excode()

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibmount: add mnt_context_get_excode()
Karel Zak [Thu, 27 Apr 2017 12:01:26 +0000 (14:01 +0200)] 
libmount: add mnt_context_get_excode()

It's pretty complex task to make mount(8) and umount(8) return code
and generate error message. It seems better to do that in the libmount
rather than force all library users to duplicate mount(8) mk_exit_code()
functions. It also means that all the messages will be translated only
once. Changes:

* all error messages are printed by warn()
* no more multi-line messages
* all messages prefixed by mount target (mountpoint)
* library provides mount(8) compatible MNT_EX_* codes

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1429531
Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agohwclock: use a consistent name for --predict
J William Piggott [Thu, 20 Apr 2017 13:34:33 +0000 (09:34 -0400)] 
hwclock: use a consistent name for --predict

The predict function name is documented as '--predict', but the
code uses '--predict-hc'. This works okay, except that the
'mutually exclusive' error message prints the undocumented name.

* sys-utils/hwclock.c: rename 'predict-hc' to 'predict' so that
    it matches the man-page. This should not be a problem because
    'predict-hc' was never documented.

Signed-off-by: J William Piggott <elseifthen@gmx.com>
8 years agohwclock: remove unneeded braces
J William Piggott [Thu, 20 Apr 2017 00:27:53 +0000 (20:27 -0400)] 
hwclock: remove unneeded braces

Signed-off-by: J William Piggott <elseifthen@gmx.com>
8 years agohwclock: make clock test mode message consistent
J William Piggott [Wed, 19 Apr 2017 23:54:28 +0000 (19:54 -0400)] 
hwclock: make clock test mode message consistent

Signed-off-by: J William Piggott <elseifthen@gmx.com>
8 years agohwclock: extra messages for debug only
J William Piggott [Wed, 19 Apr 2017 23:29:26 +0000 (19:29 -0400)] 
hwclock: extra messages for debug only

Only print extra save_adjtime() messages in debug mode. This makes
the --test mode output consistent accross functions.

Signed-off-by: J William Piggott <elseifthen@gmx.com>
8 years agolibmount: support MS_RDONLY on write-protected devices
Karel Zak [Wed, 26 Apr 2017 15:27:02 +0000 (17:27 +0200)] 
libmount: support MS_RDONLY on write-protected devices

This feature is supported by mount(8) only. It seems better move
this code to libmount. The results is more simple mount(8) and the
feature is accessible for all libmount users.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolib/timer.c: prevent pathological race condition
Rasmus Villemoes [Wed, 26 Apr 2017 11:03:10 +0000 (13:03 +0200)] 
lib/timer.c: prevent pathological race condition

flock(1) uses the timer facility to interrupt a blocking flock(2)
call. However, in a pathological case (or with a sufficiently short
timeout), the timer may fire and the signal be delivered after the
timer is set up, but before we get around to doing the flock(2)
call. In that case, we'd block forever. Checking timeout_expired right
before calling flock(2) does not eliminate that race, so the only
option is to make the timer fire repeatedly. Having the timer fire
after we've returned from flock(2) is not a problem, since we only
check timeout_expired in case of EINTR (also, this firing after return
could also happen with the current code).

There is currently one other user of setup_timer (misc-utils/uuidd.c),
but in that case the signal handler simply exits. Future users of
setup_timer obviously need to ensure that they can tolerate multiple
signal deliveries.

Choosing 1% of the initial timeout as the repeating interval is
somewhat arbitrary. However, I put a lower bound of 0.01s, since
setting the interval much smaller than this may end up effectively
live-locking the process, handling a never-ending stream of signals.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
8 years agolib/timer.c: remove bogus SA_SIGINFO from timer_settime call
Rasmus Villemoes [Wed, 26 Apr 2017 10:56:08 +0000 (12:56 +0200)] 
lib/timer.c: remove bogus SA_SIGINFO from timer_settime call

The only valid flag for timer_settime is TIMER_ABSTIME, which we
certainly don't want here. This seems to be harmless since
timer_settime doesn't validate the flags parameter, TIMER_ABSTIME is
universally 0x1, and no architecture has SA_SIGINFO == 1.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
8 years agoumount: fix typo
Karel Zak [Wed, 26 Apr 2017 10:34:48 +0000 (12:34 +0200)] 
umount: fix typo

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agoswitch_root: unlink files without _DIRENT_HAVE_D_TYPE
Patrick Steinhardt [Sun, 23 Apr 2017 00:33:04 +0000 (02:33 +0200)] 
switch_root: unlink files without _DIRENT_HAVE_D_TYPE

When _DIRENT_HAVE_D_TYPE is not defined, we need to always fstat the
directory entry in order to determine whether it is a directory or not.
If we determine that the file is indeed a directory on the same device,
we proceed to recursively remove its contents as well. Otherwise, we
simply skip removing the entry altogether.

This logic is not entirely correct though. Note that we actually skip
deletion of the entry if it is either not a directory or if it is not on
the same device. The second condition is obviously correct here, as we
do not want to delete files on other mounts here. But skipping deletion
of the entry itself if it is not a directory is wrong.

When _DIRENT_HAVE_D_TYPE is defined, this condition should never be
triggered, as we have already determined that the entry is a directory.
But if it is not, we will always do the fstat and check. Because of
this, we will now skip deletion of all files which are not directories,
which is wrong.

Fix the issue by disentangling both conditions. We now first check
whether we are still on the same device - if not, we skip recursive
deletion as well as deletion of the directory entry. Afterwards, we
check whether it is a directory - if so, we do delete its contents
recursively. And finally, we will now unlink the entry disregarding
whether it is a directory or not.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
8 years agoMerge branch '170415' of github.com:jwpi/util-linux
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

8 years agolibfdisk: fix NLS support
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.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolsblk: don't duplicate columns
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.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolsblk: add ZONED column
Damien Le Moal [Wed, 19 Apr 2017 00:25:58 +0000 (09:25 +0900)] 
lsblk: add ZONED column

Add the column "ZONED" to the output to display block devices zone
model information.

Example output:

> lsblk -o+ZONED
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT ZONED
sda      8:0    0 111.8G  0 disk            none
├─sda1   8:1    0   500M  0 part /boot      none
├─sda2   8:2    0  87.3G  0 part /          none
└─sda3   8:3    0    24G  0 part [SWAP]     none
sdb      8:16   0  12.8T  0 disk            host-managed
sdc      8:32   0   5.5T  0 disk            host-managed

or:

> lsblk --zoned
NAME   ZONED
sda    none
├─sda1 none
├─sda2 none
└─sda3 none
sdb    host-managed
sdc    host-managed

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
8 years agolibfdisk: (gpt) rename to gpt_entry_is_used()
Karel Zak [Wed, 19 Apr 2017 12:00:07 +0000 (14:00 +0200)] 
libfdisk: (gpt) rename to gpt_entry_is_used()

The current function name is inconsistent with the rest of the code.

Signed-off-by: Karel Zak <kzak@redhat.com>
8 years agolibfdisk: allow to change an existing extended partition
Pavel Butsykin [Tue, 18 Apr 2017 15:59:18 +0000 (18:59 +0300)] 
libfdisk: allow to change an existing extended partition

Signed-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
8 years agooptutils.h: don't print non-graph characters
J William Piggott [Wed, 19 Apr 2017 00:57:27 +0000 (20:57 -0400)] 
optutils.h: don't print non-graph characters

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>
8 years agohwclock: improve audit control
J William Piggott [Tue, 18 Apr 2017 22:51:43 +0000 (18:51 -0400)] 
hwclock: improve audit control

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>