diff options
author | Karel Zak | 2019-06-11 11:05:12 +0200 |
---|---|---|
committer | Karel Zak | 2019-06-11 11:05:12 +0200 |
commit | 6466959d9af04a2f720374839c6ecf89de02f4b6 (patch) | |
tree | 3e9f5e10f72c12aa979c961be217fb3c981baf73 /sys-utils/fstrim.c | |
parent | cfdisk: simplify code (diff) | |
download | kernel-qcow2-util-linux-6466959d9af04a2f720374839c6ecf89de02f4b6.tar.gz kernel-qcow2-util-linux-6466959d9af04a2f720374839c6ecf89de02f4b6.tar.xz kernel-qcow2-util-linux-6466959d9af04a2f720374839c6ecf89de02f4b6.zip |
fstrim: update man page, reuse libmnt_iter
* add info about read-only to the man page
* don't be systemd specific, people aso use crond
* reuse libmnt_iter
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/fstrim.c')
-rw-r--r-- | sys-utils/fstrim.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c index e0e9e57a9..2c11a317f 100644 --- a/sys-utils/fstrim.c +++ b/sys-utils/fstrim.c @@ -278,6 +278,7 @@ static int fstrim_all(struct fstrim_control *ctl) if (!itr) err(MNT_EX_FAIL, _("failed to initialize libmount iterator")); + /* Remove useless entries and canonicalize the table */ while (mnt_table_next_fs(tab, itr, &fs) == 0) { const char *src = mnt_fs_get_srcpath(fs), *tgt = mnt_fs_get_target(fs); @@ -304,15 +305,13 @@ static int fstrim_all(struct fstrim_control *ctl) continue; } } - mnt_free_iter(itr); /* de-duplicate by source */ mnt_table_uniq_fs(tab, MNT_UNIQ_FORWARD, uniq_fs_source_cmp); - itr = mnt_new_iter(MNT_ITER_BACKWARD); - if (!itr) - err(MNT_EX_FAIL, _("failed to initialize libmount iterator")); + mnt_reset_iter(itr, MNT_ITER_BACKWARD); + /* Do FITRIM */ while (mnt_table_next_fs(tab, itr, &fs) == 0) { const char *src = mnt_fs_get_srcpath(fs), *tgt = mnt_fs_get_target(fs); @@ -328,7 +327,7 @@ static int fstrim_all(struct fstrim_control *ctl) if (rc) continue; /* overlaying mount */ - /* FSTRIM on read-only filesystem can fail, and it can fail */ + /* FITRIM on read-only filesystem can fail, and it can fail */ if (access(path, W_OK) != 0) { if (errno == EROFS) continue; |