1. 18 4月, 2014 1 次提交
  2. 13 2月, 2014 1 次提交
  3. 21 11月, 2013 1 次提交
  4. 11 9月, 2013 2 次提交
  5. 04 7月, 2013 1 次提交
    • N
      target: Make core_scsi3_update_and_write_aptpl return sense_reason_t · 8a391857
      Nicholas Bellinger 提交于
      Fix up sense_reason_t breakage in core_scsi3_update_and_write_aptpl()
      from recent conversion to use local scope memory allocation.
      
      Reported as sparse warnings: (new ones prefixed by >>) by Fengguang:
      
      >> drivers/target/target_core_pr.c:2069:57: sparse: incorrect type in
      >> return expression (different base types)
         drivers/target/target_core_pr.c:2069:57:    expected restricted sense_reason_t
         drivers/target/target_core_pr.c:2069:57:    got int
      >> drivers/target/target_core_pr.c:2179:21: sparse: incorrect type in
      >> assignment (different base types)
         drivers/target/target_core_pr.c:2179:21:    expected restricted sense_reason_t [assigned] [usertype] ret
         drivers/target/target_core_pr.c:2179:21:    got int
      >> drivers/target/target_core_pr.c:2197:13: sparse: incorrect type in
      >> assignment (different base types)
         drivers/target/target_core_pr.c:2197:13:    expected restricted sense_reason_t [assigned] [usertype] ret
         drivers/target/target_core_pr.c:2197:13:    got int
         drivers/target/target_core_pr.c:1245:28: sparse: context imbalance in '__core_scsi3_free_registration' - unexpected unlock
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Cc: Andy Grover <agrover@redhat.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      8a391857
  6. 14 6月, 2013 11 次提交
  7. 26 2月, 2013 1 次提交
  8. 11 1月, 2013 1 次提交
  9. 28 11月, 2012 1 次提交
  10. 08 11月, 2012 1 次提交
  11. 07 11月, 2012 3 次提交
    • C
      target: pass sense_reason as a return value · de103c93
      Christoph Hellwig 提交于
      Pass the sense reason as an explicit return value from the I/O submission
      path instead of storing it in struct se_cmd and using negative return
      values.  This cleans up a lot of the code pathes, and with the sparse
      annotations for the new sense_reason_t type allows for much better
      error checking.
      
      (nab: Convert spc_emulate_modesense + spc_emulate_modeselect to use
            sense_reason_t with Roland's MODE SELECT changes)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: Roland Dreier <roland@purestorage.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      de103c93
    • C
      target: simplify reservations code · d977f437
      Christoph Hellwig 提交于
      We do not support host-level reservations for the pscsi backend, and all
      virtual backends are newere than SCSI-2, so just make the combined
      SPC-3 + SCSI-2 support the only supported variant and kill the switches
      for the different implementations, given that this code handles the no-op
      version just fine.
      
      (hch: Update DRF_SPC2_RESERVATIONS lock usage)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      d977f437
    • C
      target: kill struct se_subsystem_dev · 0fd97ccf
      Christoph Hellwig 提交于
      Simplify the code a lot by killing the superflous struct se_subsystem_dev.
      Instead se_device is allocated early on by the backend driver, which allocates
      it as part of its own per-device structure, borrowing the scheme that is for
      example used for inode allocation.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      0fd97ccf
  12. 18 9月, 2012 2 次提交
  13. 08 9月, 2012 1 次提交
  14. 17 7月, 2012 2 次提交
  15. 15 5月, 2012 1 次提交
    • B
      target: Fix SPC-2 RELEASE bug for multi-session iSCSI client setups · edc318d9
      Bernhard Kohl 提交于
      This patch addresses a bug in a special case for target core SPC-2 RELEASE
      logic where the same physical client (eg: iSCSI InitiatorName) with
      differing iSCSI session identifiers (ISID) is allowed to incorrectly release
      the same client's SPC-2 reservation from the non reservation holding path.
      
      Note this bug is specific to iscsi-target w/ SPC-2 reservations, and
      with the default enforce_pr_isids=1 device attr setting in target-core
      controls if a InitiatorName + different ISID reservations are handled
      the same as a single iSCSI client entity.
      Signed-off-by: NBernhard Kohl <bernhard.kohl@gmx.net>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      edc318d9
  16. 07 5月, 2012 1 次提交
  17. 15 4月, 2012 1 次提交
  18. 16 3月, 2012 2 次提交
  19. 14 3月, 2012 1 次提交
    • N
      target: Fix compatible reservation handling (CRH=1) with legacy RESERVE/RELEASE · 087a03b3
      Nicholas Bellinger 提交于
      This patch addresses a bug with target_check_scsi2_reservation_conflict()
      return checking in target_scsi2_reservation_[reserve,release]() that was
      preventing CRH=1 operation from silently succeeding in the two special
      cases defined by SPC-3, and not failing with reservation conflict status
      when dealing with legacy RESERVE/RELEASE + active SPC-3 PR logic.
      
      Also explictly set cmd->scsi_status = SAM_STAT_RESERVATION_CONFLICT during
      the early non reservation holder failure from pr_ops->t10_seq_non_holder()
      check in transport_generic_cmd_sequencer() for fabrics that already expect
      it to be set.
      
      This bug was originally introduced in mainline commit:
      
      commit eacac00c
      Author: Christoph Hellwig <hch@infradead.org>
      Date:   Thu Nov 3 17:50:40 2011 -0400
      
          target: split core_scsi2_emulate_crh
      Reported-by: NMartin Svec <martin.svec@zoner.cz>
      Cc: Martin Svec <martin.svec@zoner.cz>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      087a03b3
  20. 26 2月, 2012 1 次提交
    • R
      target: Use LIST_HEAD()/DEFINE_MUTEX() for static objects · d0f474e5
      Roland Dreier 提交于
      Instead of
      
         static struct list_head foo;
         static struct mutex bar;
      
         ...
      
         INIT_LIST_HEAD(&foo);
         mutex_init(&bar);
      
      just do
      
         static LIST_HEAD(foo);
         static DEFINE_MUTEX(bar);
      
      Also remove some superfluous struct list_head and spinlock_t
      initialization calls where the variables are already defined using
      macros that initialize them.
      
      This saves a decent amount of compiled code too:
      
          add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-178 (-178)
          function                                     old     new   delta
          target_core_init_configfs                    898     850     -48
          core_scsi3_emulate_pro_preempt              1742    1683     -59
          iscsi_thread_set_init                        159      88     -71
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      d0f474e5
  21. 18 1月, 2012 3 次提交
  22. 14 12月, 2011 1 次提交