* the variable definition with hidden type is always horrible, for
example:
int func() {
LIST_HEAD(foo);
...
}
the more readable is:
int func() {
struct list_head foo;
INIT_LIST_HEAD(&foo);
...
}
* the name LIST_HEAD conflict with /usr/include/sys/queue.h
* we use it only on two places in sulogin
Signed-off-by: Karel Zak <kzak@redhat.com>
ninodes in the superblock needs to be set after inodes is checked
against MINIX_MAX_INODES otherwise a value larger than MINIX_MAX_INODES
can be attempted to be stored in the superblock.
Without this change the command "mkfs.minix -2 -i 65530 <dev>" would
write a minix superblock with ninodes set to 0.
Signed-off-by: Nate Clark <nate@neworld.us>
Reset terminal size by assessing maximum row and column. This is useful
when actual geometry and kernel terminal driver are not in sync.
Addresses: http://bugs.debian.org/835636
Based-on-work-by: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Let's use optstr.c functions to parse pattern and options strings.
It's more robust that the old original mount(8) code and it supports
quotes in the options strings.
Signed-off-by: Karel Zak <kzak@redhat.com>
The original --target implementation (< v2.27) has been based on
stat(), so it was usable for valid paths only.
The new implementation is based on search in the mountinfo file, so it
works for arbitrary crazy path. This is not backwardly compatible and
if the path does not exist then it still returns at least root
directory mount entry.
This patch forces mnt_table_find_mountpoint() to check if the path is
valid before we search in the mountinfo file.
Signed-off-by: Karel Zak <kzak@redhat.com>
On 'q' command more(1) calls end_it() function with _exit(). The
_exit() may suspend program execution due to pending I/O on very
loaded server. In this time SIGINT may be delivered due to impatient
user who will press ^C.
And then end_it() cleanup function may be executed by signal handler
too. The result is double free()...
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1403971
Signed-off-by: Karel Zak <kzak@redhat.com>
* use SUFFIX for upper-case suffix
* use AC_CHECK_TOOL() to search for ncurses-config (thanks to Mike Frysinger)
* separate checks by AS_IF()
Signed-off-by: Karel Zak <kzak@redhat.com>
System call getrandom(2) is relatively new, available since kernel 3.17 but
not supported by glibc 2.24. That in mind autotools is made to check
availability of this function and keep old code as fallback. It is
reasonable assume it will take years before the syscall(2) and fallback are
unproblematic to remove.
One might ask why bother using getrandom(2). Main reason is to avoid
unnecessary system calls to achieve exactly same end result. That
demonstrated with 'strace -c ./mcookie' showing 36 calls before, and 32
after this change. Secondly the getrandom(2) function got to kernel with
promise it can be used to avoid file descriptor run down, and since uuidd
uses random_get_bytes() it should fulfill it's promise here.
Reference: http://man7.org/linux/man-pages/man2/getrandom.2.html
Reference: https://lwn.net/Articles/606141/
Reviewed-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Let's hope this is last change necessary to cleanup x-* usage:
x-* persistent option, stored in utab, available for umount, etc.
X-* fstab comment only
mount(8) supports x-mount.mkdir= as well as newly recommended X-mount.mkdir=
Advantages:
* less invasive
* does not require exception for x-systemd
* does not require rename x-initrd to X-initrd
The systemd and dracut users will get the new (=fixed) functionality without a
change in fstab configuration. This is the primary goal.
Disadvantages:
* not 100% compatible libmount behavior, x-* options have not been
previously stored in utab. The API is the same, options will be still
available, but on x-* libmount will write to /run/mount/utab. For now
it seems only systemd uses x-*, and they like this behavior, so...
Addresses: https://github.com/systemd/systemd/pull/4515
Signed-off-by: Karel Zak <kzak@redhat.com>
Don't know why this was added in d78df0ac but it can't be right that
libmount/python removes these files in the toplevel builddir. Moreover
I've never seen such *.img files appearing during build at all.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Rebase from
http://git.kernel.org/pub/scm/linux/kernel/git/mtk/util-linux.git doc_fixes
docs: renice(1): Add credentials(7) to SEE ALSO
docs: renice(1): Add SEE ALSO entry for sched(7)
docs: mount(8): Wording fix
docs: ionice(1): SEE ALSO: add ioprio_set(2)
docs: lsns(8): SEE ALSO: add namespaces(7)
docs: last(1): Eliminate oddball formatting
docs: last(1): SEE ALSO: add reference to wtmp(5)
docs: taskset(1): Wording fix
docs: namei(1): SEE ALSO: add symlink(7)
docs: kill(1): Wording fix
docs: various pages: Use 'UID" and "GID", not "uid" and "gid" in man pages
docs: various pages: Use "PID" not "pid" in man-pages
docs: various pages: Use "ID" not "id" in man pages
docs: various pages: Use consistent terminology (set-user-ID and set-group-ID)
docs: various pages: Format pathnames as italic (.I)
The sched(7) page as of the most recent release contains detailed
information on the 'nice' value, including a discussion of
autogrouping, which has surprising interactions with the process
nice value.
Signed-off-by: <mtk.man-pages@gmail.com>
The correct word here is "practice"; "manner" would not be well
understood by most English speakers.
Signed-off-by: Michael Kerrisk <mtk.man-pages@gmail.com>