11 Aug, 2015

1 commit

  • commit 7932c0bd7740f4cd2aa168d3ce0199e7af7d72d5 upstream.

    While reviewing vhost log code, I found out that log_file is never
    set. Note: I haven't tested the change (QEMU doesn't use LOG_FD yet).

    Signed-off-by: Marc-André Lureau
    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Greg Kroah-Hartman

    Marc-André Lureau
     

31 May, 2015

1 commit

  • There is just one configfs subsystem in the target code, so we might as
    well add two helpers to reference / unreference it from the core code
    instead of passing pointers to it around.

    This fixes a regression introduced for v4.1-rc1 with commit 9ac8928e6,
    where configfs_depend_item() callers using se_tpg_tfo->tf_subsys would
    fail, because the assignment from the original target_core_subsystem[]
    is no longer happening at target_register_template() time.

    (Fix target_core_exit_configfs pointer dereference - Sagi)

    Signed-off-by: Christoph Hellwig
    Reported-by: Himanshu Madhani
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     

25 Apr, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity in target land the last months.

    The highlights include:

    - Convert fabric drivers tree-wide to target_register_template() (hch
    + bart)

    - iser-target hardening fixes + v1.0 improvements (sagi)

    - Convert iscsi_thread_set usage to kthread.h + kill
    iscsi_target_tq.c (sagi + nab)

    - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp +
    sagi + nab)

    - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu +
    sagi + mkp)

    - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias)

    - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab)

    Thanks to everyone who contributed this round with new features,
    bug-reports, fixes, cleanups and improvements.

    Looking forward, it's currently shaping up to be a busy v4.2 as well"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits)
    target: Put TCMU under a new config option
    target: Version 2 of TCMU ABI
    target: fix tcm_mod_builder.py
    target/file: Fix UNMAP with DIF protection support
    target/file: Fix SG table for prot_buf initialization
    target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
    target: Make core_tmr_abort_task() skip TMFs
    target/sbc: Update sbc_dif_generate pr_debug output
    target/sbc: Make internal DIF emulation honor ->prot_checks
    target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
    target: Ensure sess_prot_type is saved across session restart
    target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
    target: Remove the unused flag SCF_ACK_KREF
    target: Fix two sparse warnings
    target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
    target: simplify the target template registration API
    target: simplify target_xcopy_init_pt_lun
    target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
    target/rd: reduce code duplication in rd_execute_rw()
    tcm_loop: fixup tpgt string to integer conversion
    ...

    Linus Torvalds
     

15 Apr, 2015

1 commit

  • Instead of calling target_fabric_configfs_init() +
    target_fabric_configfs_register() / target_fabric_configfs_deregister()
    target_fabric_configfs_free() from every target driver, rewrite the API
    so that we have simple register/unregister functions that operate on
    a const operations vector.

    This patch also fixes a memory leak in several target drivers. Several
    target drivers namely called target_fabric_configfs_deregister()
    without calling target_fabric_configfs_free().

    A large part of this patch is based on earlier changes from
    Bart Van Assche .

    (v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code
    can declare attributes as either core only or for drivers)

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     

12 Apr, 2015

1 commit


08 Apr, 2015

1 commit

  • This patch updates vhost-scsi to add a new fabric_prot_type TPG
    attribute, used for controlling LLD level protection into LIO when
    the backend device does not support T10-PI.

    This is required for vhost-scsi to enable WRITE_STRIP + READ_INSERT
    operations using software emulation + crct10dif instruction offload.

    It's disabled by default and controls which se_sesion->sess_prot_type
    are set at vhost_scsi_make_nexus() session registration time.

    Cc: Michael S. Tsirkin
    Cc: Martin Petersen
    Cc: Sagi Grimberg
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

24 Mar, 2015

1 commit


22 Mar, 2015

