]>
git.ipfire.org Git - thirdparty/util-linux.git/log
Karel Zak [Wed, 13 Sep 2023 11:06:06 +0000 (13:06 +0200)]
libsmartcols: (filter) move struct filter_param
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 13 Sep 2023 10:54:18 +0000 (12:54 +0200)]
libsmartcols: (filter) move struct filter_expr
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 13 Sep 2023 09:59:13 +0000 (11:59 +0200)]
libsmartcols: (filter) support empty values
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 13 Sep 2023 09:28:36 +0000 (11:28 +0200)]
libsmartcols: (filter) improve scols_filter_assign_column()
* make it more usable with scols_filter_next_holder() and avoid name
* make it usable with only with name
* fix return codes
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 12 Sep 2023 19:16:37 +0000 (21:16 +0200)]
libsmartcols: support SCOLS_JSON_FLOAT in print API
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 12 Sep 2023 12:22:40 +0000 (14:22 +0200)]
libsmartcols: (filter) add ability to cast data
* add FLOAT type for JSON
JSON standard does not care and everything is number, but for libsmartcols
it would be better to differentiate between the types.
* add functions to cast data in the filter param
* cast data from scols rows
* cast data in the filter expression if necessary
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 12 Sep 2023 12:14:50 +0000 (14:14 +0200)]
include/strutils: add ul_strtold()
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 7 Sep 2023 08:53:21 +0000 (10:53 +0200)]
libsmartcols: (filter) cleanup function arguments
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 7 Sep 2023 08:24:03 +0000 (10:24 +0200)]
libsmartcols: (filter) implement data basic operators
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 11:43:37 +0000 (13:43 +0200)]
libsmartcols (filter) fetch data from columns
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 10:51:16 +0000 (12:51 +0200)]
libsmartcols: (filter) param data refactoring
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 09:52:39 +0000 (11:52 +0200)]
libsmartcols: (filter) make holders API more generic
The internal implementation is generic (can hold something else than
only column name). Let's make the API also generic. Maybe later we can
support something else than only column names in expressions
(e.g. env.variables ?).
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 09:43:23 +0000 (11:43 +0200)]
libsmartcols: (filter) cleanup data types
* split placeholders (e.g. column name) and data types
* make data type enums independent on params
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 08:57:42 +0000 (10:57 +0200)]
libsmartcols: (filter) implement logical operators
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 08:54:53 +0000 (10:54 +0200)]
libsmartcols: (filter) evaluate params
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 08:45:45 +0000 (10:45 +0200)]
libsmartcols: update gitignore
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 5 Sep 2023 07:51:25 +0000 (09:51 +0200)]
libsmartcols: (filter) split code
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 31 Aug 2023 15:41:04 +0000 (17:41 +0200)]
libsmartcols: add API to join filter and columns
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 31 Aug 2023 11:55:16 +0000 (13:55 +0200)]
autotools: check for flex in autogen.sh
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 31 Aug 2023 11:47:50 +0000 (13:47 +0200)]
libsmartcols: add parser header files
The header files are generated by bison and flex, but it seems that it's
expected that developer generate it only rarely and manually. So, it
seems better to keep it in git.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 8 Aug 2023 10:19:26 +0000 (12:19 +0200)]
libsmartcols: add filter sample
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 8 Aug 2023 10:18:56 +0000 (12:18 +0200)]
libsmartcols: improve filter integration, use JSON to dump
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 8 Aug 2023 10:16:23 +0000 (12:16 +0200)]
lib/jsonwrt: add support for float numbers
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 8 Aug 2023 10:15:50 +0000 (12:15 +0200)]
autotools: fix AC_PROG_LEX use
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 20 Jul 2023 21:08:07 +0000 (23:08 +0200)]
libsmartcols: introduce basic files for filter implementation
Signed-off-by: Karel Zak <kzak@redhat.com>
Thomas Weißschuh [Sun, 19 Nov 2023 16:21:25 +0000 (17:21 +0100)]
lsfd: avoid undefined behavior
Passing a pointer to a different datatype to tfind() then were inserted
evokes undefines behavior.
This triggers UBSAN as shown below.
Instead pass the proper structs.
```
../misc-utils/lsfd.c:513:27: runtime error: member access within misaligned address 0x7ffe9ee6495c for type 'struct proc', which requires 8 byte alignment
0x7ffe9ee6495c: note: pointer points here
1a 1a 1a 1a 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0 49 e6 9e fe 7f 00 00
^
#0 0x56159cfa4a3b in proc_tree_compare ../misc-utils/lsfd.c:513
#1 0x7f9dd4d2d743 in __tfind (/usr/lib/libc.so.6+0x10f743) (BuildId:
8bfe03f6bf9b6a6e2591babd0bbc266837d8f658 )
#2 0x56159cfa4ac3 in get_proc ../misc-utils/lsfd.c:518
#3 0x56159cfe217b in anon_pidfd_get_name ../misc-utils/lsfd-unkn.c:203
#4 0x56159cfe1040 in unkn_fill_column ../misc-utils/lsfd-unkn.c:93
#5 0x56159cfaaa37 in fill_column ../misc-utils/lsfd.c:1178
#6 0x56159cfaaac5 in convert_file ../misc-utils/lsfd.c:1193
#7 0x56159cfaac4f in convert ../misc-utils/lsfd.c:1212
#8 0x56159cfb2b54 in main ../misc-utils/lsfd.c:2317
#9 0x7f9dd4c45ccf (/usr/lib/libc.so.6+0x27ccf) (BuildId:
8bfe03f6bf9b6a6e2591babd0bbc266837d8f658 )
#10 0x7f9dd4c45d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId:
8bfe03f6bf9b6a6e2591babd0bbc266837d8f658 )
#11 0x56159cfa3c34 in _start (util-linux/build-meson/lsfd+0x41c34) (BuildId:
35fece1a205f96a2dbfe7a0e93b658530de675c4 )
```
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sun, 19 Nov 2023 16:27:40 +0000 (17:27 +0100)]
treewide: explicitly mark unused arguments
The autotools build used -Wno-unused-parameter to silence these warnings
for a few files. On meson however this configuration was not duplicated
leading to persistent warnings, preventing the usage of -Werror.
Instead of having to maintain the exceptions in two buildsystems, mark
the exceptions directly in the source code.
Afterward clean up autotools to not use -Wno-unused-parameter anymore.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Mon, 20 Nov 2023 10:03:39 +0000 (11:03 +0100)]
Merge branch 'authors' of https://github.com/t-8ch/util-linux
* 'authors' of https://github.com/t-8ch/util-linux:
AUTHORS: add tools contributed by myself
Karel Zak [Mon, 20 Nov 2023 10:03:18 +0000 (11:03 +0100)]
Merge branch 'cfdisk/resize-out-of-order' of https://github.com/t-8ch/util-linux
* 'cfdisk/resize-out-of-order' of https://github.com/t-8ch/util-linux:
cfdisk: properly handle out-of-order partitions during resize
libfdisk: add fdisk_partition_get_max_size
libfdisk: fix typo in debug message
Thomas Weißschuh [Wed, 15 Nov 2023 21:18:04 +0000 (22:18 +0100)]
AUTHORS: add tools contributed by myself
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Tue, 14 Nov 2023 16:53:29 +0000 (17:53 +0100)]
cfdisk: properly handle out-of-order partitions during resize
Fixes #2580
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Tue, 14 Nov 2023 16:53:21 +0000 (17:53 +0100)]
libfdisk: add fdisk_partition_get_max_size
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Wed, 18 Oct 2023 08:58:46 +0000 (10:58 +0200)]
libfdisk: fix typo in debug message
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Tue, 14 Nov 2023 11:50:38 +0000 (12:50 +0100)]
lsblk: add separate MAJ and MIN columns
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 14 Nov 2023 11:46:49 +0000 (12:46 +0100)]
libsmartcols: accept no data for custom wrapping cells
Don't re-use previously used 'rc' variable, otherwise empty cell will
be interpreted as error.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 14 Nov 2023 09:18:43 +0000 (10:18 +0100)]
Merge branch 'fincore-err' of https://github.com/t-8ch/util-linux
* 'fincore-err' of https://github.com/t-8ch/util-linux:
fincore: (tests) also use nosize error file
Masatake YAMATO [Tue, 14 Nov 2023 02:21:22 +0000 (11:21 +0900)]
tests: (lsfd::column-xmode) ignore "rwx" mappings
This change fixes the issue about lsfd reported in
https://marc.info/?l=util-linux-ng&m=
169972678725084 &w=2
column-xmode test case assumes an executable file has only
one "x" mapping like:
% pmap $$ | grep ${SHELL##*/}
1292343 : zsh
0000562386c1c000 92K r---- zsh
0000562386c33000 716K r-x-- zsh <<
0000562386ce6000 88K r---- zsh
0000562386cfc000 8K r---- zsh
0000562386cfe000 24K rw--- zsh
However, this assumption is wrong on Sparc64:
% pmap $$
1490470 : zsh
0000010000000000 792K r-x-- zsh <<
00000100001fe000 8K r---- zsh
0000010000200000 32K rwx-- zsh <<
Two "x" mappings are found.
As a result, the original test case failed.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Thomas Weißschuh [Mon, 13 Nov 2023 20:05:59 +0000 (21:05 +0100)]
Goldwyn Rodrigues [Tue, 10 Oct 2023 23:08:59 +0000 (18:08 -0500)]
libuuid: avoid truncate clocks.txt to improve performance
Instead of explicitly truncating clocks.txt file, pad with
whitespaces in the end of file.
This is done to improve performance of libuuid on xfs
filesystems. Instead of truncating the file, pad it with whitespaces.
This is anyways used as a failsafe method in case truncate fails.
The reason why this regression was introduced was because of:
869ae85dae64 ("xfs: flush new eof page on truncate to avoid post-eof corruption")
An attempt to move the clocks.txt to /run (tmpfs) has been attempted before
[1] and with commit
ab2e7dd17 ("libuuid: move clock state file from
/var/lib to /var/run"). The latter was reverted.
[1] https://www.spinics.net/lists/util-linux-ng/msg17331.html
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Karel Zak [Mon, 13 Nov 2023 09:36:16 +0000 (10:36 +0100)]
Merge branch 'lslocks--per-process' of https://github.com/masatake/util-linux
* 'lslocks--per-process' of https://github.com/masatake/util-linux:
lslocks: (man) update the note about OFDLCK
lslocks: (test) add a case for OFDLCK type locks
lslocks: use information extracted from "locks: " column of /proc/$pid/fdinfo/*
lslocks: (refactor) lift up the code destroying the lock list for future extension
lslocks: rename functions for future extension
lslocks: refactor the code reading /proc/locks
lslocks: (refactor) remove 'pid' global variable
lslocks: (man) document LEASE type
lslocks: (test) add a case
Karel Zak [Mon, 13 Nov 2023 09:34:39 +0000 (10:34 +0100)]
Merge branch 'master' of https://github.com/ffontaine/util-linux
* 'master' of https://github.com/ffontaine/util-linux:
libuuid/src/gen_uuid.c: fix cs_min declaration
Masatake YAMATO [Sun, 12 Nov 2023 17:26:53 +0000 (02:26 +0900)]
lslocks: (man) update the note about OFDLCK
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Nov 2023 16:43:36 +0000 (01:43 +0900)]
lslocks: (test) add a case for OFDLCK type locks
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Thu, 9 Nov 2023 22:08:45 +0000 (07:08 +0900)]
lslocks: use information extracted from "locks: " column of /proc/$pid/fdinfo/*
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Nov 2023 15:30:32 +0000 (00:30 +0900)]
lslocks: (refactor) lift up the code destroying the lock list for future extension
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Nov 2023 15:25:51 +0000 (00:25 +0900)]
lslocks: rename functions for future extension
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Thu, 9 Nov 2023 21:14:36 +0000 (06:14 +0900)]
lslocks: refactor the code reading /proc/locks
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Nov 2023 18:03:03 +0000 (03:03 +0900)]
lslocks: (refactor) remove 'pid' global variable
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Nov 2023 17:21:43 +0000 (02:21 +0900)]
lslocks: (man) document LEASE type
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sat, 11 Nov 2023 17:39:22 +0000 (02:39 +0900)]
lslocks: (test) add a case
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Fabrice Fontaine [Tue, 7 Nov 2023 17:43:57 +0000 (18:43 +0100)]
libuuid/src/gen_uuid.c: fix cs_min declaration
Define cs_min through a define and not a const int to avoid the
following build failure with -O0 raised since version 2.39 and
https://github.com/util-linux/util-linux/commit/
2fa4168c8bc9d5438bc1dfadda293c7c21b6fa59 :
libuuid/src/gen_uuid.c: In function 'uuid_generate_time_generic':
libuuid/src/gen_uuid.c:536:33: error: initializer element is not constant
THREAD_LOCAL int cache_size = cs_min;
^~~~~~
For consistency, also use define for cs_max and cs_factor
Fixes:
- http://autobuild.buildroot.org/results/
2f80a5cdb523cc3c8c0f3693607a1be036b2ae98
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Karel Zak [Wed, 8 Nov 2023 11:35:30 +0000 (12:35 +0100)]
Merge branch 'lsfd--tty' of https://github.com/masatake/util-linux
* 'lsfd--tty' of https://github.com/masatake/util-linux:
tests: (lsfd) add a case testing NAME, SOURCE, ENDPOINTS, and PTMX.TTY-INDEX columns of pts fds
tests: (test_mkfds::pty) add a new factory
lsfd: fill ENDPOINTS column for pty devices
lsfd: add attach_xinfo and get_ipc_class methods to cdev_ops
lsfd: add PTMX.TTY-INDEX column
lsfd: utilize /proc/tty/drivers for filling SOURCE column of tty devices
lsfd: make the order of calling finalize_* and initialize_* consistent
Karel Zak [Tue, 7 Nov 2023 10:21:07 +0000 (11:21 +0100)]
Merge branch 'lslocks--man-missing-fields' of https://github.com/masatake/util-linux
* 'lslocks--man-missing-fields' of https://github.com/masatake/util-linux:
lslocks: (man) add missing fields
Masatake YAMATO [Mon, 6 Nov 2023 20:30:33 +0000 (05:30 +0900)]
lslocks: (man) add missing fields
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Mon, 6 Nov 2023 10:40:27 +0000 (11:40 +0100)]
libmount: fix possible NULL dereference [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
Masatake YAMATO [Fri, 3 Nov 2023 20:22:21 +0000 (05:22 +0900)]
tests: (lsfd) add a case testing NAME, SOURCE, ENDPOINTS, and PTMX.TTY-INDEX columns of pts fds
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Fri, 3 Nov 2023 19:38:52 +0000 (04:38 +0900)]
tests: (test_mkfds::pty) add a new factory
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 17:47:35 +0000 (02:47 +0900)]
lsfd: fill ENDPOINTS column for pty devices
An example output:
$ ./lsfd -o+ENDPOINTS -Q '(COMMAND =~ "tmux") and ((SOURCE == "ptmx") or (SOURCE =~ "pts:.*"))'
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME ENDPOINTS
tmux: client
3717086 yamato 0 rw---- CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: client
3717086 yamato 1 rw---- CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: client
3717086 yamato 2 rw---- CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: server
3717088 yamato 5 rw---m CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: server
3717088 yamato 8 rw---m CHR ptmx 24 208 tty-index=16
3717089 ,zsh,0rw
3717089 ,zsh,1rw
3717089 ,zsh,2rw
3717089 ,zsh,10rw
$ ./lsfd -o+ENDPOINTS -Q '(PID ==
3717089 ) and (FD == 0)'
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME ENDPOINTS
zsh
3717089 yamato 0 rw---- CHR pts:16 27 19 /dev/pts/16
3717088 ,tmux: server,8rw
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 17:42:27 +0000 (02:42 +0900)]
lsfd: add attach_xinfo and get_ipc_class methods to cdev_ops
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 15:44:20 +0000 (00:44 +0900)]
lsfd: add PTMX.TTY-INDEX column
tty-index field in /proc/$pid/fdinfo/$fd is the data source of
the column. The value is helpful for looking up the conterpart
of /dev/ptmx.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 15:05:12 +0000 (00:05 +0900)]
lsfd: utilize /proc/tty/drivers for filling SOURCE column of tty devices
The original code referenced /proc/devices using major numbers as keys to obtain
the name of the device driver corresponding to a file descriptor.
However, it turnes out that some drivers share a same major number;
there are cases that a key is not unique.
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
...
About tty-related devices, /proc/tty/drivers is better information
source; both major and minor numbers can be used as keys:
/dev/tty /dev/tty 5 0 system:/dev/tty
/dev/console /dev/console 5 1 system:console
/dev/ptmx /dev/ptmx 5 2 system
/dev/vc/0 /dev/vc/0 4 0 system:vtmaster
usbserial /dev/ttyUSB 188 0-511 serial
dbc_serial /dev/ttyDBC 242 0-63 serial
serial /dev/ttyS 4 64-95 serial
pty_slave /dev/pts 136 0-
1048575 pty:slave
pty_master /dev/ptm 128 0-
1048575 pty:master
unknown /dev/tty 4 1-63 console
This commit extracts the second column of the /proc/tty/drivers as
driver names after removing "/dev": tty, console, ptmx, ...
With the orinal code:
# lsfd -n -p 1789 -Q '(FD == 25)'
systemd-logind 1789 root 25 rw- CHR /dev/vc/0:6 432 25 /dev/tty6
--------------------------------------------^^^^^^^^^^^
With this commit:
# ./lsfd -n -p 1789 -Q '(FD == 25)'
systemd-logind 1789 root 25 rw---- CHR tty:6 432 25 /dev/tty6
----------------------------------------------^^^^^
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Christian Hesse [Thu, 2 Nov 2023 10:37:33 +0000 (11:37 +0100)]
meson: install wall executable with group 'tty'
... for proper permissions.
Christian Hesse [Tue, 31 Oct 2023 07:38:15 +0000 (08:38 +0100)]
meson: install write executable with group 'tty'
... to fix:
write: effective gid does not match group of /dev/pts/3
Karel Zak [Thu, 2 Nov 2023 10:34:39 +0000 (11:34 +0100)]
Merge branch 'PR/losetup-lost' of github.com:karelzak/util-linux-work
* 'PR/losetup-lost' of github.com:karelzak/util-linux-work:
loopdev: report lost loop devices
Karel Zak [Thu, 2 Nov 2023 10:34:20 +0000 (11:34 +0100)]
Merge branch 'libblkid/enum' of https://github.com/t-8ch/util-linux
* 'libblkid/enum' of https://github.com/t-8ch/util-linux:
libblkid: make enum libblkid_endianness lowercase
Karel Zak [Thu, 2 Nov 2023 09:41:03 +0000 (10:41 +0100)]
libmount: improve mnt_table_next_child_fs()
The function utilizes the struct libmnt_itr to iterate through the mountinfo file
but neglects the direction specified by the iterator. This a bug. The application
must manage the direction, as, for instance, umount(8) requires the children of
the mountpoint in reverse order.
Fixes: https://github.com/util-linux/util-linux/issues/2552
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 1 Nov 2023 13:58:57 +0000 (14:58 +0100)]
docs: add SPDX to boilerplate.c
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 1 Nov 2023 13:47:41 +0000 (14:47 +0100)]
disk-utils: add SPDX and Copyright notices
Explicitly state the license (usually GPL-2.0-or-later; our default)
and include copyright statements in all files to prevent false positive
reports from license analysis tools. Add also add SPDX-License-Identifier
tag to all files.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 1 Nov 2023 12:56:01 +0000 (13:56 +0100)]
include/audit-arch: add missing SPDX
Signed-off-by: Karel Zak <kzak@redhat.com>
Chris Hofstaedtler [Tue, 31 Oct 2023 13:52:26 +0000 (14:52 +0100)]
setterm: avoid restoring flags from uninitialized memory
Depending on the used compiler and flags, previously either F_SETFL was called
with 0 or with a random value. Never with the intended previous flags.
[kzak@redhat.com: - tiny coding style change]
Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
Tested-by: Emanuele Rocca <ema@debian.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
Junxiao Bi [Wed, 25 Oct 2023 20:36:03 +0000 (13:36 -0700)]
loopdev: report lost loop devices
If a /dev/loopX is lost because someone might have removed it by mistake,
future losetup operations on that loop device will fail and losetup
--all and --list will not report the devices (although kernel still
uses it).
Since /sysfs still have the loop device intact, detect that and report it.
Changes:
* --list and --all add "(lost)" after device node path
# losetup
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop0 (lost) 0 0 0 0 /root/l0.img 0 512
# losetup -a
/dev/loop0 (lost): []: (/root/l0.img)
* use /sys to get devno rather than stat()
* report warning after failed operation
# losetup -d /dev/loop0
losetup: /dev/loop0: detach failed: No such file or directory
losetup: device node /dev/loop0 (7:0) is lost. You may use mknod(1) to recover it.
* fix copy & past bugs in some API comments
Co-Author: Karel Zak <kzak@redhat.com>
Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Masatake YAMATO [Tue, 31 Oct 2023 23:18:11 +0000 (08:18 +0900)]
lsfd: make the order of calling finalize_* and initialize_* consistent
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Thomas Weißschuh [Tue, 31 Oct 2023 19:55:14 +0000 (20:55 +0100)]
libblkid: make enum libblkid_endianness lowercase
As discussed in #2548
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Wed, 25 Oct 2023 09:37:21 +0000 (11:37 +0200)]
Merge branch 'refine-the-choice-of-stream-related-functions-in-usage' of https://github.com/masatake/util-linux
* 'refine-the-choice-of-stream-related-functions-in-usage' of https://github.com/masatake/util-linux:
Make the ways of using output stream consistent in usage()
Use fputs instead of fprintf if possible
Karel Zak [Wed, 25 Oct 2023 09:34:43 +0000 (11:34 +0200)]
Merge branch 'umount/recursive-bind' of https://github.com/t-8ch/util-linux
* 'umount/recursive-bind' of https://github.com/t-8ch/util-linux:
umount: handle bindmounts during --recursive
mount: (tests) don't create /dev/nul
Karel Zak [Tue, 24 Oct 2023 18:13:29 +0000 (20:13 +0200)]
tests: fix memory leak in scols fromfile
Signed-off-by: Karel Zak <kzak@redhat.com>
Masatake YAMATO [Tue, 24 Oct 2023 17:21:45 +0000 (02:21 +0900)]
Make the ways of using output stream consistent in usage()
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Tue, 24 Oct 2023 16:41:58 +0000 (01:41 +0900)]
Use fputs instead of fprintf if possible
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Mon, 23 Oct 2023 13:20:47 +0000 (15:20 +0200)]
libsmartcols: fix uninitialized local variable in sample
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 12:47:35 +0000 (14:47 +0200)]
libsmartcols: add wrap-zero test
* modify samples/fromfile.c to use scols_wrapzero_nextchunk() callback
if "wrapzero" specified for the test colum
* add col-wrapzero and data-string-zero to define the column and zero
separated data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 12:35:21 +0000 (14:35 +0200)]
libsmartcols: support \x?? for data by samples/fromfile.c
The test (sample) binary already supports \n in strings to covert it
to the real line-break. It seem more generic to use \x?? (hex) to
support arbitrary byte in the column data.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 11:37:51 +0000 (13:37 +0200)]
libsmartcols: add new functions to API docs
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 11:42:08 +0000 (13:42 +0200)]
findmnt: use zero to separate lines in multi-line cells
Fixes: https://github.com/util-linux/util-linux/issues/2533
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 19:33:38 +0000 (21:33 +0200)]
libsmartcols: improve cell data preparation for non-wrapping cases
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 10:42:35 +0000 (12:42 +0200)]
libsmartcols: add --{export,raw,json} to wrap sample
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 09:23:20 +0000 (11:23 +0200)]
libsmartcols: make calculation more robust
* add debug messages
* make columns stat debug more compact
* default to zero if data undefined
* fix "extreme" column enlarging
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 08:48:59 +0000 (10:48 +0200)]
libsmartcols: reset cell wrapping if all done
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 18 Oct 2023 10:29:17 +0000 (12:29 +0200)]
lsblk: use zero to separate lines in multi-line cells
Fixes: https://github.com/util-linux/util-linux/issues/2533
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 18 Oct 2023 10:28:40 +0000 (12:28 +0200)]
libsmartcols: add support for zero separated wrap data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 18 Oct 2023 08:20:12 +0000 (10:20 +0200)]
libsmartcols: add scols_cell_refer_memory()
* allow to use non-string data
* use memcpy() rather than strdup() for data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 21:15:06 +0000 (23:15 +0200)]
libsmartcols: always print vertical symbol
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 20:38:43 +0000 (22:38 +0200)]
libsmartcols: multi-line cells refactoring
* move data wrapping code to column.c
* do data wrapping on one place when copy cell data to buffer
* use table cursor in affected functions
* calculate tree ASCII-art to wrapped data
* mark wrap_chunksize() callback as deprecated; library calculates
the size itself from real data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 09:57:10 +0000 (11:57 +0200)]
libsmartcols: add table cursor
The cursor makes it simple for callbacks to access information about
the current cell, line and column. It will reduce number of necessary
arguments for callbacks.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 20:12:58 +0000 (22:12 +0200)]
lib/mbsalign: calculate size of decoded string
The "safe" encoding replaces each unsafe byte with \x<hex>, the new
function mbs_safe_decoded_size() calculates the original size of the
string.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 10 Oct 2023 17:35:34 +0000 (19:35 +0200)]
lib/buffer: make buffer usable for non-string data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 11 Oct 2023 10:37:40 +0000 (12:37 +0200)]
lib/strutils: add ul_next_string()
The function jumps to the next string in buffer where strings are
separated by \0.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 10:50:22 +0000 (12:50 +0200)]
Merge branch 'master' of https://github.com/Connor-GH/util-linux
* 'master' of https://github.com/Connor-GH/util-linux:
Fix man page for col to correct documentation error
Update col.c to fix option mistake
Karel Zak [Mon, 23 Oct 2023 10:47:19 +0000 (12:47 +0200)]
Merge branch 'libblkid/vxfs/cleanup' of https://github.com/t-8ch/util-linux
* 'libblkid/vxfs/cleanup' of https://github.com/t-8ch/util-linux:
libblkid: (vxfs) simplify prober
libblkid: (superblocks) add helper blkid32_to_cpu()
libblkid: (vxfs) use hex escape for magic
libblkid: (vxfs) add test files
Karel Zak [Mon, 23 Oct 2023 10:37:19 +0000 (12:37 +0200)]
Merge branch 'wdctl/sysfs' of https://github.com/t-8ch/util-linux
* 'wdctl/sysfs' of https://github.com/t-8ch/util-linux:
wdctl: use only sysfs if sufficient
Karel Zak [Mon, 23 Oct 2023 10:35:57 +0000 (12:35 +0200)]
Merge branch 'libmount/null-api' of https://github.com/t-8ch/util-linux
* 'libmount/null-api' of https://github.com/t-8ch/util-linux:
libmount: guard against sysapi == NULL