24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

14 Jul, 2020

1 commit

  • Gcc reports warning as follows:

    drivers/target/target_core_pr.c:1162:26: warning:
    variable 'tpg' set but not used [-Wunused-but-set-variable]
    1162 | struct se_portal_group *tpg;
    | ^~~

    After commit 63c9ffe473d3 ("scsi: target: Check enforce_pr_isids during
    registration"), 'tpg' is never used. Remove it to avoid build warning.

    Link: https://lore.kernel.org/r/20200709114636.69256-1-weiyongjun1@huawei.com
    Reported-by: Hulk Robot
    Reviewed-by: Chaitanya Kulkarni
    Reviewed-by: Himanshu Madhani
    Reviewed-by: Mike Christie
    Signed-off-by: Wei Yongjun
    Signed-off-by: Martin K. Petersen

    Wei Yongjun
     

08 Jul, 2020

2 commits

  • __core_scsi3_add_registration clears the t10_pr_registration pr_reg_deve
    and does a core_scsi3_lunacl_undepend_item which does an undepend and also
    does a kref_put from the get done in __core_scsi3_alloc_registration. So
    when we get to the bottom of core_scsi3_decode_spec_i_port the pr_reg_deve
    is NULL and we crash when trying to access the local_pr_reg's pr_reg_deve.
    We've also done an extra undepend for local_pr_reg and if we didn't crash
    on the NULL we would have done an extra kref_put too.

    This patch has us do a core_scsi3_lunacl_depend_item for local_pr_reg and
    then let __core_scsi3_add_registration handle the cleanup for the
    pr_reg_deve. We then just skip the undepend for the acl and tpg for the
    local pr_reg.

    The error path then works in a similar way, but we always do the
    core_scsi3_lunacl_undepend_item since we never call
    __core_scsi3_add_registration in that code path.

    Link: https://lore.kernel.org/r/1593654203-12442-4-git-send-email-michael.christie@oracle.com
    Signed-off-by: Mike Christie
    Signed-off-by: Martin K. Petersen

    Mike Christie
     
  • Move the check for enforce_pr_isids to the registration code where we can
    fail at the time an initiator tries to register a path without an isid. In
    its current place in __core_scsi3_locate_pr_reg, it is too late because it
    can be registered and be reported in PR in commands and it is stuck in this
    state because we cannot unregister it.

    [mkp: applied by hand]

    Link: https://lore.kernel.org/r/1593654203-12442-2-git-send-email-michael.christie@oracle.com
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Lee Duncan
    Signed-off-by: Mike Christie
    Signed-off-by: Martin K. Petersen

    Mike Christie
     

08 May, 2020

1 commit

  • pgr_support and alua_support device attributes show the inverted value of
    the transport_flags:

    * TRANSPORT_FLAG_PASSTHROUGH_PGR
    * TRANSPORT_FLAG_PASSTHROUGH_ALUA

    These attributes are per device, while the flags are per backend. Rename
    the transport_flags in backend/transport to transport_flags_default and use
    this value to initialize the new transport_flags field in the se_device
    structure.

    Now data and attribute both are per se_device.

    Link: https://lore.kernel.org/r/20200427150823.15350-4-bstroesser@ts.fujitsu.com
    Reviewed-by: Mike Christie
    Signed-off-by: Bodo Stroesser
    Signed-off-by: Martin K. Petersen

    Bodo Stroesser
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not write to the free software foundation inc
    59 temple place suite 330 boston ma 02111 1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 1334 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

13 Apr, 2019

1 commit

  • Instead of tracking the initiator that established an SPC-2 reservation,
    track the session through which the SPC-2 reservation has been
    established. This patch does not change any functionality.

    Cc: Mike Christie
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Nicholas Bellinger
    Signed-off-by: Bart Van Assche
    Signed-off-by: Martin K. Petersen

    Bart Van Assche
     

05 Feb, 2019

1 commit


29 Nov, 2018

1 commit

  • All fabrics return a const string. In all cases *except* iSCSI the
    get_fabric_name() string matches fabric_ops.name.

    Both fabric_ops.get_fabric_name() and fabric_ops.name are user-facing, with
    the former being used for PR/ALUA state and the latter for ConfigFS
    (config/target/$name), so we unfortunately need to keep both strings around
    for now. Replace the useless .get_fabric_name() accessor function with a
    const string fabric_name member variable.

    Signed-off-by: David Disseldorp
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    David Disseldorp
     

22 Nov, 2018

1 commit

  • The new emulate_pr backstore attribute allows for Persistent Reservation
    and SCSI2 RESERVE/RELEASE support to be completely disabled. This can be
    useful for scenarios such as:

    - Ensuring ATS (Compare & Write) usage on recent VMware ESXi initiators.

    - Allowing clustered (e.g. tcm-user) backends to block such requests,
    avoiding the multi-node reservation state propagation.

    When explicitly disabled, PR and RESERVE/RELEASE requests receive Invalid
    Command Operation Code response sense data.

    Signed-off-by: David Disseldorp
    Reviewed-by: Mike Christie
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    David Disseldorp
     

20 Jun, 2018

1 commit

  • SPC5r17 states that the contents of the ADDITIONAL LENGTH field are not
    altered based on the allocation length, so always calculate and pack the
    full key list length even if the list itself is truncated.

    According to Maged:

    Yes it fixes the "Storage Spaces Persistent Reservation" test in the
    Windows 2016 Server Failover Cluster validation suites when having
    many connections that result in more than 8 registrations. I tested
    your patch on 4.17 with iblock.

    This behaviour can be tested using the libiscsi PrinReadKeys.Truncate test.

    Cc: stable@vger.kernel.org
    Signed-off-by: David Disseldorp
    Reviewed-by: Mike Christie
    Tested-by: Maged Mokhtar
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Martin K. Petersen

    David Disseldorp
     

13 Jan, 2018

1 commit

  • iscsi_parse_pr_out_transport_id launders the const away via a call to
    strstr(), and then modifies the buffer (writing a nul byte) through
    the return value. It's cleaner to be honest and simply declare the
    parameter as "char*", fixing up the call chain, and allowing us to
    drop the cast in the return statement.

    Amusingly, the two current callers found it necessary to cast a
    non-const pointer to a const.

    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Nicholas Bellinger

    Rasmus Villemoes
     

05 Nov, 2017

6 commits

  • Avoid that gcc 7 reports the following warning when building with W=1:

    warning: this statement may fall through [-Wimplicit-fallthrough=]

    Signed-off-by: Bart Van Assche
    Cc: Christoph Hellwig
    Cc: Mike Christie
    Cc: Varun Prakash
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Nicholas Bellinger

    Bart Van Assche
     
  • If an LIO backstore is configured with a sufficiently long Unit Serial
    string, alongside a similarly long dbroot path, then a truncated
    Persistent Reservation APTPL state file path will be used. This
    truncation can unintentionally lead to two LUs with differing serial
    numbers sharing PR state file.

    Fixes: fdddf932269a ("target: use new "dbroot" target attribute")
    Signed-off-by: David Disseldorp
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Nicholas Bellinger

    David Disseldorp
     
  • When is pr_reg->isid_present_at_reg is false,this function should return.

    This fixes a regression originally introduced by:

    commit d2843c173ee53cf4c12e7dfedc069a5bc76f0ac5
    Author: Andy Grover
    Date: Thu May 16 10:40:55 2013 -0700

    target: Alter core_pr_dump_initiator_port for ease of use

    Signed-off-by: tangwenji
    Signed-off-by: Nicholas Bellinger

    tangwenji
     
  • If a PERSISTENT RESERVE OUT command with a REGISTER service action or a
    REGISTER AND IGNORE EXISTING KEY service action or REGISTER AND MOVE
    service action is attempted, but there are insufficient device server
    resources to complete the operation, then the command shall be terminated
    with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST,and
    the additonal sense code set to INSUFFICIENT REGISTRATION RESOURCES.

    Signed-off-by: tangwenji
    Signed-off-by: Nicholas Bellinger

    tangwenji
     
  • Signed-off-by: tangwenji
    Signed-off-by: Nicholas Bellinger

    tangwenji
     
  • When at least two initiators register pr on the same LUN,
    the target returns the exception data due to buffer offset
    error, therefore the initiator executes command 'sg_persist -s'
    may cause the initiator to appear segfault error.

    This fixes a regression originally introduced by:

    commit a85d667e58bddf73be84d1981b41eaac985ed216
    Author: Bart Van Assche
    Date: Tue May 23 16:48:27 2017 -0700

    target: Use {get,put}_unaligned_be*() instead of open coding these functions

    Signed-off-by: tangwenji
    Cc: stable@vger.kernel.org # 4.13+
    Signed-off-by: Nicholas Bellinger

    tangwenji
     

05 Sep, 2017

1 commit


10 Jul, 2017

1 commit


07 Jul, 2017

1 commit


02 May, 2017

1 commit

  • This adds initial PGR support for just TCMU, since tcmu doesn't
    have the necessary IT_NEXUS info to process PGR in userspace,
    so have those commands be processed in kernel.

    HA support is not available yet, we will work on it if this patch
    is acceptable.

    Signed-off-by: Bryant G. Ly
    Signed-off-by: Nicholas Bellinger

    Bryant G. Ly
     

14 Jan, 2017

1 commit

  • Since we need to change the implementation, stop exposing internals.

    Provide kref_read() to read the current reference count; typically
    used for debug messages.

    Kills two anti-patterns:

    atomic_read(&kref->refcount)
    kref->refcount.counter

    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Andrew Morton
    Cc: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

16 Dec, 2016

1 commit


10 Dec, 2016

1 commit

  • Remove superfluous #include directives from the include/target/*.h
    files. Add missing #include directives to other *.h and *.c files.
    Use forward declarations for structures where possible. This
    change reduces the build time for make M=drivers/target on my
    laptop from 27.1s to 18.7s or by about 30%.

    Signed-off-by: Bart Van Assche
    Cc: Christoph Hellwig
    Cc: Bryant G. Ly

    Bart Van Assche
     

10 May, 2016

1 commit

  • This commit updates the target core ALUA and PR
    modules to use the new "dbroot" attribute instead
    of assuming the target database is in "/var/target".

    Signed-off-by: Lee Duncan
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Nicholas Bellinger

    Lee Duncan
     

07 Jan, 2016

1 commit


25 Sep, 2015

1 commit

  • This patch fixes a v4.2+ regression introduced by commit 79dc9c9e86
    where lookup of t10_pr_registration->pr_reg_deve and associated
    ->pr_kref get was missing from __core_scsi3_do_alloc_registration(),
    which is responsible for setting DEF_PR_REG_ACTIVE.

    This would result in REGISTER operations completing successfully,
    but subsequent core_scsi3_pr_seq_non_holder() checking would fail
    with !DEF_PR_REG_ACTIVE -> RESERVATION CONFLICT status.

    Update __core_scsi3_add_registration() to drop ->pr_kref reference
    after registration and any optional ALL_TG_PT=1 processing has
    completed. Update core_scsi3_decode_spec_i_port() to release
    the new parent local_pr_reg->pr_kref as well.

    Also, update __core_scsi3_check_aptpl_registration() to perform
    the same target_nacl_find_deve() lookup + ->pr_kref get, now that
    __core_scsi3_add_registration() expects to drop the reference.

    Finally, since there are cases when se_dev_entry->se_lun_acl can
    still be dereferenced in core_scsi3_lunacl_undepend_item() while
    holding ->pr_kref, go ahead and move explicit rcu_assign_pointer()
    NULL assignments within core_disable_device_list_for_node() until
    after orig->pr_comp finishes.

    Reported-by: Scott L. Lykens
    Tested-by: Scott L. Lykens
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Lee Duncan
    Cc: # v4.2+
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

07 Jul, 2015

1 commit


05 Jul, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "It's been a busy development cycle for target-core in a number of
    different areas.

    The fabric API usage for se_node_acl allocation is now within
    target-core code, dropping the external API callers for all fabric
    drivers tree-wide.

    There is a new conversion to RCU hlists for se_node_acl and
    se_portal_group LUN mappings, that turns fast-past LUN lookup into a
    completely lockless code-path. It also removes the original
    hard-coded limitation of 256 LUNs per fabric endpoint.

    The configfs attributes for backends can now be shared between core
    and driver code, allowing existing drivers to use common code while
    still allowing flexibility for new backend provided attributes.

    The highlights include:

    - Merge sbc_verify_dif_* into common code (sagi)
    - Remove iscsi-target support for obsolete IFMarker/OFMarker
    (Christophe Vu-Brugier)
    - Add bidi support in target/user backend (ilias + vangelis + agover)
    - Move se_node_acl allocation into target-core code (hch)
    - Add crc_t10dif_update common helper (akinobu + mkp)
    - Handle target-core odd SGL mapping for data transfer memory
    (akinobu)
    - Move transport ID handling into target-core (hch)
    - Move task tag into struct se_cmd + support 64-bit tags (bart)
    - Convert se_node_acl->device_list[] to RCU hlist (nab + hch +
    paulmck)
    - Convert se_portal_group->tpg_lun_list[] to RCU hlist (nab + hch +
    paulmck)
    - Simplify target backend driver registration (hch)
    - Consolidate + simplify target backend attribute implementations
    (hch + nab)
    - Subsume se_port + t10_alua_tg_pt_gp_member into se_lun (hch)
    - Drop lun_sep_lock for se_lun->lun_se_dev RCU usage (hch + nab)
    - Drop unnecessary core_tpg_register TFO parameter (nab)
    - Use 64-bit LUNs tree-wide (hannes)
    - Drop left-over TARGET_MAX_LUNS_PER_TRANSPORT limit (hannes)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (76 commits)
    target: Bump core version to v5.0
    target: remove target_core_configfs.h
    target: remove unused TARGET_CORE_CONFIG_ROOT define
    target: consolidate version defines
    target: implement WRITE_SAME with UNMAP bit using ->execute_unmap
    target: simplify UNMAP handling
    target: replace se_cmd->execute_rw with a protocol_data field
    target/user: Fix inconsistent kmap_atomic/kunmap_atomic
    target: Send UA when changing LUN inventory
    target: Send UA upon LUN RESET tmr completion
    target: Send UA on ALUA target port group change
    target: Convert se_lun->lun_deve_lock to normal spinlock
    target: use 'se_dev_entry' when allocating UAs
    target: Remove 'ua_nacl' pointer from se_ua structure
    target_core_alua: Correct UA handling when switching states
    xen-scsiback: Fix compile warning for 64-bit LUN
    target: Remove TARGET_MAX_LUNS_PER_TRANSPORT
    target: use 64-bit LUNs
    target: Drop duplicate + unused se_dev_check_wce
    target: Drop unnecessary core_tpg_register TFO parameter
    ...

    Linus Torvalds
     

25 Jun, 2015

1 commit

  • Pull networking updates from David Miller:

    1) Add TX fast path in mac80211, from Johannes Berg.

    2) Add TSO/GRO support to ibmveth, from Thomas Falcon

    3) Move away from cached routes in ipv6, just like ipv4, from Martin
    KaFai Lau.

    4) Lots of new rhashtable tests, from Thomas Graf.

    5) Run ingress qdisc lockless, from Alexei Starovoitov.

    6) Allow servers to fetch TCP packet headers for SYN packets of new
    connections, for fingerprinting. From Eric Dumazet.

    7) Add mode parameter to pktgen, for testing receive. From Alexei
    Starovoitov.

    8) Cache access optimizations via simplifications of build_skb(), from
    Alexander Duyck.

    9) Move page frag allocator under mm/, also from Alexander.

    10) Add xmit_more support to hv_netvsc, from KY Srinivasan.

    11) Add a counter guard in case we try to perform endless reclassify
    loops in the packet scheduler.

    12) Extern flow dissector to be programmable and use it in new "Flower"
    classifier. From Jiri Pirko.

    13) AF_PACKET fanout rollover fixes, performance improvements, and new
    statistics. From Willem de Bruijn.

    14) Add netdev driver for GENEVE tunnels, from John W Linville.

    15) Add ingress netfilter hooks and filtering, from Pablo Neira Ayuso.

    16) Fix handling of epoll edge triggers in TCP, from Eric Dumazet.

    17) Add an ECN retry fallback for the initial TCP handshake, from Daniel
    Borkmann.

    18) Add tail call support to BPF, from Alexei Starovoitov.

    19) Add several pktgen helper scripts, from Jesper Dangaard Brouer.

    20) Add zerocopy support to AF_UNIX, from Hannes Frederic Sowa.

    21) Favor even port numbers for allocation to connect() requests, and
    odd port numbers for bind(0), in an effort to help avoid
    ip_local_port_range exhaustion. From Eric Dumazet.

    22) Add Cavium ThunderX driver, from Sunil Goutham.

    23) Allow bpf programs to access skb_iif and dev->ifindex SKB metadata,
    from Alexei Starovoitov.

    24) Add support for T6 chips in cxgb4vf driver, from Hariprasad Shenai.

    25) Double TCP Small Queues default to 256K to accomodate situations
    like the XEN driver and wireless aggregation. From Wei Liu.

    26) Add more entropy inputs to flow dissector, from Tom Herbert.

    27) Add CDG congestion control algorithm to TCP, from Kenneth Klette
    Jonassen.

    28) Convert ipset over to RCU locking, from Jozsef Kadlecsik.

    29) Track and act upon link status of ipv4 route nexthops, from Andy
    Gospodarek.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1670 commits)
    bridge: vlan: flush the dynamically learned entries on port vlan delete
    bridge: multicast: add a comment to br_port_state_selection about blocking state
    net: inet_diag: export IPV6_V6ONLY sockopt
    stmmac: troubleshoot unexpected bits in des0 & des1
    net: ipv4 sysctl option to ignore routes when nexthop link is down
    net: track link-status of ipv4 nexthops
    net: switchdev: ignore unsupported bridge flags
    net: Cavium: Fix MAC address setting in shutdown state
    drivers: net: xgene: fix for ACPI support without ACPI
    ip: report the original address of ICMP messages
    net/mlx5e: Prefetch skb data on RX
    net/mlx5e: Pop cq outside mlx5e_get_cqe
    net/mlx5e: Remove mlx5e_cq.sqrq back-pointer
    net/mlx5e: Remove extra spaces
    net/mlx5e: Avoid TX CQE generation if more xmit packets expected
    net/mlx5e: Avoid redundant dev_kfree_skb() upon NOP completion
    net/mlx5e: Remove re-assignment of wq type in mlx5e_enable_rq()
    net/mlx5e: Use skb_shinfo(skb)->gso_segs rather than counting them
    net/mlx5e: Static mapping of netdev priv resources to/from netdev TX queues
    net/mlx4_en: Use HW counters for rx/tx bytes/packets in PF device
    ...

    Linus Torvalds
     

