[Open-FCoE] [PATCH v2] fcoe-utils: add DRIVER_NAME to specify the FCoE low-level driver

Zou, Yi yi.zou at intel.com
Tue Jan 18 02:06:23 UTC 2011


> 
> On Wed, 2011-01-12 at 18:42 -0800, Nithin Sujir wrote:
> > This patch adds support to fcoe-utils to send the low-level driver name
> into
> > the libfcoe driver. This complements yi's driver v3 patches that change
> the
> > sysfs path and add the transport attach support.
> >
> > https://lists.open-fcoe.org/pipermail/devel/2011-January/010946.html
> >
> > The following changes are added.
> >
> > 1. DRIVER_NAME field in cfg-ethx file. fcoemon will now send
> "interface:driver
> > name" string into the libfcoe driver to allow it to invoke the right
> transport
> > driver functions.
> >
> > 2. SUPPORTED_DRIVERS field in the config file allows the service to
> load all
> > supported drivers if they exist.
> >
> > 3. The check for if driver is loaded is moved to the fcoe service since
> it
> > already knows which are the supported drivers.
> >
> >
> > Signed-off-by: Nithin Nayak Sujir <nsujir at broadcom.com>
> > ---
> >  doc/fcoemon.txt        |    3 ++
> >  etc/cfg-ethx           |    5 ++++
> >  etc/config             |    4 +++
> >  etc/initd/initd.fedora |   23 +++++++++++++++++-
> >  etc/initd/initd.suse   |   25 ++++++++++++++++++-
> >  fcoemon.c              |   59 +++++++++++++++++++++++++++++++++++-----
> --------
> >  include/fcoe_utils.h   |    4 ++-
> >  7 files changed, 102 insertions(+), 21 deletions(-)
> >
> 
> Hi Nithin, Bhanu and Yi,
> 
>    We need an update to the fcoeadm man page, can you resend this with
> that addition?
> 
>    Also, I was trying to test Yi/Bhanu's v3 kernel series with this
> fcoe-utils patch and I can't get things to work.
> 
>    After running 'fipvlan -ac' interface 'eth3.170-fcoe' is created.
> When I try to create on that interface using 'fcoeadm -c eth3.170-fcoe'
> nothing happens except for the kernel reporting, "fcoe_transport_create:
> transport n/a failed to create fcoe on n/a"
> When I try 'fcoeadm -c eth3.170-fcoe:fcoe' I get the following system
> panic.
> 
>    With fcoe.ko how are you expecting the user to use 'fcoeadm -c', with
> the ':<driver>' or not? I think that it should default to the SW FCoE if
> there isn't a driver specified so that the current interface for SW FCoE
> doesn't have to change (scripts, etc...).
> 
> Jan 17 17:27:53 bubba [  143.849554] fcoe_transport_create: transport
> n/a failed to create fcoe on n/a
> Jan 17 17:29:11 bubba [  221.931904] kernel tried to execute
> NX-protected page - exploit attempt? (uid: 0)

It's not really a panic, I was able to reproduce this as this was caused by
the bug that no error returned even no transport was attached, then it was
trying to go on call ft->create(), which is not right. I'll get it fixed.
Anyway, we need a v4 on this and I will also roll in your previous comments
as well.

Thanks,
yi


