enum {
COL_ACTION,
COL_AVAIL,
+ COL_DELETED,
COL_FREQ,
COL_FSROOT,
COL_FSTYPE,
static struct colinfo infos[] = {
[COL_ACTION] = { "ACTION", 10, SCOLS_FL_STRICTWIDTH, N_("action detected by --poll") },
[COL_AVAIL] = { "AVAIL", 5, SCOLS_FL_RIGHT, N_("filesystem size available") },
+ [COL_DELETED] = { "DELETED", 1, SCOLS_FL_RIGHT, N_("filesystem target marked as deleted") },
[COL_FREQ] = { "FREQ", 1, SCOLS_FL_RIGHT, N_("dump(8) period in days [fstab only]") },
[COL_FSROOT] = { "FSROOT", 0.25, SCOLS_FL_NOEXTREMES, N_("filesystem root") },
[COL_FSTYPE] = { "FSTYPE", 0.10, SCOLS_FL_TRUNC, N_("filesystem type") },
static int nactions;
/* global (accessed from findmnt-verify.c too) */
-int flags;
+unsigned int flags;
int parse_nerrors;
struct libmnt_cache *cache;
if (!mnt_fs_is_kernel(fs))
xasprintf(&str, "%d", mnt_fs_get_passno(fs));
break;
+ case COL_DELETED:
+ str = xstrdup(mnt_fs_is_deleted(fs) ? "1" : "0");
+ break;
default:
break;
}
return rc;
}
+ if ((flags & FL_DELETED) && !mnt_fs_is_deleted(fs))
+ return rc;
+
return !rc;
}
fputs(_(" -b, --bytes print sizes in bytes rather than in human readable format\n"), out);
fputs(_(" -C, --nocanonicalize don't canonicalize when comparing paths\n"), out);
fputs(_(" -c, --canonicalize canonicalize printed paths\n"), out);
+ fputs(_(" --deleted print filesystems with mountpoint marked as deleted\n"), out);
fputs(_(" -D, --df imitate the output of df(1)\n"), out);
fputs(_(" -d, --direction <word> direction of search, 'forward' or 'backward'\n"), out);
fputs(_(" -e, --evaluate convert tags (LABEL,UUID,PARTUUID,PARTLABEL) \n"
FINDMNT_OPT_PSEUDO,
FINDMNT_OPT_REAL,
FINDMNT_OPT_VFS_ALL,
- FINDMNT_OPT_SHADOWED
+ FINDMNT_OPT_SHADOWED,
+ FINDMNT_OPT_DELETED,
};
static const struct option longopts[] = {
{ "ascii", no_argument, NULL, 'a' },
{ "bytes", no_argument, NULL, 'b' },
{ "canonicalize", no_argument, NULL, 'c' },
+ { "deleted", no_argument, NULL, FINDMNT_OPT_DELETED },
{ "direction", required_argument, NULL, 'd' },
{ "df", no_argument, NULL, 'D' },
{ "evaluate", no_argument, NULL, 'e' },
case FINDMNT_OPT_SHADOWED:
flags |= FL_SHADOWED;
break;
-
+ case FINDMNT_OPT_DELETED:
+ flags |= FL_DELETED;
+ break;
case 'h':
usage();
case 'V':
case COL_TID:
scols_column_set_json_type(cl, SCOLS_JSON_NUMBER);
break;
+ case COL_DELETED:
+ scols_column_set_json_type(cl, SCOLS_JSON_BOOLEAN);
+ break;
default:
scols_column_set_json_type(cl, SCOLS_JSON_STRING);
break;