24 Jun, 2015

1 commit

  • Pull SCSI updates from James Bottomley:
    "This is the usual grab bag of driver updates (lpfc, hpsa,
    megaraid_sas, cxgbi, be2iscsi) plus an assortment of minor updates.

    There is also one new driver: the Cisco snic. The advansys driver has
    been rewritten to get rid of the warning about converting it to the
    DMA API, the tape statistics patch got in and finally, there's a
    resuffle of SCSI header files to separate more cleanly initiator from
    target mode (and better share the common definitions)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (156 commits)
    snic: driver for Cisco SCSI HBA
    qla2xxx: Fix indentation
    qla2xxx: Comment out unreachable code
    fusion: remove dead MTRR code
    advansys: fix compilation errors and warnings when CONFIG_PCI is not set
    mptsas: fix depth param in scsi_track_queue_full
    megaraid: fix irq setup process regression
    lpfc: Update version to 10.7.0.0 for upstream patch set.
    lpfc: Fix to drop PLOGIs from fabric node till LOGO processing completes
    lpfc: Fix scsi task management error message.
    lpfc: Fix cq_id masking problem.
    lpfc: Fix scsi prep dma buf error.
    lpfc: Add support for using block multi-queue
    lpfc: Devices are not discovered during takeaway/giveback testing
    lpfc: Fix vport deletion failure.
    lpfc: Check for active portpeerbeacon.
    lpfc: Update driver version for upstream patch set 10.6.0.1.
    lpfc: Change buffer pool empty message to miscellaneous category
    lpfc: Fix incorrect log message reported for empty FCF record.
    lpfc: Fix rport leak.
    ...

    Linus Torvalds
     

