* If the type isn't specified by the user, then use either the type
* specified in /etc/fstab, or DEFAULT_FSTYPE.
*/
-static int fsck_device(struct libmnt_fs *fs, int interactive)
+static int fsck_device(struct libmnt_fs *fs, int interactive, int warn_notfound)
{
char *progname, *progpath;
const char *type;
retval = ENOENT;
goto err;
}
+ if (warn_notfound)
+ warnx(_("fsck.%s not found; ignore %s"), type,
+ fs_get_device(fs));
return 0;
}
if (!skip_root &&
!fs_is_done(fs) &&
!(ignore_mounted && is_mounted(fs))) {
- status |= fsck_device(fs, 1);
+ status |= fsck_device(fs, 1, 0);
status |= wait_many(FLAG_WAIT_ALL);
if (status > FSCK_EX_NONDESTRUCT) {
mnt_free_iter(itr);
/*
* Spawn off the fsck process
*/
- status |= fsck_device(fs, serialize);
+ status |= fsck_device(fs, serialize, 0);
fs_set_done(fs);
/*
continue;
if (ignore_mounted && is_mounted(fs))
continue;
- status |= fsck_device(fs, interactive);
+ status |= fsck_device(fs, interactive, interactive);
if (serialize ||
(max_running && (num_running >= max_running))) {
struct fsck_instance *inst;