1 commit

  • Pull SCSI target fixes from Nicholas Bellinger:
    "Here are current target-pending fixes for v4.0-rc5 code that have made
    their way into the queue over the last weeks.

    The fixes this round include:

    - Fix long-standing iser-target logout bug related to early
    conn_logout_comp completion, resulting in iscsi_conn use-after-tree
    OOpsen. (Sagi + nab)

    - Fix long-standing tcm_fc bug in ft_invl_hw_context() failure
    handing for DDP hw offload. (DanC)

    - Fix incorrect use of unprotected __transport_register_session() in
    tcm_qla2xxx + other single local se_node_acl fabrics. (Bart)

    - Fix reference leak in target_submit_cmd() -> target_get_sess_cmd()
    for ack_kref=1 failure path. (Bart)

    - Fix pSCSI backend ->get_device_type() statistics OOPs with
    un-configured device. (Olaf + nab)

    - Fix virtual LUN=0 target_configure_device failure OOPs at modprobe
    time. (Claudio + nab)

    - Fix FUA write false positive failure regression in v4.0-rc1 code.
    (Christophe Vu-Brugier + HCH)"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    target: do not reject FUA CDBs when write cache is enabled but emulate_write_cache is 0
    target: Fix virtual LUN=0 target_configure_device failure OOPs
    target/pscsi: Fix NULL pointer dereference in get_device_type
    tcm_fc: missing curly braces in ft_invl_hw_context()
    target: Fix reference leak in target_get_sess_cmd() error path
    loop/usb/vhost-scsi/xen-scsiback: Fix use of __transport_register_session
    tcm_qla2xxx: Fix incorrect use of __transport_register_session
    iscsi-target: Avoid early conn_logout_comp for iser connections
    Revert "iscsi-target: Avoid IN_LOGOUT failure case for iser-target"
    target: Disallow changing of WRITE cache/FUA attrs after export

    Linus Torvalds
     

20 Mar, 2015

1 commit

  • This patch changes loopback, usb-gadget, vhost-scsi and xen-scsiback
    fabric code to invoke transport_register_session() instead of the
    unprotected flavour, to ensure se_tpg->session_lock is taken when
    adding new session list nodes to se_tpg->tpg_sess_list.

    Note that since these four fabric drivers already hold their own
    internal TPG mutexes when accessing se_tpg->tpg_sess_list, and
    consist of a single se_session created through configfs attribute
    access, no list corruption can currently occur.

    So for correctness sake, go ahead and use the se_tpg->session_lock
    protected version for these four fabric drivers.

    Signed-off-by: Bart Van Assche
    Signed-off-by: Nicholas Bellinger

    Bart Van Assche
     

04 Mar, 2015

