mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
stand: Search less agressively for UFS super block
The boot loader should look in the standard places for the UFS superblock, but not go too far into the speculative realm. Supress errors about hash being invalid, which will allow us to boot, even when the superblock looks good, but fails the hash test. This defers any policy decisions about booting and/or recovery to userland. This also has the side effect of eliminating some rather spammy messages when UFS searches devices with filesystems that are not UFS... Sponsored by: Netflix Reviewed by: mckusick Differential Revision: https://reviews.freebsd.org/D36253
This commit is contained in:
parent
eed634d113
commit
6d645da0d4
1 changed files with 5 additions and 2 deletions
|
|
@ -151,6 +151,9 @@ static int search_directory(char *, struct open_file *, ino_t *);
|
|||
static int ufs_use_sa_read(void *, off_t, void **, int);
|
||||
|
||||
/* from ffs_subr.c */
|
||||
int ffs_sbget(void *devfd, struct fs **fsp, off_t sblock, int flags,
|
||||
char *filltype,
|
||||
int (*readfunc)(void *devfd, off_t loc, void **bufp, int size));
|
||||
int ffs_sbsearch(void *, struct fs **, int, char *,
|
||||
int (*)(void *, off_t, void **, int));
|
||||
|
||||
|
|
@ -529,8 +532,8 @@ ufs_open(const char *upath, struct open_file *f)
|
|||
if (mnt == NULL) {
|
||||
/* read super block */
|
||||
twiddle(1);
|
||||
if ((rc = ffs_sbsearch(f, &fs, 0, "stand", ufs_use_sa_read))
|
||||
!= 0) {
|
||||
if ((rc = ffs_sbget(f, &fs, UFS_STDSB, UFS_NOHASHFAIL, "stand",
|
||||
ufs_use_sa_read)) != 0) {
|
||||
goto out;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue