27 Jun, 2013

1 commit

  • This is the kernel part of the modification to extract the net params
    from the ibft sysfs to the iface struct used for the connection
    request upon sync_session in the open-iscsi util.

    Three new session sysfs params are defined:
    boot_root - holds the name of the /sys/firmware/ibft or iscsi_rootN
    boot_nic - holds the ethernetN name
    boot_target - holds the targetN name

    Signed-off-by: Eddie Wai
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Eddie Wai
     

10 May, 2013

1 commit


03 May, 2013

1 commit


02 May, 2013

1 commit

  • Pull networking updates from David Miller:
    "Highlights (1721 non-merge commits, this has to be a record of some
    sort):

    1) Add 'random' mode to team driver, from Jiri Pirko and Eric
    Dumazet.

    2) Make it so that any driver that supports configuration of multiple
    MAC addresses can provide the forwarding database add and del
    calls by providing a default implementation and hooking that up if
    the driver doesn't have an explicit set of handlers. From Vlad
    Yasevich.

    3) Support GSO segmentation over tunnels and other encapsulating
    devices such as VXLAN, from Pravin B Shelar.

    4) Support L2 GRE tunnels in the flow dissector, from Michael Dalton.

    5) Implement Tail Loss Probe (TLP) detection in TCP, from Nandita
    Dukkipati.

    6) In the PHY layer, allow supporting wake-on-lan in situations where
    the PHY registers have to be written for it to be configured.

    Use it to support wake-on-lan in mv643xx_eth.

    From Michael Stapelberg.

    7) Significantly improve firewire IPV6 support, from YOSHIFUJI
    Hideaki.

    8) Allow multiple packets to be sent in a single transmission using
    network coding in batman-adv, from Martin Hundebøll.

    9) Add support for T5 cxgb4 chips, from Santosh Rastapur.

    10) Generalize the VXLAN forwarding tables so that there is more
    flexibility in configurating various aspects of the endpoints.
    From David Stevens.

    11) Support RSS and TSO in hardware over GRE tunnels in bxn2x driver,
    from Dmitry Kravkov.

    12) Zero copy support in nfnelink_queue, from Eric Dumazet and Pablo
    Neira Ayuso.

    13) Start adding networking selftests.

    14) In situations of overload on the same AF_PACKET fanout socket, or
    per-cpu packet receive queue, minimize drop by distributing the
    load to other cpus/fanouts. From Willem de Bruijn and Eric
    Dumazet.

    15) Add support for new payload offset BPF instruction, from Daniel
    Borkmann.

    16) Convert several drivers over to mdoule_platform_driver(), from
    Sachin Kamat.

    17) Provide a minimal BPF JIT image disassembler userspace tool, from
    Daniel Borkmann.

    18) Rewrite F-RTO implementation in TCP to match the final
    specification of it in RFC4138 and RFC5682. From Yuchung Cheng.

    19) Provide netlink socket diag of netlink sockets ("Yo dawg, I hear
    you like netlink, so I implemented netlink dumping of netlink
    sockets.") From Andrey Vagin.

    20) Remove ugly passing of rtnetlink attributes into rtnl_doit
    functions, from Thomas Graf.

    21) Allow userspace to be able to see if a configuration change occurs
    in the middle of an address or device list dump, from Nicolas
    Dichtel.

    22) Support RFC3168 ECN protection for ipv6 fragments, from Hannes
    Frederic Sowa.

    23) Increase accuracy of packet length used by packet scheduler, from
    Jason Wang.

    24) Beginning set of changes to make ipv4/ipv6 fragment handling more
    scalable and less susceptible to overload and locking contention,
    from Jesper Dangaard Brouer.

    25) Get rid of using non-type-safe NLMSG_* macros and use nlmsg_*()
    instead. From Hong Zhiguo.

    26) Optimize route usage in IPVS by avoiding reference counting where
    possible, from Julian Anastasov.

    27) Convert IPVS schedulers to RCU, also from Julian Anastasov.

    28) Support cpu fanouts in xt_NFQUEUE netfilter target, from Holger
    Eitzenberger.

    29) Network namespace support for nf_log, ebt_log, xt_LOG, ipt_ULOG,
    nfnetlink_log, and nfnetlink_queue. From Gao feng.

    30) Implement RFC3168 ECN protection, from Hannes Frederic Sowa.

    31) Support several new r8169 chips, from Hayes Wang.

    32) Support tokenized interface identifiers in ipv6, from Daniel
    Borkmann.

    33) Use usbnet_link_change() helper in USB net driver, from Ming Lei.

    34) Add 802.1ad vlan offload support, from Patrick McHardy.

    35) Support mmap() based netlink communication, also from Patrick
    McHardy.

    36) Support HW timestamping in mlx4 driver, from Amir Vadai.

    37) Rationalize AF_PACKET packet timestamping when transmitting, from
    Willem de Bruijn and Daniel Borkmann.

    38) Bring parity to what's provided by /proc/net/packet socket dumping
    and the info provided by netlink socket dumping of AF_PACKET
    sockets. From Nicolas Dichtel.

    39) Fix peeking beyond zero sized SKBs in AF_UNIX, from Benjamin
    Poirier"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)
    filter: fix va_list build error
    af_unix: fix a fatal race with bit fields
    bnx2x: Prevent memory leak when cnic is absent
    bnx2x: correct reading of speed capabilities
    net: sctp: attribute printl with __printf for gcc fmt checks
    netlink: kconfig: move mmap i/o into netlink kconfig
    netpoll: convert mutex into a semaphore
    netlink: Fix skb ref counting.
    net_sched: act_ipt forward compat with xtables
    mlx4_en: fix a build error on 32bit arches
    Revert "bnx2x: allow nvram test to run when device is down"
    bridge: avoid OOPS if root port not found
    drivers: net: cpsw: fix kernel warn on cpsw irq enable
    sh_eth: use random MAC address if no valid one supplied
    3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)
    tg3: fix to append hardware time stamping flags
    unix/stream: fix peeking with an offset larger than data in queue
    unix/dgram: fix peeking with an offset larger than data in queue
    unix/dgram: peek beyond 0-sized skbs
    openvswitch: Remove unneeded ovs_netdev_get_ifindex()
    ...

    Linus Torvalds
     