2 commits

  • Conflicts:
    drivers/net/ethernet/rocker/rocker.c

    The rocker commit was two overlapping changes, one to rename
    the ->vport member to ->pport, and another making the bitmask
    expression use '1ULL' instead of plain '1'.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull networking fixes from David Miller:

    1) If an IPVS tunnel is created with a mixed-family destination
    address, it cannot be removed. Fix from Alexey Andriyanov.

    2) Fix module refcount underflow in netfilter's nft_compat, from Pablo
    Neira Ayuso.

    3) Generic statistics infrastructure can reference variables sitting on
    a released function stack, therefore use dynamic allocation always.
    Fix from Ignacy Gawędzki.

    4) skb_copy_bits() return value test is inverted in ip_check_defrag().

    5) Fix network namespace exit in openvswitch, we have to release all of
    the per-net vports. From Pravin B Shelar.

    6) Fix signedness bug in CAIF's cfpkt_iterate(), from Dan Carpenter.

    7) Fix rhashtable grow/shrink behavior, only expand during inserts and
    shrink during deletes. From Daniel Borkmann.

    8) Netdevice names with semicolons should never be allowed, because
    they serve as a separator. From Matthew Thode.

    9) Use {,__}set_current_state() where appropriate, from Fabian
    Frederick.

    10) Revert byte queue limits support in r8169 driver, it's causing
    regressions we can't figure out.

    11) tcp_should_expand_sndbuf() erroneously uses tp->packets_out to
    measure packets in flight, properly use tcp_packets_in_flight()
    instead. From Neal Cardwell.

    12) Fix accidental removal of support for bluetooth in CSR based Intel
    wireless cards. From Marcel Holtmann.

    13) We accidently added a behavioral change between native and compat
    tasks, wrt testing the MSG_CMSG_COMPAT bit. Just ignore it if the
    user happened to set it in a native binary as that was always the
    behavior we had. From Catalin Marinas.

    14) Check genlmsg_unicast() return valud in hwsim netlink tx frame
    handling, from Bob Copeland.

    15) Fix stale ->radar_required setting in mac80211 that can prevent
    starting new scans, from Eliad Peller.

    16) Fix memory leak in nl80211 monitor, from Johannes Berg.

    17) Fix race in TX index handling in xen-netback, from David Vrabel.

    18) Don't enable interrupts in amx-xgbe driver until all software et al.
    state is ready for the interrupt handler to run. From Thomas
    Lendacky.

    19) Add missing netlink_ns_capable() checks to rtnl_newlink(), from Eric
    W Biederman.

    20) The amount of header space needed in macvtap was not calculated
    properly, fix it otherwise we splat past the beginning of the
    packet. From Eric Dumazet.

    21) Fix bcmgenet TCP TX perf regression, from Jaedon Shin.

    22) Don't raw initialize or mod timers, use setup_timer() and
    mod_timer() instead. From Vaishali Thakkar.

    23) Fix software maintained statistics in bcmgenet and systemport
    drivers, from Florian Fainelli.

    24) DMA descriptor updates in sh_eth need proper memory barriers, from
    Ben Hutchings.

    25) Don't do UDP Fragmentation Offload on RAW sockets, from Michal
    Kubecek.

    26) Openvswitch's non-masked set actions aren't constructed properly
    into netlink messages, fix from Joe Stringer.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits)
    openvswitch: Fix serialization of non-masked set actions.
    gianfar: Reduce logging noise seen due to phy polling if link is down
    ibmveth: Add function to enable live MAC address changes
    net: bridge: add compile-time assert for cb struct size
    udp: only allow UFO for packets from SOCK_DGRAM sockets
    sh_eth: Really fix padding of short frames on TX
    Revert "sh_eth: Enable Rx descriptor word 0 shift for r8a7790"
    sh_eth: Fix RX recovery on R-Car in case of RX ring underrun
    sh_eth: Ensure proper ordering of descriptor active bit write/read
    net/mlx4_en: Disbale GRO for incoming loopback/selftest packets
    net/mlx4_core: Fix wrong mask and error flow for the update-qp command
    net: systemport: fix software maintained statistics
    net: bcmgenet: fix software maintained statistics
    rxrpc: don't multiply with HZ twice
    rxrpc: terminate retrans loop when sending of skb fails
    net/hsr: Fix NULL pointer dereference and refcnt bugs when deleting a HSR interface.
    net: pasemi: Use setup_timer and mod_timer
    net: stmmac: Use setup_timer and mod_timer
    net: 8390: axnet_cs: Use setup_timer and mod_timer
    net: 8390: pcnet_cs: Use setup_timer and mod_timer
    ...

    Linus Torvalds
     

03 Mar, 2015

1 commit

  • After TIPC doesn't depend on iocb argument in its internal
    implementations of sendmsg() and recvmsg() hooks defined in proto
    structure, no any user is using iocb argument in them at all now.
    Then we can drop the redundant iocb argument completely from kinds of
    implementations of both sendmsg() and recvmsg() in the entire
    networking stack.

    Cc: Christoph Hellwig
    Suggested-by: Al Viro
    Signed-off-by: Ying Xue
    Signed-off-by: David S. Miller

    Ying Xue
     

28 Feb, 2015

