libiscsi | iscsi client library and utilities

 by   sahlberg C Version: Current License: Non-SPDX

kandi X-RAY | libiscsi Summary

kandi X-RAY | libiscsi Summary

libiscsi is a C library. libiscsi has no bugs, it has no vulnerabilities and it has low support. However libiscsi has a Non-SPDX License. You can download it from GitHub.

Libiscsi is a client-side library to implement the iSCSI protocol that can be used to access the resources of an iSCSI target. The library is fully asynchronous with regards to iSCSI commands and SCSI tasks, but a synchronous layer is also provided for ease of use for simpler applications. The src directory contains a handful of useful iSCSI utilities such as logging in to and enumerating all targets on a portal and all devices of a target. The examples directory contains example implementation of how to access both the synchronous and asynchronous APIs of libiscsi. Libiscsi is a work in progress. It aims to become a fully asynchronous library for iSCSI functionality, including all features required to establish and maintain an iSCSI session, as well as a low-level SCSI library to create SCSI CDBs and parse/unmarshall data-in structures.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              libiscsi has a low active ecosystem.
              It has 131 star(s) with 115 fork(s). There are 26 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 29 open issues and 76 have been closed. On average issues are closed in 78 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of libiscsi is current.

            kandi-Quality Quality

              libiscsi has 0 bugs and 0 code smells.

            kandi-Security Security

              libiscsi has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              libiscsi code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              libiscsi has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              libiscsi releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of libiscsi
            Get all kandi verified functions for this library.

            libiscsi Key Features

            No Key Features are available at this moment for libiscsi.

            libiscsi Examples and Code Snippets

            No Code Snippets are available at this moment for libiscsi.

            Community Discussions

            QUESTION

            How to allocate large contiguous, memory regions in Linux
            Asked 2020-Mar-12 at 18:41

            Yes, I will ultimately be using this for DMA but lets leave coherency aside for the moment. I have 64 bit BAR registers, therefore, AFAIK, all of RAM (e.g. higher than 4G) is available for DMA.

            I am looking for about 64MB of contiguous RAM. Yes, that's a lot.

            Ubuntu 16 and 18 have CONFIG_CMA=y but CONFIG_DMA_CMA is not set at kernel compile time.

            I note that if both were set (at Kernel build time) I could simply call dma_alloc_coherent, however, for logistical reasons, it is undesirable to recompile the kernel.

            The machines will always have at least 32GB of RAM, do not run anything RAM intensive, and the kernel module will load shortly after boot before RAM becomes significantly fragmented and, AFAIK, nothing else is using the CMA.

            I have set the kernel parameter CMA=1G. (and have tried 256M and 512M)

            ...

            ANSWER

            Answered 2020-Feb-20 at 15:49

            The short version is that __GFP_DIRECT_RECLAIM (also provided by __GFP_RECLAIM) is necessary as dma_alloc_contiguous is eventually called and it checks, via a call to gfpflags_allow_blocking, that blocking is okay. I used the usual GFP_KERNEL which provides __GFP_RECLAIM | __GFP_IO | __GFP_FS. But before all that one must call dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) with DMA_BIT_MASK(64) not DMA_BIT_MASK(32).

            Source https://stackoverflow.com/questions/56508117

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install libiscsi

            make sudo make install.
            To build RPMs run the following script from the libiscsi root directory ./packaging/RPM/makerpms.sh.

            Support

            Libiscsi supports IPv6, either as names resolving into IPv6 addresses or when IPv6 addresses are explicitely set in the URL. When specifying IPv6 addresses in the URL, they have to be specified in […​] bracket form.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/sahlberg/libiscsi.git

          • CLI

            gh repo clone sahlberg/libiscsi

          • sshUrl

            git@github.com:sahlberg/libiscsi.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link