23 Jun, 2015

1 commit


17 Jun, 2015

1 commit


16 Jun, 2015

1 commit


02 Jun, 2015

2 commits

  • Only include SCSI initiator header files in target code that needs
    these header files, namely the SCSI pass-through code and the tcm_loop
    driver. Change SCSI_SENSE_BUFFERSIZE into TRANSPORT_SENSE_BUFFER in
    target code because the former is intended for initiator code and the
    latter for target code. With this patch the only initiator include
    directives in target code that remain are as follows:

    $ git grep -nHE 'include .scsi/(scsi.h|scsi_host.h|scsi_device.h|scsi_cmnd.h)' drivers/target drivers/infiniband/ulp/{isert,srpt} drivers/usb/gadget/legacy/tcm_*.[ch] drivers/{vhost,xen} include/{target,trace/events/target.h}
    drivers/target/loopback/tcm_loop.c:29:#include
    drivers/target/loopback/tcm_loop.c:31:#include
    drivers/target/loopback/tcm_loop.c:32:#include
    drivers/target/loopback/tcm_loop.c:33:#include
    drivers/target/target_core_pscsi.c:39:#include
    drivers/target/target_core_pscsi.c:40:#include
    drivers/xen/xen-scsiback.c:52:#include /* SG_ALL */

    Signed-off-by: Bart Van Assche
    Reviewed-by: Christoph Hellwig
    Signed-off-by: James Bottomley

    Bart Van Assche
     
  • Conflicts:
    drivers/net/phy/amd-xgbe-phy.c
    drivers/net/wireless/iwlwifi/Kconfig
    include/net/mac80211.h

    iwlwifi/Kconfig and mac80211.h were both trivial overlapping
    changes.

    The drivers/net/phy/amd-xgbe-phy.c file got removed in 'net-next' and
    the bug fix that happened on the 'net' side is already integrated
    into the rest of the amd-xgbe driver.

    Signed-off-by: David S. Miller

    David S. Miller
     

