stand: Change disk_fmtdev to take a struct devdesc *
We do a number of games with ploymorphism for different types struct *devdesc. Adjust one place that this affects to take the address of the base class (most others have void * at the moment). This is more type safe than a bare void *. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D35914
This commit is contained in:
+4
-1
@@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <bootstrap.h>
|
#include <bootstrap.h>
|
||||||
#include <part.h>
|
#include <part.h>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#include "disk.h"
|
#include "disk.h"
|
||||||
|
|
||||||
@@ -386,11 +387,13 @@ disk_close(struct disk_devdesc *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
disk_fmtdev(struct disk_devdesc *dev)
|
disk_fmtdev(struct devdesc *vdev)
|
||||||
{
|
{
|
||||||
|
struct disk_devdesc *dev = (struct disk_devdesc *)vdev;
|
||||||
static char buf[128];
|
static char buf[128];
|
||||||
char *cp;
|
char *cp;
|
||||||
|
|
||||||
|
assert(vdev->d_dev->dv_type == DEVT_DISK);
|
||||||
cp = buf + sprintf(buf, "%s%d", dev->dd.d_dev->dv_name, dev->dd.d_unit);
|
cp = buf + sprintf(buf, "%s%d", dev->dd.d_dev->dv_name, dev->dd.d_unit);
|
||||||
if (dev->d_slice > D_SLICENONE) {
|
if (dev->d_slice > D_SLICENONE) {
|
||||||
#ifdef LOADER_GPT_SUPPORT
|
#ifdef LOADER_GPT_SUPPORT
|
||||||
|
|||||||
+2
-1
@@ -116,7 +116,8 @@ extern int ptblread(void *, void *, size_t, uint64_t);
|
|||||||
* Print information about slices on a disk.
|
* Print information about slices on a disk.
|
||||||
*/
|
*/
|
||||||
extern int disk_print(struct disk_devdesc *, char *, int);
|
extern int disk_print(struct disk_devdesc *, char *, int);
|
||||||
extern char* disk_fmtdev(struct disk_devdesc *);
|
|
||||||
extern int disk_parsedev(struct disk_devdesc *, const char *, const char **);
|
extern int disk_parsedev(struct disk_devdesc *, const char *, const char **);
|
||||||
|
|
||||||
|
char *disk_fmtdev(struct devdesc *vdev);
|
||||||
|
|
||||||
#endif /* _DISK_H */
|
#endif /* _DISK_H */
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ geli_probe_and_attach(struct open_file *f)
|
|||||||
hlastblk = (hmediasize / DEV_BSIZE) - 1;
|
hlastblk = (hmediasize / DEV_BSIZE) - 1;
|
||||||
|
|
||||||
/* Taste the host provider. If it's not geli-encrypted just return. */
|
/* Taste the host provider. If it's not geli-encrypted just return. */
|
||||||
gdev = geli_taste(diskdev_read, hdesc, hlastblk, disk_fmtdev(hdesc));
|
gdev = geli_taste(diskdev_read, hdesc, hlastblk, disk_fmtdev(&hdesc->dd));
|
||||||
if (gdev == NULL)
|
if (gdev == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user