swapon - requires libmount and libblkid
swapoff - requires libmount
swaplabel - requires libblkid
This patch add lib/swapprober.c with blkid stuff for swap. It allows
to use and link libblkid only when necessary.
Signed-off-by: Karel Zak <kzak@redhat.com>
The swapon(8) listing was almost complete, apart from label and uuid.
This change moves the code from swaplabel(8) to shared scope to be used
for printouts in other swap commands, such as swapon.
Adding this feature to lsblk(8) was a consideration, but lsblk is not
interested of swapfiles, so the swapon seems like a better option to add
this information.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit makes partitions and files to have remaining three columns
aligned. Below print out demonstrates earlier misalignment.
$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 4194300 0 3
/home/src/util-linux/newswap file 496 0 -1
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Both swapon and mkswap need to know what is valid device signature, so
share the value.
[kzak@redhat.com: - use SWAP_SIGNATURE_SZ properly in write_signature()]
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
* rename flags functions to scols_table_enable_*
* rename *_no_foo() functions to _nofoo()
* output formats are mutually exclusive, so don't use flags there
* don't assume symbols in scols_new_table(), use scols_table_set_symbols()
Signed-off-by: Karel Zak <kzak@redhat.com>
Introduce the necessary changes to swapon(8) allowing a sysadmin to leverage
the new changes introduced to sys_swapon by "swap: discard while swapping
only if SWAP_FLAG_DISCARD_PAGES", therefore allowing a more flexible set of
choices when selection the discard policy for mounted swap areas.
This patch introduces the following optional arguments to the already
existent swapon(8) "--discard" option, in order to allow a discard type to
be selected at swapon time:
* once : only single-time area discards are issued. (swapon)
* pages : discard freed pages before they are reused.
If no policy is selected both discard types are enabled. (default)
[kzak@redhat.com: - support <policy> argument for short -d option too,
- add errx() on unsupported policy name]
Signed-off-by: Rafael Aquini <aquini@redhat.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Currently you have to use mnt_table_remove_fs() + mnt_free_fs() to
destroy the list in the table. This is complicated in same situations.
This patch allows to use mnt_free_fs() only.
Signed-off-by: Karel Zak <kzak@redhat.com>
Let's make it more obvious if swap area is accessible for non-root
users. The old version prints the warning only if --verbose is
specified.
Reported-by: mp.lists@free.fr
Signed-off-by: Karel Zak <kzak@redhat.com>
The --show uses lib/tt.c, which allows user to specify columns he is
interested of, and avoids using hard coded field sizes which may be
problematic when system has large enough swap.
[kzak@redhat.com: - improve usage(), remove unused code]
Cc: Bernhard Voelker <mail@bernhard-voelker.de>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
* multipurpose binaries (symlinks) suck when used with autotools
* swapoff shares small subset of the code with swapon
* usage() and 'struct option' is unnecessary complex when shared
* shorter and simple code is easer to maintain...
Signed-off-by: Karel Zak <kzak@redhat.com>
libmount provides very simple API for paths and tags canonicalizations,
let's use it, rather directly link to libblkid and lib/canonicalize.c.
Signed-off-by: Karel Zak <kzak@redhat.com>
* remove dependence on lib/fsprobe.c
* reuse already read swap header for --fixpgsz (don't re-read the
header by libblkid)
Signed-off-by: Karel Zak <kzak@redhat.com>
Using the -w flag with grep actually fought against us here, and hid
some instances where xalloc functions weren't used. Discard it in
favor of an explicit word boundary as a prefix to the function name,
and extend our requirements on the trailing side of the pattern.
This also fixes the few new instances that were overlooked because of
the regex's deficiency.
[kzak@redhat.com: - fix also newfound in findmnt
- remove unnecessary checks after xallocs]
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Karel Zak <kzak@redhat.com>