FreeBSD: Add option to rewind checkpoint while importing root pool
This option is used by FreeBSD boot loader. Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Mariusz Zaborski <oshogbo@vexillium.org> Closes #10738
This commit is contained in:
parent
5266a0728a
commit
f2c027bd6a
|
@ -87,5 +87,5 @@ typedef int fstrans_cookie_t;
|
|||
#define cv_wait_io(cv, mp) cv_wait(cv, mp)
|
||||
typedef struct opensolaris_utsname utsname_t;
|
||||
extern utsname_t *utsname(void);
|
||||
extern int spa_import_rootpool(const char *name);
|
||||
extern int spa_import_rootpool(const char *name, bool checkpointrewind);
|
||||
#endif
|
||||
|
|
|
@ -185,7 +185,7 @@ spa_generate_rootconf(const char *name)
|
|||
}
|
||||
|
||||
int
|
||||
spa_import_rootpool(const char *name)
|
||||
spa_import_rootpool(const char *name, bool checkpointrewind)
|
||||
{
|
||||
spa_t *spa;
|
||||
vdev_t *rvd;
|
||||
|
@ -244,6 +244,9 @@ spa_import_rootpool(const char *name)
|
|||
}
|
||||
spa->spa_is_root = B_TRUE;
|
||||
spa->spa_import_flags = ZFS_IMPORT_VERBATIM;
|
||||
if (checkpointrewind) {
|
||||
spa->spa_import_flags |= ZFS_IMPORT_CHECKPOINT;
|
||||
}
|
||||
|
||||
/*
|
||||
* Build up a vdev tree based on the boot device's label config.
|
||||
|
|
|
@ -1580,7 +1580,7 @@ zfs_mount(vfs_t *vfsp)
|
|||
|
||||
error = getpoolname(osname, pname);
|
||||
if (error == 0)
|
||||
error = spa_import_rootpool(pname);
|
||||
error = spa_import_rootpool(pname, false);
|
||||
if (error)
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue