Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142720375
D44844.id137968.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D44844.id137968.diff
View Options
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -4923,8 +4923,7 @@
int retval;
CTL_DEBUG_PRINT(("ctl_config_move_done\n"));
- KASSERT(io->io_hdr.io_type == CTL_IO_SCSI,
- ("%s: unexpected I/O type %x", __func__, io->io_hdr.io_type));
+ CTL_IO_ASSERT(io, SCSI);
if (ctl_debug & CTL_DEBUG_CDB_DATA)
ctl_data_print(io);
@@ -10560,8 +10559,7 @@
ctl_get_lba_len(union ctl_io *io, uint64_t *lba, uint64_t *len)
{
- KASSERT(io->io_hdr.io_type == CTL_IO_SCSI,
- ("%s: unexpected I/O type %x", __func__, io->io_hdr.io_type));
+ CTL_IO_ASSERT(io, SCSI);
switch (io->scsiio.cdb[0]) {
case COMPARE_AND_WRITE: {
@@ -10741,8 +10739,7 @@
uint64_t lba;
uint32_t len;
- KASSERT(io->io_hdr.io_type == CTL_IO_SCSI,
- ("%s: unexpected I/O type %x", __func__, io->io_hdr.io_type));
+ CTL_IO_ASSERT(io, SCSI);
/* If not UNMAP -- go other way. */
if (io->scsiio.cdb[0] != UNMAP)
@@ -12323,8 +12320,7 @@
struct bintime cur_bt;
#endif
- KASSERT(io->io_hdr.io_type == CTL_IO_SCSI,
- ("%s: unexpected I/O type %x", __func__, io->io_hdr.io_type));
+ CTL_IO_ASSERT(io, SCSI);
#ifdef CTL_TIME_IO
getbinuptime(&cur_bt);
diff --git a/sys/cam/ctl/ctl_backend_block.c b/sys/cam/ctl/ctl_backend_block.c
--- a/sys/cam/ctl/ctl_backend_block.c
+++ b/sys/cam/ctl/ctl_backend_block.c
@@ -1819,8 +1819,7 @@
be_lun = (struct ctl_be_block_lun *)CTL_BACKEND_LUN(io);
- KASSERT(io->io_hdr.io_type == CTL_IO_SCSI,
- ("%s: unexpected I/O type %x", __func__, io->io_hdr.io_type));
+ CTL_IO_ASSERT(io, SCSI);
PRIV(io)->len = 0;
diff --git a/sys/cam/ctl/ctl_io.h b/sys/cam/ctl/ctl_io.h
--- a/sys/cam/ctl/ctl_io.h
+++ b/sys/cam/ctl/ctl_io.h
@@ -592,6 +592,21 @@
};
#ifdef _KERNEL
+#define _CTL_IO_ASSERT_1(io, _1) \
+ KASSERT((io)->io_hdr.io_type == CTL_IO_##_1, \
+ ("%s: unexpected I/O type %x", __func__, (io)->io_hdr.io_type))
+
+#define _CTL_IO_ASSERT_2(io, _1, _2) \
+ KASSERT((io)->io_hdr.io_type == CTL_IO_##_1 || \
+ (io)->io_hdr.io_type == CTL_IO_##_2, \
+ ("%s: unexpected I/O type %x", __func__, (io)->io_hdr.io_type))
+
+#define _CTL_IO_ASSERT_MACRO(io, _1, _2, NAME, ...) \
+ NAME
+
+#define CTL_IO_ASSERT(...) \
+ _CTL_IO_ASSERT_MACRO(__VA_ARGS__, _CTL_IO_ASSERT_2, \
+ _CTL_IO_ASSERT_1)(__VA_ARGS__)
union ctl_io *ctl_alloc_io(void *pool_ref);
union ctl_io *ctl_alloc_io_nowait(void *pool_ref);
diff --git a/sys/cam/ctl/scsi_ctl.c b/sys/cam/ctl/scsi_ctl.c
--- a/sys/cam/ctl/scsi_ctl.c
+++ b/sys/cam/ctl/scsi_ctl.c
@@ -1908,8 +1908,7 @@
struct cam_periph *periph;
struct ctlfe_lun_softc *softc;
- KASSERT(io->io_hdr.io_type == CTL_IO_SCSI,
- ("%s: unexpected I/O type %x", __func__, io->io_hdr.io_type));
+ CTL_IO_ASSERT(io, SCSI);
io->scsiio.ext_data_filled = 0;
ccb = PRIV_CCB(io);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jan 23, 4:07 PM (22 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27887372
Default Alt Text
D44844.id137968.diff (2 KB)
Attached To
Mode
D44844: ctl: Add CTL_IO_ASSERT wrapper macro
Attached
Detach File
Event Timeline
Log In to Comment