12 Apr, 2013

1 commit

  • This patch allows iscsiadm to manage iSCSI target information stored on
    adapter flash on per host basis.

    The sysfs entries will look as cited below:
    /sys/bus/iscsi_flashnode/devices/flashnode_sess-:/
    /sys/bus/iscsi_flashnode/devices/flashnode_conn-::/

    Signed-off-by: Adheer Chandravanshi
    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Signed-off-by: James Bottomley

    Adheer Chandravanshi
     

29 Mar, 2013

1 commit


01 Mar, 2013

1 commit

  • Pull first round of SCSI updates from James Bottomley:
    "The patch set is mostly driver updates (bnx2fc, ipr, lpfc, qla4) and a
    few bug fixes"

    Pull delayed because google hates James, and sneakily considers his pull
    requests spam. Why, google, why?

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (60 commits)
    [SCSI] aacraid: 1024 max outstanding command support for Series 7 and above
    [SCSI] bnx2fc: adjust duplicate test
    [SCSI] qla4xxx: Update driver version to 5.03.00-k4
    [SCSI] qla4xxx: Fix return code for qla4xxx_session_get_param.
    [SCSI] qla4xxx: wait for boot target login response during probe.
    [SCSI] qla4xxx: Added support for force firmware dump
    [SCSI] qla4xxx: Re-register IRQ handler while retrying initialize of adapter
    [SCSI] qla4xxx: Throttle active IOCBs to firmware limits
    [SCSI] qla4xxx: Remove unnecessary code from qla4xxx_init_local_data
    [SCSI] qla4xxx: Quiesce driver activities while loopback
    [SCSI] qla4xxx: Rename MBOX_ASTS_IDC_NOTIFY to MBOX_ASTS_IDC_REQUEST_NOTIFICATION
    [SCSI] qla4xxx: Add spurious interrupt messages under debug level 2
    [SCSI] cxgb4i: Remove the scsi host device when removing device
    [SCSI] bfa: fix strncpy() limiter in bfad_start_ops()
    [SCSI] qla4xxx: Update driver version to 5.03.00-k3
    [SCSI] qla4xxx: Correct the validation to check in get_sys_info mailbox
    [SCSI] qla4xxx: Pass correct function param to qla4_8xxx_rd_direct
    [SCSI] lpfc 8.3.37: Update lpfc version for 8.3.37 driver release
    [SCSI] lpfc 8.3.37: Fixed infinite loop in lpfc_sli4_fcf_rr_next_index_get.
    [SCSI] lpfc 8.3.37: Fixed crash due to SLI Port invalid resource count
    ...

    Linus Torvalds
     

07 Feb, 2013

