Changes in 4.9.206 ASoC: compress: fix unsigned integer overflow check ASoC: kirkwood: fix external clock probe defer clk: samsung: exynos5420: Preserve PLL configuration during suspend/resume reset: fix reset_control_ops kerneldoc comment clk: at91: avoid sleeping early net: fec: add missed clk_disable_unprepare in remove can: peak_usb: report bus recovery as well can: c_can: D_CAN: c_can_chip_config(): perform a sofware reset on open watchdog: meson: Fix the wrong value of left time scripts/gdb: fix debugging modules compiled with hot/cold partitioning mac80211: fix station inactive_time shortly after boot block: drbd: remove a stray unlock in __drbd_send_protocol() pwm: bcm-iproc: Prevent unloading the driver module while in use scsi: lpfc: Fix dif and first burst use in write commands ARM: debug-imx: only define DEBUG_IMX_UART_PORT if needed ARM: dts: imx53-voipac-dmm-668: Fix memory node duplication parisc: Fix serio address output parisc: Fix HP SDC hpa address output arm64: mm: Prevent mismatched 52-bit VA support arm64: smp: Handle errors reported by the firmware PM / AVS: SmartReflex: NULL check before some freeing functions is not needed ARM: ks8695: fix section mismatch warning ACPI / LPSS: Ignore acpi_device_fix_up_power() return value crypto: user - support incremental algorithm dumps mwifiex: fix potential NULL dereference and use after free mwifiex: debugfs: correct histogram spacing, formatting rtl818x: fix potential use after free xfs: require both realtime inodes to mount ubi: Put MTD device after it is not used ubi: Do not drop UBI device reference before using microblaze: adjust the help to the real behavior microblaze: move "... is ready" messages to arch/microblaze/Makefile gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB VSOCK: bind to random port for VMADDR_PORT_ANY mtd: rawnand: sunxi: Write pageprog related opcodes to WCMD_SET btrfs: only track ref_heads in delayed_ref_updates HID: intel-ish-hid: fixes incorrect error handling xen/pciback: Check dev_data before using it pinctrl: xway: fix gpio-hog related boot issues net/mlx5: Continue driver initialization despite debugfs failure KVM: s390: unregister debug feature on failing arch init pinctrl: sh-pfc: sh7264: Fix PFCR3 and PFCR0 register configuration pinctrl: sh-pfc: sh7734: Fix shifted values in IPSR10 HID: doc: fix wrong data structure reference for UHID_OUTPUT dm flakey: Properly corrupt multi-page bios. gfs2: take jdata unstuff into account in do_grow xfs: Align compat attrlist_by_handle with native implementation. xfs: Fix bulkstat compat ioctls on x32 userspace. IB/qib: Fix an error code in qib_sdma_verbs_send() powerpc/book3s/32: fix number of bats in p/v_block_mapped() powerpc/xmon: fix dump_segments() drivers/regulator: fix a missing check of return value serial: max310x: Fix tx_empty() callback openrisc: Fix broken paths to arch/or32 RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer scsi: qla2xxx: deadlock by configfs_depend_item scsi: csiostor: fix incorrect dma device in case of vport ath6kl: Only use match sets when firmware supports it ath6kl: Fix off by one error in scan completion powerpc/prom: fix early DEBUG messages powerpc/mm: Make NULL pointer deferences explicit on bad page faults. powerpc/44x/bamboo: Fix PCI range vfio/spapr_tce: Get rid of possible infinite loop powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status drbd: ignore "all zero" peer volume sizes in handshake drbd: reject attach of unsuitable uuids even if connected drbd: do not block when adjusting "disk-options" while IO is frozen drbd: fix print_st_err()'s prototype to match the definition regulator: tps65910: fix a missing check of return value powerpc/83xx: handle machine check caused by watchdog timer powerpc/pseries: Fix node leak in update_lmb_associativity_index() crypto: mxc-scc - fix build warnings on ARM64 pwm: clps711x: Fix period calculation net/net_namespace: Check the return value of register_pernet_subsys() um: Make GCOV depend on !KCOV net: stmicro: fix a missing check of clk_prepare net: dsa: bcm_sf2: Propagate error value from mdio_write atl1e: checking the status of atl1e_write_phy_reg tipc: fix a missing check of genlmsg_put net/wan/fsl_ucc_hdlc: Avoid double free in ucc_hdlc_probe() ocfs2: clear journal dirty flag after shutdown journal vmscan: return NODE_RECLAIM_NOSCAN in node_reclaim() when CONFIG_NUMA is n lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk lib/genalloc.c: use vzalloc_node() to allocate the bitmap drivers/base/platform.c: kmemleak ignore a known leak lib/genalloc.c: include vmalloc.h mtd: Check add_mtd_device() ret code tipc: fix memory leak in tipc_nl_compat_publ_dump net/core/neighbour: tell kmemleak about hash tables net/core/neighbour: fix kmemleak minimal reference count for hash tables sfc: suppress duplicate nvmem partition types in efx_ef10_mtd_probe ip_tunnel: Make none-tunnel-dst tunnel port work with lwtunnel decnet: fix DN_IFREQ_SIZE tipc: fix skb may be leaky in tipc_link_input sfc: initialise found bitmap in efx_ef10_mtd_probe net: fix possible overflow in __sk_mem_raise_allocated() sctp: don't compare hb_timer expire date before starting it net: dev: Use unsigned integer as an argument to left-shift iommu/amd: Fix NULL dereference bug in match_hid_uid scsi: libsas: Support SATA PHY connection rate unmatch fixing during discovery ACPI / APEI: Switch estatus pool to use vmalloc memory scsi: libsas: Check SMP PHY control function result powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() mtd: Remove a debug trace in mtdpart.c mm, gup: add missing refcount overflow checks on x86 and s390 clk: at91: fix update bit maps on CFG_MOR write staging: rtl8192e: fix potential use after free USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P mei: bus: prefix device names on bus with the bus name media: v4l2-ctrl: fix flags for DO_WHITE_BALANCE net: macb: fix error format in dev_err() pwm: Clear chip_data in pwm_put() media: atmel: atmel-isc: fix asd memory allocation macvlan: schedule bc_work even if error openvswitch: fix flow command message size slip: Fix use-after-free Read in slip_open openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() openvswitch: remove another BUG_ON() tipc: fix link name length check sctp: cache netns in sctp_ep_common net: sched: fix `tc -s class show` no bstats on class with nolock subqueues HID: core: check whether Usage Page item is after Usage ID items hwrng: stm32 - fix unbalanced pm_runtime_enable platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer net: fec: fix clock count mis-match Linux 4.9.206 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
81 lines
2.4 KiB
C
81 lines
2.4 KiB
C
#include <target/target_core_base.h>
|
|
#include <linux/btree.h>
|
|
|
|
#define TCM_QLA2XXX_VERSION "v0.1"
|
|
/* length of ASCII WWPNs including pad */
|
|
#define TCM_QLA2XXX_NAMELEN 32
|
|
/*
|
|
* Number of pre-allocated per-session tags, based upon the worst-case
|
|
* per port number of iocbs
|
|
*/
|
|
#define TCM_QLA2XXX_DEFAULT_TAGS 2088
|
|
|
|
#include "qla_target.h"
|
|
|
|
struct tcm_qla2xxx_nacl {
|
|
struct se_node_acl se_node_acl;
|
|
|
|
/* From libfc struct fc_rport->port_id */
|
|
u32 nport_id;
|
|
/* Binary World Wide unique Node Name for remote FC Initiator Nport */
|
|
u64 nport_wwnn;
|
|
/* ASCII formatted WWPN for FC Initiator Nport */
|
|
char nport_name[TCM_QLA2XXX_NAMELEN];
|
|
/* Pointer to qla_tgt_sess */
|
|
struct qla_tgt_sess *qla_tgt_sess;
|
|
/* Pointer to TCM FC nexus */
|
|
struct se_session *nport_nexus;
|
|
};
|
|
|
|
struct tcm_qla2xxx_tpg_attrib {
|
|
int generate_node_acls;
|
|
int cache_dynamic_acls;
|
|
int demo_mode_write_protect;
|
|
int prod_mode_write_protect;
|
|
int demo_mode_login_only;
|
|
int fabric_prot_type;
|
|
int jam_host;
|
|
};
|
|
|
|
struct tcm_qla2xxx_tpg {
|
|
/* FC lport target portal group tag for TCM */
|
|
u16 lport_tpgt;
|
|
/* Atomic bit to determine TPG active status */
|
|
atomic_t lport_tpg_enabled;
|
|
/* Pointer back to tcm_qla2xxx_lport */
|
|
struct tcm_qla2xxx_lport *lport;
|
|
/* Used by tcm_qla2xxx_tpg_attrib_cit */
|
|
struct tcm_qla2xxx_tpg_attrib tpg_attrib;
|
|
/* Returned by tcm_qla2xxx_make_tpg() */
|
|
struct se_portal_group se_tpg;
|
|
};
|
|
|
|
struct tcm_qla2xxx_fc_loopid {
|
|
struct se_node_acl *se_nacl;
|
|
};
|
|
|
|
struct tcm_qla2xxx_lport {
|
|
/* Binary World Wide unique Port Name for FC Target Lport */
|
|
u64 lport_wwpn;
|
|
/* Binary World Wide unique Port Name for FC NPIV Target Lport */
|
|
u64 lport_npiv_wwpn;
|
|
/* Binary World Wide unique Node Name for FC NPIV Target Lport */
|
|
u64 lport_npiv_wwnn;
|
|
/* ASCII formatted WWPN for FC Target Lport */
|
|
char lport_name[TCM_QLA2XXX_NAMELEN];
|
|
/* ASCII formatted naa WWPN for VPD page 83 etc */
|
|
char lport_naa_name[TCM_QLA2XXX_NAMELEN];
|
|
/* map for fc_port pointers in 24-bit FC Port ID space */
|
|
struct btree_head32 lport_fcport_map;
|
|
/* vmalloc-ed memory for fc_port pointers for 16-bit FC loop ID */
|
|
struct tcm_qla2xxx_fc_loopid *lport_loopid_map;
|
|
/* Pointer to struct scsi_qla_host from qla2xxx LLD */
|
|
struct scsi_qla_host *qla_vha;
|
|
/* Pointer to struct qla_tgt pointer */
|
|
struct qla_tgt lport_qla_tgt;
|
|
/* Pointer to TPG=1 for non NPIV mode */
|
|
struct tcm_qla2xxx_tpg *tpg_1;
|
|
/* Returned by tcm_qla2xxx_make_lport() */
|
|
struct se_wwn lport_wwn;
|
|
};
|