+static int add_fsck(FILE *f, const char *what, const char *where, const char *type, int passno) {
+ assert(f);
+
+ if (passno == 0)
+ return 0;
+
+ if (type && !streq(type, "auto")) {
+ int r;
+ const char *checker;
+
+ checker = strappenda("/sbin/fsck.", type);
+ r = access(checker, X_OK);
+ if (r < 0) {
+ log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
+
+ /* treat missing check as essentially OK */
+ return errno == ENOENT ? 0 : -errno;
+ }
+ }
+
+ if (streq(where, "/")) {
+ char *lnk;