1 commit

  • All in-kernel users of class_find_device() don't really need mutable
    data for match callback.

    In two places (kernel/power/suspend_test.c, drivers/scsi/osd/osd_uld.c)
    this patch changes match callbacks to use const search data.

    The const is propagated to rtc_class_open() and power_supply_get_by_name()
    parameters.

    Note that there's a dev reference leak in suspend_test.c that's not
    touched in this patch.

    Signed-off-by: Michał Mirosław
    Acked-by: Grant Likely
    Signed-off-by: Greg Kroah-Hartman

    Michał Mirosław
     

29 Jan, 2013

1 commit


11 Sep, 2012

1 commit

  • It is a frequent mistake to confuse the netlink port identifier with a
    process identifier. Try to reduce this confusion by renaming fields
    that hold port identifiers portid instead of pid.

    I have carefully avoided changing the structures exported to
    userspace to avoid changing the userspace API.

    I have successfully built an allyesconfig kernel with this change.

    Signed-off-by: "Eric W. Biederman"
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Eric W. Biederman
     

09 Sep, 2012

1 commit


02 Aug, 2012

1 commit

  • Pull core block IO bits from Jens Axboe:
    "The most complicated part if this is the request allocation rework by
    Tejun, which has been queued up for a long time and has been in
    for-next ditto as well.

    There are a few commits from yesterday and today, mostly trivial and
    obvious fixes. So I'm pretty confident that it is sound. It's also
    smaller than usual."

    * 'for-3.6/core' of git://git.kernel.dk/linux-block:
    block: remove dead func declaration
    block: add partition resize function to blkpg ioctl
    block: uninitialized ioc->nr_tasks triggers WARN_ON
    block: do not artificially constrain max_sectors for stacking drivers
    blkcg: implement per-blkg request allocation
    block: prepare for multiple request_lists
    block: add q->nr_rqs[] and move q->rq.elvpriv to q->nr_rqs_elvpriv
    blkcg: inline bio_blkcg() and friends
    block: allocate io_context upfront
    block: refactor get_request[_wait]()
    block: drop custom queue draining used by scsi_transport_{iscsi|fc}
    mempool: add @gfp_mask to mempool_create_node()
    blkcg: make root blkcg allocation use %GFP_KERNEL
    blkcg: __blkg_lookup_create() doesn't need radix preload

    Linus Torvalds
     

25 Jul, 2012

1 commit

  • Pull first round of SCSI updates from James Bottomley:
    "The most important feature of this patch set is the new async
    infrastructure that makes sure async_synchronize_full() synchronizes
    all domains and allows us to remove all the hacks (like having
    scsi_complete_async_scans() in the device base code) and means that
    the async infrastructure will "just work" in future.

    The rest is assorted driver updates (aacraid, bnx2fc, virto-scsi,
    megaraid, bfa, lpfc, qla2xxx, qla4xxx) plus a lot of infrastructure
    work in sas and FC.

    Signed-off-by: James Bottomley "

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (97 commits)
    [SCSI] Revert "[SCSI] fix async probe regression"
    [SCSI] cleanup usages of scsi_complete_async_scans
    [SCSI] queue async scan work to an async_schedule domain
    [SCSI] async: make async_synchronize_full() flush all work regardless of domain
    [SCSI] async: introduce 'async_domain' type
    [SCSI] bfa: Fix to set correct return error codes and misc cleanup.
    [SCSI] aacraid: Series 7 Async. (performance) mode support
    [SCSI] aha152x: Allow use on 64bit systems
    [SCSI] virtio-scsi: Add vdrv->scan for post VIRTIO_CONFIG_S_DRIVER_OK LUN scanning
    [SCSI] bfa: squelch lockdep complaint with a spin_lock_init
    [SCSI] qla2xxx: remove unnecessary reads of PCI_CAP_ID_EXP
    [SCSI] qla4xxx: remove unnecessary read of PCI_CAP_ID_EXP
    [SCSI] ufs: fix incorrect return value about SUCCESS and FAILED
    [SCSI] ufs: reverse the ufshcd_is_device_present logic
    [SCSI] ufs: use module_pci_driver
    [SCSI] usb-storage: update usb devices for write cache quirk in quirk list.
    [SCSI] usb-storage: add support for write cache quirk
    [SCSI] set to WCE if usb cache quirk is present.
    [SCSI] virtio-scsi: hotplug support for virtio-scsi
    [SCSI] virtio-scsi: split scatterlist per target
    ...

    Linus Torvalds
     

20 Jul, 2012

