Let's manage the list of file systems that do a specific thing at one
place, following similar naming.
No functional changes.
return nulstr_contains(table, fstype);
}
+bool fstype_can_discard(const char *fstype) {
+
+ static const char table[] =
+ "btrfs\0"
+ "ext4\0"
+ "vfat\0"
+ "xfs\0"
+ ;
+
+ return nulstr_contains(table, fstype);
+}
+
int repeat_unmount(const char *path, int flags) {
bool done = false;
bool fstype_is_network(const char *fstype);
bool fstype_is_api_vfs(const char *fstype);
bool fstype_is_ro(const char *fsype);
+bool fstype_can_discard(const char *fstype);
union file_handle_union {
struct file_handle handle;
p = where;
/* If requested, turn on discard support. */
- if (STR_IN_SET(fstype, "btrfs", "ext4", "vfat", "xfs") &&
+ if (fstype_can_discard(fstype) &&
((flags & DISSECT_IMAGE_DISCARD) ||
((flags & DISSECT_IMAGE_DISCARD_ON_LOOP) && is_loop_device(m->node))))
options = "discard";