Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jan 2018 00:38:24 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r328580 - stable/11/sys/kern
Message-ID:  <201801300038.w0U0cO6E089941@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Tue Jan 30 00:38:24 2018
New Revision: 328580
URL: https://svnweb.freebsd.org/changeset/base/328580

Log:
  MFC 327753: Simplify some logic by merging an if test with a subsequent switch.
  
  Specifically, in aio_queue_file() the code was doing this:
  
     if (opcode == LIO_SYNC) {
         ...
     }
  
     switch (opcode) {
     ...
     case LIO_SYNC:
         ...
     }
  
  This moves the body of the if statement into the LIO_SYNC case of the
  switch statement.
  
  Sponsored by:	Chelsio Communications

Modified:
  stable/11/sys/kern/vfs_aio.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/kern/vfs_aio.c
==============================================================================
--- stable/11/sys/kern/vfs_aio.c	Tue Jan 30 00:24:03 2018	(r328579)
+++ stable/11/sys/kern/vfs_aio.c	Tue Jan 30 00:38:24 2018	(r328580)
@@ -1738,7 +1738,13 @@ queueit:
 		return (EOPNOTSUPP);
 	}
 
-	if (opcode == LIO_SYNC) {
+	switch (job->uaiocb.aio_lio_opcode) {
+	case LIO_READ:
+	case LIO_WRITE:
+		aio_schedule(job, aio_process_rw);
+		error = 0;
+		break;
+	case LIO_SYNC:
 		AIO_LOCK(ki);
 		TAILQ_FOREACH(job2, &ki->kaio_jobqueue, plist) {
 			if (job2->fd_file == job->fd_file &&
@@ -1760,15 +1766,6 @@ queueit:
 			return (0);
 		}
 		AIO_UNLOCK(ki);
-	}
-
-	switch (opcode) {
-	case LIO_READ:
-	case LIO_WRITE:
-		aio_schedule(job, aio_process_rw);
-		error = 0;
-		break;
-	case LIO_SYNC:
 		aio_schedule(job, aio_process_sync);
 		error = 0;
 		break;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801300038.w0U0cO6E089941>