1 commit

  • This has scsi_internal_device_unblock/scsi_target_unblock take
    the new state to set the devices as an argument instead of
    always setting to running. The patch also converts users of these
    functions.

    This allows the FC and iSCSI class to transition devices from blocked
    to transport-offline, so that when fast_io_fail/replacement_timeout
    has fired we do not set the devices back to running. Instead, we
    set them to SDEV_TRANSPORT_OFFLINE.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

30 Jun, 2012

1 commit

  • This patch adds the following structure:

    struct netlink_kernel_cfg {
    unsigned int groups;
    void (*input)(struct sk_buff *skb);
    struct mutex *cb_mutex;
    };

    That can be passed to netlink_kernel_create to set optional configurations
    for netlink kernel sockets.

    I've populated this structure by looking for NULL and zero parameters at the
    existing code. The remaining parameters that always need to be set are still
    left in the original interface.

    That includes optional parameters for the netlink socket creation. This allows
    easy extensibility of this interface in the future.

    This patch also adapts all callers to use this new interface.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     

25 Jun, 2012

1 commit

  • iscsi_remove_host() uses bsg_remove_queue() which implements custom
    queue draining. fc_bsg_remove() open-codes mostly identical logic.

    The draining logic isn't correct in that blk_stop_queue() doesn't
    prevent new requests from being queued - it just stops processing, so
    nothing prevents new requests to be queued after the logic determines
    that the queue is drained.

    blk_cleanup_queue() now implements proper queue draining and these
    custom draining logics aren't necessary. Drop them and use
    bsg_unregister_queue() + blk_cleanup_queue() instead.

    Signed-off-by: Tejun Heo
    Reviewed-by: Mike Christie
    Acked-by: Vivek Goyal
    Cc: James Bottomley
    Cc: James Smart
    Signed-off-by: Jens Axboe

    Tejun Heo
     

27 Mar, 2012

1 commit


01 Mar, 2012

2 commits


19 Feb, 2012

5 commits

  • Added ping support for iscsi adapter, application can use this
    interface for diagnostic network connection.

    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Added support to post kernel host event to application using
    netlink interface.

    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • NETLINK_CREDS's pid now returns 0, so I guess we are supposed to
    be using NETLINK_CB. This changed while the patch to export the
    pid was getting merged upstream, so it was not noticed until both
    the network and iscsi changes were in the same tree.

    Signed-off-by: Mike Christie
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    Mike Christie
     
  • iscsi_if_send_reply() may return -ESRCH if there were no targets to send
    data to. Currently we're ignoring this value and looping in attempt to do it
    over and over, which will usually lead in a hung task like this one:

    [ 4920.817298] INFO: task trinity:9074 blocked for more than 120 seconds.
    [ 4920.818527] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    [ 4920.819982] trinity D 0000000000000000 5504 9074 2756 0x00000004
    [ 4920.825374] ffff880003961a98 0000000000000086 ffff8800001aa000 ffff8800001aa000
    [ 4920.826791] 00000000001d4340 ffff880003961fd8 ffff880003960000 00000000001d4340
    [ 4920.828241] 00000000001d4340 00000000001d4340 ffff880003961fd8 00000000001d4340
    [ 4920.833231]
    [ 4920.833519] Call Trace:
    [ 4920.834010] [] schedule+0x3a/0x50
    [ 4920.834953] [] __mutex_lock_common+0x209/0x5b0
    [ 4920.836226] [] ? iscsi_if_rx+0x2d/0x990
    [ 4920.837281] [] ? sched_clock+0x13/0x20
    [ 4920.838305] [] ? iscsi_if_rx+0x2d/0x990
    [ 4920.839336] [] mutex_lock_nested+0x40/0x50
    [ 4920.840423] [] iscsi_if_rx+0x2d/0x990
    [ 4920.841434] [] ? sub_preempt_count+0x9d/0xd0
    [ 4920.842548] [] ? _raw_read_unlock+0x30/0x60
    [ 4920.843666] [] netlink_unicast+0x1ae/0x1f0
    [ 4920.844751] [] netlink_sendmsg+0x227/0x350
    [ 4920.845850] [] ? sock_update_netprioidx+0xdd/0x1b0
    [ 4920.847060] [] ? sock_update_netprioidx+0x52/0x1b0
    [ 4920.848276] [] sock_aio_write+0x166/0x180
    [ 4920.849348] [] ? get_parent_ip+0x11/0x50
    [ 4920.850428] [] do_sync_write+0xda/0x120
    [ 4920.851465] [] ? sub_preempt_count+0x9d/0xd0
    [ 4920.852579] [] ? get_parent_ip+0x11/0x50
    [ 4920.853608] [] ? security_file_permission+0x27/0xb0
    [ 4920.854821] [] vfs_write+0x16c/0x180
    [ 4920.855781] [] sys_write+0x4f/0xa0
    [ 4920.856798] [] system_call_fastpath+0x16/0x1b
    [ 4920.877487] 1 lock held by trinity/9074:
    [ 4920.878239] #0: (rx_queue_mutex){+.+...}, at: [] iscsi_if_rx+0x2d/0x990
    [ 4920.880005] Kernel panic - not syncing: hung_task: blocked tasks

    Signed-off-by: Sasha Levin
    Acked-by: Mike Christie
    Signed-off-by: James Bottomley

    Sasha Levin
     
  • sysfs patch to view port_state:
    /sys/class/iscsi_host/host*/port_state

    sysfs patch to view port_speed:
    /sys/class/iscsi_host/host*/port_speed

    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     