2 commits

  • The 2 that we use for copy_to_iter comes from sizeof(u16),
    it used to be that way before the iov iter update.
    Fix it up, making it obvious the size of stack access
    is right.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     
  • Recent iterator-related changes in vhost made it
    harder to follow the logic fixing up the header.
    In fact, the fixup always happens at the same
    offset: sizeof(virtio_net_hdr): sometimes the
    fixup iterator is updated by copy_to_iter,
    sometimes-by iov_iter_advance.

    Rearrange code to make this obvious.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     

22 Feb, 2015

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "The highlights this round include:

    - Update vhost-scsi to support F_ANY_LAYOUT using mm/iov_iter.c
    logic, and signal VERSION_1 support (MST + Viro + nab)

    - Fix iscsi/iser-target to remove problematic active_ts_set usage
    (Gavin Guo)

    - Update iscsi/iser-target to support multi-sequence sendtargets
    (Sagi)

    - Fix original PR_APTPL_BUF_LEN 8k size limitation (Martin Svec)

    - Add missing WRITE_SAME end-of-device sanity check (Bart)

    - Check for LBA + sectors wrap-around in sbc_parse_cdb() (nab)

    - Other various minor SPC/SBC compliance fixes based upon Ronnie
    Sahlberg test suite (nab)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (32 commits)
    target: Set LBPWS10 bit in Logical Block Provisioning EVPD
    target: Fail UNMAP when emulate_tpu=0
    target: Fail WRITE_SAME w/ UNMAP=1 when emulate_tpws=0
    target: Add sanity checks for DPO/FUA bit usage
    target: Perform PROTECT sanity checks for WRITE_SAME
    target: Fail I/O with PROTECT bit when protection is unsupported
    target: Check for LBA + sectors wrap-around in sbc_parse_cdb
    target: Add missing WRITE_SAME end-of-device sanity check
    iscsi-target: Avoid IN_LOGOUT failure case for iser-target
    target: Fix PR_APTPL_BUF_LEN buffer size limitation
    iscsi-target: Drop problematic active_ts_list usage
    iscsi/iser-target: Support multi-sequence sendtargets text response
    iser-target: Remove duplicate function names
    vhost/scsi: potential memory corruption
    vhost/scsi: Global tcm_vhost -> vhost_scsi rename
    vhost/scsi: Drop left-over scsi_tcq.h include
    vhost/scsi: Set VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
    vhost/scsi: Add ANY_LAYOUT support in vhost_scsi_handle_vq
    vhost/scsi: Add ANY_LAYOUT iov -> sgl mapping prerequisites
    vhost/scsi: Change vhost_scsi_map_to_sgl to accept iov ptr + len
    ...

    Linus Torvalds
     

16 Feb, 2015

