in the file.
The other supplied options, like \fB\-\-offset\fR, \fB\-\-length\fR and
\fB-\-minimum\fR, are applied to all these devices.
-Errors from filesystems that do not support the discard operation are silently
-ignored.
-
+Errors from filesystems that do not support the discard operation,
+read-only devices and read-only filesystems are silently ignored.
.IP "\fB\-a, \-\-all\fP"
Trim all mounted filesystems on devices that support the discard operation.
The other supplied options, like \fB\-\-offset\fR, \fB\-\-length\fR and
\fB-\-minimum\fR, are applied to all these devices.
-Errors from filesystems that do not support the discard operation are silently
-ignored.
+Errors from filesystems that do not support the discard operation,
+read-only devices and read-only filesystems are silently ignored.
.IP "\fB\-n, \-\-dry\-run\fP"
This option does everything apart from actually call FITRIM ioctl.
.IP "\fB\-o, \-\-offset\fP \fIoffset\fP"
.TP
.B \-\-quiet
Suppress error messages. This option is meant to be used in systemd service
-file to hide warnings that are result of known problems, such as NTFS driver
+file or in cron scripts to hide warnings that are result of known problems,
+such as NTFS driver
reporting
.I Bad file descriptor
when device is mounted read-only, or lack of file system support for ioctl
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);
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);
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;