> Jan 17 17:29:11 bubba [  221.931984] BUG: unable to handle kernel
> Jan 17 17:29:11 bubba paging request
> Jan 17 17:29:11 bubba at ffff88013a9e2e00
> Jan 17 17:29:11 bubba [  221.932166] IP:
> Jan 17 17:29:11 bubba [<ffff88013a9e2e00>] 0xffff88013a9e2e00
> Jan 17 17:29:11 bubba [  221.932291] PGD 1a04063
> Jan 17 17:29:11 bubba PUD bf782067
> Jan 17 17:29:11 bubba PMD 800000013a8001e3
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.932527] Oops: 0011 [#1]
> Jan 17 17:29:11 bubba SMP
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.932900] last sysfs
> file: /sys/module/libfcoe/parameters/create
> Jan 17 17:29:11 bubba [  221.933168] CPU 0
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.933230] Modules linked in:
> Jan 17 17:29:11 bubba fcoe
> Jan 17 17:29:11 bubba libfcoe
> Jan 17 17:29:11 bubba libfc
> Jan 17 17:29:11 bubba scsi_transport_fc
> Jan 17 17:29:11 bubba [last unloaded: libfc]
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.934304]
> Jan 17 17:29:11 bubba [  221.934567] Pid: 2209, comm: fcoemon Not
> tainted 2.6.37-rc6+ #5 X8DT3/X8DT3
> Jan 17 17:29:11 bubba [  221.934843] RIP: 0010:[<ffff88013a9e2e00>]
> Jan 17 17:29:11 bubba [<ffff88013a9e2e00>] 0xffff88013a9e2e00
> Jan 17 17:29:11 bubba [  221.935370] RSP: 0018:ffff8803327dddb0  EFLAGS:
> 00010286
> Jan 17 17:29:11 bubba [  221.935638] RAX: ffff88013a9e2e00 RBX:
> ffffffffa0037578 RCX: 0000000000000006
> Jan 17 17:29:11 bubba [  221.935913] RDX: ffffffffa00375a0 RSI:
> 0000000000000004 RDI: ffff88013aa4d000
> Jan 17 17:29:11 bubba [  221.936185] RBP: ffff8803327dde58 R08:
> ffffffffa00375a0 R09: 0000ea0268012318
> Jan 17 17:29:11 bubba [  221.936458] R10: ffff8803327ddd88 R11:
> 0000000000000004 R12: ffff88013f802600
> Jan 17 17:29:11 bubba [  221.936731] R13: ffff88013aa4d000 R14:
> ffff88013a9e2e00 R15: 0000000000000020
> Jan 17 17:29:11 bubba [  221.937003] FS:  00007f42d8c3d720(0000)
> GS:ffff8800bf400000(0000) knlGS:0000000000000000
> Jan 17 17:29:11 bubba [  221.937477] CS:  0010 DS: 0000 ES: 0000 CR0:
> 0000000080050033
> Jan 17 17:29:11 bubba [  221.937746] CR2: ffff88013a9e2e00 CR3:
> 0000000331056000 CR4: 00000000000006f0
> Jan 17 17:29:11 bubba [  221.938018] DR0: 0000000000000000 DR1:
> 0000000000000000 DR2: 0000000000000000
> Jan 17 17:29:11 bubba [  221.938294] DR3: 0000000000000000 DR6:
> 00000000ffff0ff0 DR7: 0000000000000400
> Jan 17 17:29:11 bubba [  221.938566] Process fcoemon (pid: 2209,
> threadinfo ffff8803327dc000, task ffff88032e7f20a0)
> Jan 17 17:29:11 bubba [  221.939041] Stack:
> Jan 17 17:29:11 bubba [  221.939302]  ffffffffa0036217
> Jan 17 17:29:11 bubba ffff880138b71be0
> Jan 17 17:29:11 bubba 0000000000000004
> Jan 17 17:29:11 bubba 0000000000000066
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.939998]  ffffffff81057a8d
> Jan 17 17:29:11 bubba ffffffff81a18738
> Jan 17 17:29:11 bubba ffffffff81a18710
> Jan 17 17:29:11 bubba 2222222222222222
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.940698]  2222222222222222
> Jan 17 17:29:11 bubba 3037312e33687465
> Jan 17 17:29:11 bubba 222200656f63662d
> Jan 17 17:29:11 bubba ffff880300000000
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.941398] Call Trace:
> Jan 17 17:29:11 bubba [  221.941676]  [<ffffffffa0036217>] ?
> fcoe_transport_create+0x18e/0x227 [libfcoe]
> Jan 17 17:29:11 bubba [  221.942159]  [<ffffffff81057a8d>] ?
> param_attr_store+0x36/0x62
> Jan 17 17:29:11 bubba [  221.942435]  [<ffffffff81057a9a>]
> param_attr_store+0x43/0x62
> Jan 17 17:29:11 bubba [  221.942710]  [<ffffffff810576c8>]
> module_attr_store+0x21/0x25
> Jan 17 17:29:11 bubba [  221.942984]  [<ffffffff8114a837>]
> sysfs_write_file+0x103/0x13f
> Jan 17 17:29:11 bubba [  221.943261]  [<ffffffff810f2c4f>] vfs_write
> +0xa9/0x105
> Jan 17 17:29:11 bubba [  221.943534]  [<ffffffff810f2d61>] sys_write
> +0x45/0x69
> Jan 17 17:29:11 bubba [  221.943810]  [<ffffffff810029bb>]
> system_call_fastpath+0x16/0x1b
> Jan 17 17:29:11 bubba [  221.944084] Code:
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba ad
> Jan 17 17:29:11 bubba de
> Jan 17 17:29:11 bubba 01
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba c0
> Jan 17 17:29:11 bubba 2d
> Jan 17 17:29:11 bubba 9e
> Jan 17 17:29:11 bubba 3a
> Jan 17 17:29:11 bubba 01
> Jan 17 17:29:11 bubba 88
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 01
> Jan 17 17:29:11 bubba 10
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba ad
> Jan 17 17:29:11 bubba de
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 02
> Jan 17 17:29:11 bubba 20
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba ad
> Jan 17 17:29:11 bubba de
> Jan 17 17:29:11 bubba 01
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba syslog-ng[1086]: Error processing log message:
> <a0>
> Jan 17 17:29:11 bubba 75
> Jan 17 17:29:11 bubba 03
> Jan 17 17:29:11 bubba a0
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba a0
> Jan 17 17:29:11 bubba 75
> Jan 17 17:29:11 bubba 03
> Jan 17 17:29:11 bubba a0
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba ff
> Jan 17 17:29:11 bubba 00
> Jan 17 17:29:11 bubba d0
> Jan 17 17:29:11 bubba a4
> Jan 17 17:29:11 bubba 3a
> Jan 17 17:29:11 bubba 01
> Jan 17 17:29:11 bubba
> Jan 17 17:29:11 bubba [  221.948420] RIP
> Jan 17 17:29:11 bubba [<ffff88013a9e2e00>] 0xffff88013a9e2e00
> Jan 17 17:29:11 bubba [  221.948744]  RSP <ffff8803327dddb0>
> Jan 17 17:29:11 bubba [  221.949007] CR2: ffff88013a9e2e00
> Jan 17 17:29:11 bubba [  221.949273] ---[ end trace
> 956a5017d1e75a2a ]---
> Jan 17 17:29:11 bubba [  221.949541] BUG: sleeping function called from
> invalid context at kernel/rwsem.c:21
> Jan 17 17:29:11 bubba [  221.950013] in_atomic(): 0, irqs_disabled(): 1,
> pid: 2209, name: fcoemon
> Jan 17 17:29:11 bubba [  221.950282] INFO: lockdep is turned off.
> Jan 17 17:29:11 bubba [  221.950544] irq event stamp: 13760
> Jan 17 17:29:11 bubba [  221.950808] hardirqs last  enabled at (13759):
> Jan 17 17:29:11 bubba [<ffffffff8150461f>] _raw_write_unlock_irqrestore
> +0x3a/0x41
> Jan 17 17:29:11 bubba [  221.951341] hardirqs last disabled at (13760):
> Jan 17 17:29:11 bubba [<ffffffff81505303>] error_sti+0x5/0x6
> Jan 17 17:29:11 bubba [  221.951873] softirqs last  enabled at (13584):
> Jan 17 17:29:11 bubba [<ffffffff81044a28>] __do_softirq+0x1c9/0x1f2
> Jan 17 17:29:11 bubba [  221.952404] softirqs last disabled at (13575):
> Jan 17 17:29:11 bubba [<ffffffff8100390c>] call_softirq+0x1c/0x34
> Jan 17 17:29:11 bubba [  221.952936] Pid: 2209, comm: fcoemon Tainted: G
> D     2.6.37-rc6+ #5
> Jan 17 17:29:11 bubba [  221.953206] Call Trace:
> Jan 17 17:29:11 bubba [  221.953476]  [<ffffffff810681fd>] ?
> print_irqtrace_events+0xd0/0xd4
> Jan 17 17:29:11 bubba [  221.953754]  [<ffffffff810361f0>] __might_sleep
> +0xef/0xf3
> Jan 17 17:29:11 bubba [  221.954030]  [<ffffffff81503a65>] down_read
> +0x1f/0x5c
> Jan 17 17:29:11 bubba [  221.954304]  [<ffffffff8107c9ac>] acct_collect
> +0x3f/0x17c
> Jan 17 17:29:11 bubba [  221.954579]  [<ffffffff8104224c>] do_exit
> +0x1d2/0x779
> Jan 17 17:29:11 bubba [  221.954857]  [<ffffffff8103eb07>] ?
> spin_unlock_irqrestore+0x9/0xb
> Jan 17 17:29:11 bubba [  221.955132]  [<ffffffff8103f624>] ? kmsg_dump
> +0x136/0x150
> Jan 17 17:29:11 bubba [  221.955407]  [<ffffffff81505d4b>] oops_end
> +0xb1/0xb9
> Jan 17 17:29:11 bubba [  221.955684]  [<ffffffff810277a9>] no_context
> +0x1f7/0x206
> Jan 17 17:29:11 bubba [  221.955957]  [<ffffffff81027948>]
> __bad_area_nosemaphore+0x190/0x1b3
> Jan 17 17:29:11 bubba [  221.956234]  [<ffffffff81027979>]
> bad_area_nosemaphore+0xe/0x10
> Jan 17 17:29:11 bubba [  221.956510]  [<ffffffff81507e48>] do_page_fault
> +0x1ed/0x3ff
> Jan 17 17:29:11 bubba [  221.956790]  [<ffffffff810f0d5f>] ?
> create_object+0x1d8/0x2a1
> Jan 17 17:29:11 bubba [  221.957064]  [<ffffffff81069f4f>] ? mark_lock
> +0x2d/0x25c
> Jan 17 17:29:11 bubba [  221.957339]  [<ffffffff8106a1d0>] ?
> mark_held_locks+0x52/0x70
> Jan 17 17:29:11 bubba [  221.957620]  [<ffffffff8150461f>] ?
> _raw_write_unlock_irqrestore+0x3a/0x41
> Jan 17 17:29:11 bubba [  221.957898]  [<ffffffff815042d7>] ?
> trace_hardirqs_off_thunk+0x3a/0x3c
> Jan 17 17:29:11 bubba [  221.958176]  [<ffffffff8150511f>] page_fault
> +0x1f/0x30
> Jan 17 17:29:11 bubba [  221.958455]  [<ffffffffa0036217>] ?
> fcoe_transport_create+0x18e/0x227 [libfcoe]
> Jan 17 17:29:11 bubba [  221.958937]  [<ffffffff81057a8d>] ?
> param_attr_store+0x36/0x62
> Jan 17 17:29:11 bubba [  221.959212]  [<ffffffff81057a9a>]
> param_attr_store+0x43/0x62
> Jan 17 17:29:11 bubba [  221.959488]  [<ffffffff810576c8>]
> module_attr_store+0x21/0x25
> Jan 17 17:29:11 bubba [  221.959767]  [<ffffffff8114a837>]
> sysfs_write_file+0x103/0x13f
> Jan 17 17:29:11 bubba [  221.960044]  [<ffffffff810f2c4f>] vfs_write
> +0xa9/0x105
> Jan 17 17:29:11 bubba [  221.960317]  [<ffffffff810f2d61>] sys_write
> +0x45/0x69
> Jan 17 17:29:11 bubba [  221.960589]  [<ffffffff810029bb>]
> system_call_fastpath+0x16/0x1b
> 
> Thanks, //Rob



More information about the devel mailing list