summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-10-05 11:46:23 +0000
committermav <mav@FreeBSD.org>2015-10-05 11:46:23 +0000
commitb4068647d66d82edbac761c67b7b628b674d1057 (patch)
tree40e2948b102bcb98d1a5e1d5b557bc3c7a8b2109 /sys/cam
parent5ee28f32f3fc011b1e2bc325023cb3d5f52e8781 (diff)
downloadFreeBSD-src-b4068647d66d82edbac761c67b7b628b674d1057.zip
FreeBSD-src-b4068647d66d82edbac761c67b7b628b674d1057.tar.gz
MFC r288427: Use proper STAILQ_* macros where possible.
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/ctl/ctl.c18
-rw-r--r--sys/cam/ctl/ctl_backend_ramdisk.c9
2 files changed, 7 insertions, 20 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
index 6d4851b..34ba367 100644
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -1924,13 +1924,8 @@ ctl_shutdown(void)
mtx_lock(&softc->ctl_lock);
- /*
- * Free up each LUN.
- */
- for (lun = STAILQ_FIRST(&softc->lun_list); lun != NULL; lun = next_lun){
- next_lun = STAILQ_NEXT(lun, links);
+ STAILQ_FOREACH_SAFE(lun, &softc->lun_list, links, next_lun)
ctl_free_lun(lun);
- }
mtx_unlock(&softc->ctl_lock);
@@ -2782,9 +2777,9 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag,
* XXX KDM no locking here. If the LUN list changes,
* things can blow up.
*/
- for (i = 0, lun = STAILQ_FIRST(&softc->lun_list); lun != NULL;
- i++, lun = STAILQ_NEXT(lun, links)) {
- retval = copyout(&lun->stats, &stats->lun_stats[i],
+ i = 0;
+ STAILQ_FOREACH(lun, &softc->lun_list, links) {
+ retval = copyout(&lun->stats, &stats->lun_stats[i++],
sizeof(lun->stats));
if (retval != 0)
break;
@@ -4639,8 +4634,7 @@ ctl_enable_lun(struct ctl_be_lun *be_lun)
lun->flags &= ~CTL_LUN_DISABLED;
mtx_unlock(&lun->lun_lock);
- for (port = STAILQ_FIRST(&softc->port_list); port != NULL; port = nport) {
- nport = STAILQ_NEXT(port, links);
+ STAILQ_FOREACH_SAFE(port, &softc->port_list, links, nport) {
if ((port->status & CTL_PORT_STATUS_ONLINE) == 0 ||
port->lun_map != NULL || port->lun_enable == NULL)
continue;
@@ -13132,7 +13126,7 @@ ctl_process_done(union ctl_io *io)
* Check to see if we have any errors to inject here. We only
* inject errors for commands that don't already have errors set.
*/
- if ((STAILQ_FIRST(&lun->error_list) != NULL) &&
+ if (!STAILQ_EMPTY(&lun->error_list) &&
((io->io_hdr.status & CTL_STATUS_MASK) == CTL_SUCCESS) &&
((io->io_hdr.flags & CTL_FLAG_STATUS_SENT) == 0))
ctl_inject_error(lun, io);
diff --git a/sys/cam/ctl/ctl_backend_ramdisk.c b/sys/cam/ctl/ctl_backend_ramdisk.c
index b15ae85..d170446 100644
--- a/sys/cam/ctl/ctl_backend_ramdisk.c
+++ b/sys/cam/ctl/ctl_backend_ramdisk.c
@@ -180,14 +180,7 @@ ctl_backend_ramdisk_shutdown(void)
#endif
mtx_lock(&softc->lock);
- for (lun = STAILQ_FIRST(&softc->lun_list); lun != NULL; lun = next_lun){
- /*
- * Grab the next LUN. The current LUN may get removed by
- * ctl_invalidate_lun(), which will call our LUN shutdown
- * routine, if there is no outstanding I/O for this LUN.
- */
- next_lun = STAILQ_NEXT(lun, links);
-
+ STAILQ_FOREACH_SAFE(lun, &softc->lun_list, links, next_lun) {
/*
* Drop our lock here. Since ctl_invalidate_lun() can call
* back into us, this could potentially lead to a recursive
OpenPOWER on IntegriCloud