aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mfi/mfivar.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mfi/mfivar.h')
-rw-r--r--sys/dev/mfi/mfivar.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/mfi/mfivar.h b/sys/dev/mfi/mfivar.h
index 874ae1fdaeba..80714a0fab3a 100644
--- a/sys/dev/mfi/mfivar.h
+++ b/sys/dev/mfi/mfivar.h
@@ -30,6 +30,9 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include <sys/lock.h>
+#include <sys/sx.h>
+
/*
* SCSI structures and definitions are used from here, but no linking
* requirements are made to CAM.
@@ -87,6 +90,7 @@ struct mfi_disk {
struct disk *ld_disk;
int ld_flags;
#define MFI_DISK_FLAGS_OPEN 0x01
+#define MFI_DISK_FLAGS_DISABLED 0x02
};
struct mfi_aen {
@@ -131,6 +135,9 @@ struct mfi_softc {
uint32_t mfi_aen_triggered;
uint32_t mfi_poll_waiting;
struct selinfo mfi_select;
+ int mfi_delete_busy_volumes;
+ int mfi_keep_deleted_volumes;
+ int mfi_detaching;
bus_dma_tag_t mfi_sense_dmat;
bus_dmamap_t mfi_sense_dmamap;
@@ -185,6 +192,7 @@ struct mfi_softc {
struct mfi_command * (* mfi_cam_start)(void *);
struct callout mfi_watchdog_callout;
struct mtx mfi_io_lock;
+ struct sx mfi_config_lock;
};
extern int mfi_attach(struct mfi_softc *);
@@ -192,6 +200,8 @@ extern void mfi_free(struct mfi_softc *);
extern int mfi_shutdown(struct mfi_softc *);
extern void mfi_startio(struct mfi_softc *);
extern void mfi_disk_complete(struct bio *);
+extern int mfi_disk_disable(struct mfi_disk *);
+extern void mfi_disk_enable(struct mfi_disk *);
extern int mfi_dump_blocks(struct mfi_softc *, int id, uint64_t, void *, int);
#define MFIQ_ADD(sc, qname) \