1. 08 8月, 2018 1 次提交
    • C
      nvmet: add ns write protect support · dedf0be5
      Chaitanya Kulkarni 提交于
      This patch implements the Namespace Write Protect feature described in
      "NVMe TP 4005a Namespace Write Protect". In this version, we implement
      No Write Protect and Write Protect states for target ns which can be
      toggled by set-features commands from the host side.
      
      For write-protect state transition, we need to flush the ns specified
      as a part of command so we also add helpers for carrying out synchronous
      flush operations.
      Signed-off-by: NChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      [hch: fixed an incorrect endianess conversion, minor cleanups]
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      dedf0be5
  2. 28 7月, 2018 4 次提交
  3. 25 7月, 2018 1 次提交
  4. 23 7月, 2018 2 次提交
    • S
      nvmet-rdma: support max(16KB, PAGE_SIZE) inline data · 0d5ee2b2
      Steve Wise 提交于
      The patch enables inline data sizes using up to 4 recv sges, and capping
      the size at 16KB or at least 1 page size.  So on a 4K page system, up to
      16KB is supported, and for a 64K page system 1 page of 64KB is supported.
      
      We avoid > 0 order page allocations for the inline buffers by using
      multiple recv sges, one for each page.  If the device cannot support
      the configured inline data size due to lack of enough recv sges, then
      log a warning and reduce the inline size.
      
      Add a new configfs port attribute, called param_inline_data_size,
      to allow configuring the size of inline data for a given nvmf port.
      The maximum size allowed is still enforced by nvmet-rdma with
      NVMET_RDMA_MAX_INLINE_DATA_SIZE, which is now max(16KB, PAGE_SIZE).
      And the default size, if not specified via configfs, is still PAGE_SIZE.
      This preserves the existing behavior, but allows larger inline sizes
      for small page systems.  If the configured inline data size exceeds
      NVMET_RDMA_MAX_INLINE_DATA_SIZE, a warning is logged and the size is
      reduced.  If param_inline_data_size is set to 0, then inline data is
      disabled for that nvmf port.
      Reviewed-by: NSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: NMax Gurtovoy <maxg@mellanox.com>
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      0d5ee2b2
    • C
      nvmet: add buffered I/O support for file backed ns · 55eb942e
      Chaitanya Kulkarni 提交于
      Add a new "buffered_io" attribute, which disabled direct I/O and thus
      enables page cache based caching when enabled.   The attribute can only
      be changed when the namespace is disabled as the file has to be reopend
      for the change to take effect.
      
      The possibly blocking read/write are deferred to a newly introduced
      global workqueue.
      Signed-off-by: NChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      55eb942e
  5. 20 6月, 2018 1 次提交
  6. 01 6月, 2018 4 次提交
  7. 25 5月, 2018 3 次提交
  8. 26 3月, 2018 1 次提交
  9. 01 3月, 2018 1 次提交
  10. 16 1月, 2018 1 次提交
  11. 08 1月, 2018 2 次提交
  12. 11 11月, 2017 1 次提交
  13. 20 10月, 2017 1 次提交
  14. 19 10月, 2017 1 次提交
  15. 26 9月, 2017 1 次提交
  16. 25 9月, 2017 1 次提交
  17. 29 8月, 2017 2 次提交
  18. 20 7月, 2017 1 次提交
  19. 15 6月, 2017 1 次提交
    • J
      nvmet: implement namespace identify descriptor list · 637dc0f3
      Johannes Thumshirn 提交于
      A NVMe Identify NS command with a CNS value of '3' is expecting a list
      of Namespace Identification Descriptor structures to be returned to
      the host for the namespace requested in the namespace identify
      command.
      
      This Namespace Identification Descriptor structure consists of the
      type of the namespace identifier, the length of the identifier and the
      actual identifier.
      
      Valid types are NGUID and UUID which we have saved in our nvme_ns
      structure if they have been configured via configfs. If no value has
      been assigened to one of these we return an "invalid opcode" back to
      the host to maintain backward compatibiliy with older implementations
      without Namespace Identify Descriptor list support.
      
      Also as the Namespace Identify Descriptor list is the only mandatory
      feature change between 1.2.1 and 1.3 we can bump the advertised
      version as well.
      Signed-off-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: NHannes Reinecke <hare@suse.com>
      Reviewed-by: NMax Gurtovoy <maxg@mellanox.com>
      Reviewed-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      637dc0f3
  20. 21 5月, 2017 1 次提交
  21. 04 4月, 2017 3 次提交
  22. 17 3月, 2017 1 次提交
  23. 02 3月, 2017 1 次提交
  24. 23 2月, 2017 1 次提交
  25. 26 1月, 2017 3 次提交