[PATCH 2.6.12-rc2] aoe [4/6]: allow multiple aoe devices to have the same mac

2005-04-20 Thread Ed L Cashin

allow multiple aoe devices to have the same mac

Signed-off-by: Ed L. Cashin <[EMAIL PROTECTED]>

diff -u b/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
--- b/drivers/block/aoe/aoedev.c2005-04-20 11:42:18.0 -0400
+++ b/drivers/block/aoe/aoedev.c2005-04-20 11:42:22.0 -0400
@@ -109,25 +109,22 @@
spin_lock_irqsave(_lock, flags);
 
for (d=devlist; d; d=d->next)
-   if (d->sysminor == sysminor
-   || memcmp(d->addr, addr, sizeof d->addr) == 0)
+   if (d->sysminor == sysminor)
break;
 
if (d == NULL && (d = aoedev_newdev(bufcnt)) == NULL) {
spin_unlock_irqrestore(_lock, flags);
printk(KERN_INFO "aoe: aoedev_set: aoedev_newdev failure.\n");
return NULL;
-   }
+   } /* if newdev, (d->flags & DEVFL_UP) == 0 for below */
 
spin_unlock_irqrestore(_lock, flags);
spin_lock_irqsave(>lock, flags);
 
d->ifp = ifp;
-
-   if (d->sysminor != sysminor
-   || (d->flags & DEVFL_UP) == 0) {
+   memcpy(d->addr, addr, sizeof d->addr);
+   if ((d->flags & DEVFL_UP) == 0) {
aoedev_downdev(d); /* flushes outstanding frames */
-   memcpy(d->addr, addr, sizeof d->addr);
d->sysminor = sysminor;
d->aoemajor = AOEMAJOR(sysminor);
d->aoeminor = AOEMINOR(sysminor);


-- 
  Ed L. Cashin <[EMAIL PROTECTED]>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2.6.12-rc2] aoe [4/6]: allow multiple aoe devices to have the same mac

2005-04-20 Thread Ed L Cashin

allow multiple aoe devices to have the same mac

Signed-off-by: Ed L. Cashin [EMAIL PROTECTED]

diff -u b/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
--- b/drivers/block/aoe/aoedev.c2005-04-20 11:42:18.0 -0400
+++ b/drivers/block/aoe/aoedev.c2005-04-20 11:42:22.0 -0400
@@ -109,25 +109,22 @@
spin_lock_irqsave(devlist_lock, flags);
 
for (d=devlist; d; d=d-next)
-   if (d-sysminor == sysminor
-   || memcmp(d-addr, addr, sizeof d-addr) == 0)
+   if (d-sysminor == sysminor)
break;
 
if (d == NULL  (d = aoedev_newdev(bufcnt)) == NULL) {
spin_unlock_irqrestore(devlist_lock, flags);
printk(KERN_INFO aoe: aoedev_set: aoedev_newdev failure.\n);
return NULL;
-   }
+   } /* if newdev, (d-flags  DEVFL_UP) == 0 for below */
 
spin_unlock_irqrestore(devlist_lock, flags);
spin_lock_irqsave(d-lock, flags);
 
d-ifp = ifp;
-
-   if (d-sysminor != sysminor
-   || (d-flags  DEVFL_UP) == 0) {
+   memcpy(d-addr, addr, sizeof d-addr);
+   if ((d-flags  DEVFL_UP) == 0) {
aoedev_downdev(d); /* flushes outstanding frames */
-   memcpy(d-addr, addr, sizeof d-addr);
d-sysminor = sysminor;
d-aoemajor = AOEMAJOR(sysminor);
d-aoeminor = AOEMINOR(sysminor);


-- 
  Ed L. Cashin [EMAIL PROTECTED]

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/