11 Jan, 2012

1 commit

  • SCSI updates for post 3.2 merge window

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (67 commits)
    [SCSI] lpfc 8.3.28: Update driver version to 8.3.28
    [SCSI] lpfc 8.3.28: Add Loopback support for SLI4 adapters
    [SCSI] lpfc 8.3.28: Critical Miscellaneous fixes
    [SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes
    [SCSI] lpfc 8.3.28: Add support for ABTS failure handling
    [SCSI] lpfc 8.3.28: SLI fixes and added SLI4 support
    [SCSI] lpfc 8.3.28: Miscellaneous fixes in sysfs and mgmt interfaces
    [SCSI] mpt2sas: Removed redundant calling of _scsih_probe_devices() from _scsih_probe
    [SCSI] mac_scsi: Remove obsolete IRQ_FLG_* users
    [SCSI] qla4xxx: Update driver version to 5.02.00-k10
    [SCSI] qla4xxx: check for FW alive before calling chip_reset
    [SCSI] qla4xxx: Fix qla4xxx_dump_buffer to dump buffer correctly
    [SCSI] qla4xxx: Fix the IDC locking mechanism
    [SCSI] qla4xxx: Wait for disable_acb before doing set_acb
    [SCSI] qla4xxx: Don't recover adapter if device state is FAILED
    [SCSI] qla4xxx: fix call trace on rmmod with ql4xdontresethba=1
    [SCSI] qla4xxx: Fix CPU lockups when ql4xdontresethba set
    [SCSI] qla4xxx: Perform context resets in case of context failures.
    [SCSI] iscsi class: export pid of process that created
    [SCSI] mpt2sas: Remove unused duplicate diag_buffer_enable param
    ...

    Linus Torvalds
     

04 Jan, 2012

1 commit


15 Dec, 2011

1 commit

  • There could be multiple userspace entities creating/destroying/
    recoverying sessions and also the kernel's iscsi drivers could
    be doing this too. If the userspace apps do try to manage the kernel
    ones it can get the driver/fw out of sync and cause the user to
    loose the root disk, oopses or ping ponging becasue userspace
    wants to do one thing but the kernel manager thought we
    are trying to do another.

    This patch fixes the problem by just exporting the pid of
    the entity that created the session. Userspace programs like
    iscsid, iscsiadm, iscsistart, qlogic's tools, etc, can then
    figure out which sessions they own and only manage them.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

03 Nov, 2011

1 commit


20 Oct, 2011

4 commits

  • Userspace was sending the priority/id part of the vlan tag
    and sysfs was displaying the id in the vlan file. This
    renames the vlan sysfs file to vlan_id to reflect that it
    was showing the id and to match the vlan_priority file.
    This also adds a ISCSI_NET_PARAM_VLAN_TAG iscsi nl command
    to relfect that we are sending down the vlan/priority
    part of the tag.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • This has the driver use helpers for a common operation and fixes
    a issue where if multiple iscsi params are sent they could be
    sent at offsets that cause unaligned accesses. The nla helpers
    account for the padding needed to align properly for the driver.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • Use the same format for link local variables. Instead
    of linklocal do link_local.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • Replaced the iscsi_get_next_target_id with IDA to make
    target-id allocation efficient for iscsi offload drivers

    This patch should be applied after Jonathen Cameron Patch
    "ida : simplified functions for id allocation"

    Signed-off-by: John Soni Jose
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

27 Aug, 2011

8 commits