01 Jun, 2015

3 commits

  • With se_port_t and t10_alua_tg_pt_gp_member being absored into se_lun,
    there is no need for an extra atomic_t based reference count for PR
    ALL_TG_PT=1 and ALUA access state transition.

    Go ahead and use the existing percpu se_lun->lun_ref instead, and
    convert the two special cases to percpu_ref_tryget_live() to avoid
    se_lun if transport_clear_lun_ref() has already been invoked to
    shutdown the se_lun.

    Cc: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch eliminates all se_port + t10_alua_tg_pt_gp_member usage,
    and converts current users to direct se_lun pointer dereference.

    This includes the removal of core_export_port(), core_release_port()
    core_dev_export() and core_dev_unexport(). Along with conversion
    of special case se_lun pointer dereference within PR ALL_TG_PT=1
    and ALUA access state transition UNIT_ATTENTION handling.

    Also, update core_enable_device_list_for_node() to reference the
    new per se_lun->lun_deve_list when creating a new entry, or
    replacing an existing one via RCU.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     
  • This patch converts se_tpg->acl_node_lock to struct mutex, so that
    ->acl_node_acl walkers in core_clear_lun_from_tpg() can block when
    calling core_disable_device_list_for_node().

    It also updates core_dev_add_lun() to hold ->acl_node_mutex when
    calling core_tpg_add_node_to_devs() to build ->lun_entry_hlist
    for dynamically generated se_node_acl.

    Reviewed-by: Hannes Reinecke
    Cc: Christoph Hellwig
    Cc: Sagi Grimberg
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger