The patch titled
     aoe: eliminate goto and improve readability
has been removed from the -mm tree.  Its filename was
     aoe-eliminate-goto-and-improve-readability.patch

This patch was dropped because it was merged into mainline or a subsystem tree

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: aoe: eliminate goto and improve readability
From: "Ed L. Cashin" <[EMAIL PROTECTED]>

Adam Richter suggested eliminating this goto.

Signed-off-by: Ed L. Cashin <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/block/aoe/aoechr.c |   71 +++++++++++++++++------------------
 1 file changed, 35 insertions(+), 36 deletions(-)

diff -puN drivers/block/aoe/aoechr.c~aoe-eliminate-goto-and-improve-readability 
drivers/block/aoe/aoechr.c
--- a/drivers/block/aoe/aoechr.c~aoe-eliminate-goto-and-improve-readability
+++ a/drivers/block/aoe/aoechr.c
@@ -194,52 +194,51 @@ aoechr_read(struct file *filp, char __us
        ulong flags;
 
        n = (unsigned long) filp->private_data;
-       switch (n) {
-       case MINOR_ERR:
-               spin_lock_irqsave(&emsgs_lock, flags);
-loop:
-               em = emsgs + emsgs_head_idx;
-               if ((em->flags & EMFL_VALID) == 0) {
-                       if (filp->f_flags & O_NDELAY) {
-                               spin_unlock_irqrestore(&emsgs_lock, flags);
-                               return -EAGAIN;
-                       }
-                       nblocked_emsgs_readers++;
+       if (n != MINOR_ERR)
+               return -EFAULT;
 
+       spin_lock_irqsave(&emsgs_lock, flags);
+
+       for (;;) {
+               em = emsgs + emsgs_head_idx;
+               if ((em->flags & EMFL_VALID) != 0)
+                       break;
+               if (filp->f_flags & O_NDELAY) {
                        spin_unlock_irqrestore(&emsgs_lock, flags);
+                       return -EAGAIN;
+               }
+               nblocked_emsgs_readers++;
 
-                       n = down_interruptible(&emsgs_sema);
+               spin_unlock_irqrestore(&emsgs_lock, flags);
 
-                       spin_lock_irqsave(&emsgs_lock, flags);
+               n = down_interruptible(&emsgs_sema);
 
-                       nblocked_emsgs_readers--;
+               spin_lock_irqsave(&emsgs_lock, flags);
 
-                       if (n) {
-                               spin_unlock_irqrestore(&emsgs_lock, flags);
-                               return -ERESTARTSYS;
-                       }
-                       goto loop;
-               }
-               if (em->len > cnt) {
+               nblocked_emsgs_readers--;
+
+               if (n) {
                        spin_unlock_irqrestore(&emsgs_lock, flags);
-                       return -EAGAIN;
+                       return -ERESTARTSYS;
                }
-               mp = em->msg;
-               len = em->len;
-               em->msg = NULL;
-               em->flags &= ~EMFL_VALID;
-
-               emsgs_head_idx++;
-               emsgs_head_idx %= ARRAY_SIZE(emsgs);
-
+       }
+       if (em->len > cnt) {
                spin_unlock_irqrestore(&emsgs_lock, flags);
-
-               n = copy_to_user(buf, mp, len);
-               kfree(mp);
-               return n == 0 ? len : -EFAULT;
-       default:
-               return -EFAULT;
+               return -EAGAIN;
        }
+       mp = em->msg;
+       len = em->len;
+       em->msg = NULL;
+       em->flags &= ~EMFL_VALID;
+
+       emsgs_head_idx++;
+       emsgs_head_idx %= ARRAY_SIZE(emsgs);
+
+       spin_unlock_irqrestore(&emsgs_lock, flags);
+
+       n = copy_to_user(buf, mp, len);
+       kfree(mp);
+       return n == 0 ? len : -EFAULT;
 }
 
 static const struct file_operations aoe_fops = {
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to