Author: mav
Date: Mon Oct  5 11:46:23 2015
New Revision: 288818
URL: https://svnweb.freebsd.org/changeset/base/288818

Log:
  MFC r288427: Use proper STAILQ_* macros where possible.

Modified:
  stable/10/sys/cam/ctl/ctl.c
  stable/10/sys/cam/ctl/ctl_backend_ramdisk.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cam/ctl/ctl.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl.c Mon Oct  5 11:45:28 2015        (r288817)
+++ stable/10/sys/cam/ctl/ctl.c Mon Oct  5 11:46:23 2015        (r288818)
@@ -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, 
                 * 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);

Modified: stable/10/sys/cam/ctl/ctl_backend_ramdisk.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl_backend_ramdisk.c Mon Oct  5 11:45:28 2015        
(r288817)
+++ stable/10/sys/cam/ctl/ctl_backend_ramdisk.c Mon Oct  5 11:46:23 2015        
(r288818)
@@ -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
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to