1 commit

  • In commit ba7438aed924 ("vhost: don't bother copying iovecs in
    handle_rx(), kill memcpy_toiovecend()"), we advance iov iter fixup
    sizeof(struct virtio_net_hdr) bytes and fill the number of buffers
    after doing the socket recvmsg(). This work well but was broken after
    commit 6e03f896b52c ("Merge
    git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") which tries
    to advance sizeof(struct virtio_net_hdr_mrg_rxbuf). It will fill the
    number of buffers at the wrong place. This patch fixes this.

    Fixes 6e03f896b52c
    ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net")
    Cc: David S. Miller
    Cc: Al Viro
    Cc: Michael S. Tsirkin
    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     

06 Feb, 2015

2 commits

  • This code in vhost_scsi_make_tpg() is confusing because we limit "tpgt"
    to UINT_MAX but the data type of "tpg->tport_tpgt" and that is a u16.

    I looked at the context and it turns out that in
    vhost_scsi_set_endpoint(), "tpg->tport_tpgt" is used as an offset into
    the vs_tpg[] array which has VHOST_SCSI_MAX_TARGET (256) elements so
    anything higher than 255 then it is invalid. I have made that the limit
    now.

    In vhost_scsi_send_evt() we mask away values higher than 255, but now
    that the limit has changed, we don't need the mask.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Nicholas Bellinger

    Dan Carpenter
     
  • Conflicts:
    drivers/net/vxlan.c
    drivers/vhost/net.c
    include/linux/if_vlan.h
    net/core/dev.c

    The net/core/dev.c conflict was the overlap of one commit marking an
    existing function static whilst another was adding a new function.

    In the include/linux/if_vlan.h case, the type used for a local
    variable was changed in 'net', whereas the function got rewritten
    to fix a stacked vlan bug in 'net-next'.

    In drivers/vhost/net.c, Al Viro's iov_iter conversions in 'net-next'
    overlapped with an endainness fix for VHOST 1.0 in 'net'.

    In drivers/net/vxlan.c, vxlan_find_vni() added a 'flags' parameter
    in 'net-next' whereas in 'net' there was a bug fix to pass in the
    correct network namespace pointer in calls to this function.

    Signed-off-by: David S. Miller

    David S. Miller
     

05 Feb, 2015

9 commits

  • In virtio 1.0 mode, when mergeable buffers are enabled on a big-endian
    host, num_buffers wasn't byte-swapped correctly, so large incoming
    packets got corrupted.

    To fix, fill it in within hdr - this also makes sure it gets
    the correct type.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     
  • There is a large amount of code that still references the original
    'tcm_vhost' naming conventions, instead of modern 'vhost_scsi'.

    Go ahead and do a global rename to make the usage consistent.

    Cc: Michael S. Tsirkin
    Acked-by: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • With the recent removal of MSG_*_TAG defines in commit 68d81f40,
    vhost-scsi is now using TCM_*_TAG and doesn't depend upon host
    side scsi_tcq.h definitions anymore.

    Cc: Michael S. Tsirkin
    Acked-by: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • Signal support of VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 feature bits
    required for virtio-scsi 1.0 spec layout requirements.

    Cc: Michael S. Tsirkin
    Acked-by: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch adds ANY_LAYOUT compatible support within the existing
    vhost_scsi_handle_vq() ->handle_kick() callback.

    It calculates data_direction + exp_data_len for the new tcm_vhost_cmd
    descriptor by walking both outgoing + incoming iovecs using iov_iter,
    assuming the layout of outgoing request header + T10_PI + Data payload
    comes first.

    It also uses copy_from_iter() to copy leading virtio-scsi request header
    that may or may not include SCSI CDB, that returns a re-calculated iovec
    to start of T10_PI or Data SGL memory.

    Also, go ahead and drop the legacy pre virtio v1.0 !ANY_LAYOUT logic.

    Cc: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Cc: Al Viro
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch adds ANY_LAYOUT prerequisites logic for accepting a set of
    protection + data payloads via iov_iter. Also includes helpers for
    calcuating SGLs + invoking vhost_scsi_map_to_sgl() with a known number
    of iovecs.

    Required by ANY_LAYOUT processing when struct iovec may be offset into
    the first outgoing virtio-scsi request header.

    Cc: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Cc: Al Viro
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch changes vhost_scsi_map_to_sgl() parameters to accept virtio
    iovec ptr + len when determing pages_nr.

    This is currently done with iov_num_pages() -> PAGE_ALIGN, so allow
    the same parameters as well.

    Cc: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch fixes vhost_scsi_handle_vq() failure cases that result in BUG_ON()
    getting triggered when vhost_scsi_free_cmd() is called, and ->tvc_se_cmd has
    not been initialized by target_submit_cmd_map_sgls().

    It changes tcm_vhost_release_cmd() to use tcm_vhost_cmd->tvc_nexus for obtaining
    se_session pointer reference. Also, avoid calling put_page() on NULL sg->page
    entries in vhost_scsi_map_to_sgl() failure path.

    Cc: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • Required for ANY_LAYOUT support when the incoming virtio-scsi response
    header + fixed size sense buffer payload may span more than a single
    iovec entry.

    This changes existing code to save cmd->tvc_resp_iov instead of the
    first single iovec base pointer from &vq->iov[out].

    Cc: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Cc: Al Viro
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

04 Feb, 2015

4 commits


15 Jan, 2015

1 commit


14 Jan, 2015

1 commit


13 Jan, 2015

1 commit

  • Pull scsi target fixes from Nicholas Bellinger:
    "Mostly minor fixes this time, including:

    - Add missing virtio-scsi -> TCM attribute conversion in vhost-scsi.
    - Fix persistent reservations write exclusive handling to allow
    readers for all registered I_T nexuses.
    - Drop arbitrary maximum I/O size limit in order to process I/Os
    larger than 4 MB, required for initiators that don't honor block
    limits EVPD.
    - Drop the now left-over fabric_max_sectors attribute"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    iscsi-target: Fix typos in enum cmd_flags_table
    MAINTAINERS: Add entry for iSER target driver
    target: Allow Write Exclusive non-reservation holders to READ
    target: Drop left-over fabric_max_sectors attribute
    target: Drop arbitrary maximum I/O size limit
    Documentation/target: Update fabric_ops to latest code
    vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion

    Linus Torvalds
     

07 Jan, 2015

2 commits

  • commit 8b38694a2dc8b18374310df50174f1e4376d6824
    vhost/net: virtio 1.0 byte swap
    had this chunk:
    - heads[headcount - 1].len += datalen;
    + heads[headcount - 1].len = cpu_to_vhost32(vq, len - datalen);

    This adds datalen with the wrong sign, causing guest panics.

    Fixes: 8b38694a2dc8b18374310df50174f1e4376d6824
    Reported-by: Alex Williamson
    Suggested-by: Greg Kurz
    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • While looking at hch's recent conversion to drop the MSG_*_TAG
    definitions, I noticed a long standing bug in vhost-scsi where
    the VIRTIO_SCSI_S_* attribute definitions where incorrectly
    being passed directly into target_submit_cmd_map_sgls().

    This patch adds the missing virtio-scsi to TCM/SAM task attribute
    conversion.

    Cc: Christoph Hellwig
    Cc: Michael S. Tsirkin
    Cc: Paolo Bonzini
    Cc: stable@vger.kernel.org # 3.5
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

29 Dec, 2014

1 commit

  • virtio 1.0 only requires used address to be 4 byte aligned,
    vhost required 8 bytes (size of vring_used_elem).
    Fix up vhost to match that.

    Additionally, while vhost correctly requires 8 byte
    alignment for log, it's unconnected to used ring:
    it's a consequence that log has u64 entries.
    Tweak code to make that clearer.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     

19 Dec, 2014

1 commit

  • Pull virtio fixes from Michael S Tsirkin:
    "virtio 1.0 related fixes

    Most importantly, this fixes using virtio_pci as a module.

    Further, the big virtio 1.0 conversion missed a couple of places.
    This fixes them up.

    This isn't 100% sparse-clean yet because on many architectures
    get_user triggers sparse warnings when used with __bitwise tag (when
    same tag is on both pointer and value read).

    I posted a patchset to fix it up by adding __force on all arches that
    don't already have it (many do), when that's merged these warnings
    will go away"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio_pci: restore module attributes
    mic/host: fix up virtio 1.0 APIs
    vringh: update for virtio 1.0 APIs
    vringh: 64 bit features
    tools/virtio: add virtio 1.0 in vringh_test
    tools/virtio: add virtio 1.0 in virtio_test
    tools/virtio: enable -Werror
    tools/virtio: 64 bit features
    tools/virtio: fix vringh test
    tools/virtio: more stubs
    virtio: core support for config generation
    virtio_pci: add VIRTIO_PCI_NO_LEGACY
    virtio_pci: move probe to common file
    virtio_pci_common.h: drop VIRTIO_PCI_NO_LEGACY
    virtio_config: fix virtio_cread_bytes
    virtio: set VIRTIO_CONFIG_S_FEATURES_OK on restore

    Linus Torvalds
     

16 Dec, 2014

2 commits