if (strlen(line) > 3 && line[0] == '/' && line[1] == '/') {
s = strchr(&line[2], '/'); if (!s || s[1] == '\0') return 1;
/* make s point to ',' or '\0' at end of line */
s = strchrnul(s, ','); /* len is strlen(unc) + '\0' */
len = s - line + 1; if (len > sizeof(root_dev)) {
pr_err("Root-CIFS: UNC path too long\n"); return 1;
}
strscpy(root_dev, line, len);
srvaddr = parse_srvaddr(&line[2], s); if (*s) { int n = snprintf(root_opts, sizeof(root_opts), "%s,%s",
DEFAULT_MNT_OPTS, s + 1); if (n >= sizeof(root_opts)) {
pr_err("Root-CIFS: mount options string too long\n");
root_opts[sizeof(root_opts)-1] = '\0'; return 1;
}
}
}
root_server_addr = srvaddr;
return 1;
}
__setup("cifsroot=", cifs_root_setup);
int __init cifs_root_data(char **dev, char **opts)
{ if (!root_dev[0] || root_server_addr == htonl(INADDR_NONE)) {
pr_err("Root-CIFS: no SMB server address\n"); return -1;
}
*dev = root_dev;
*opts = root_opts;
return 0;
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.