Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libnvme for openSUSE:Factory checked in at 2022-03-14 19:35:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libnvme (Old) and /work/SRC/openSUSE:Factory/.libnvme.new.25692 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnvme" Mon Mar 14 19:35:07 2022 rev:7 rq:961122 version:1.0~6 Changes: -------- --- /work/SRC/openSUSE:Factory/libnvme/libnvme.changes 2022-03-11 11:46:32.466913613 +0100 +++ /work/SRC/openSUSE:Factory/.libnvme.new.25692/libnvme.changes 2022-03-14 19:37:00.586122311 +0100 @@ -1,0 +2,10 @@ +Fri Mar 11 17:58:36 UTC 2022 - Daniel Wagnrer <daniel.wag...@suse.com> + +- Update to version 1.0-rc6: + * tree: add nvme_ctrl_get_ana_state() (bsc#1195938) + * tree: link paths to namespaces in nvme_subsystem_scan_namespace() (bsc#1195938) + * ioctl.h: ns list bug fix (wrong cns value) + * types.h: Key Value Command Set Identifier added (NVME_CSI_KV) + * types: fix status code type bug (wrong masking) + +------------------------------------------------------------------- Old: ---- libnvme-1.0~5.obscpio New: ---- libnvme-1.0~6.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libnvme.spec ++++++ --- /var/tmp/diff_new_pack.44xfo4/_old 2022-03-14 19:37:01.038122852 +0100 +++ /var/tmp/diff_new_pack.44xfo4/_new 2022-03-14 19:37:01.042122857 +0100 @@ -19,7 +19,7 @@ %define sover 1 Name: libnvme -Version: 1.0~5 +Version: 1.0~6 Release: 0 Summary: Linux-native nvme device management library License: LGPL-2.1-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.44xfo4/_old 2022-03-14 19:37:01.090122915 +0100 +++ /var/tmp/diff_new_pack.44xfo4/_new 2022-03-14 19:37:01.094122920 +0100 @@ -5,7 +5,7 @@ <param name="filename">libnvme</param> <!-- <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> --> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">v1.0-rc5</param> + <param name="revision">v1.0-rc6</param> <param name="match-tag">v[01].[0-9]*</param> <param name="versionrewrite-pattern">v([^+]*)-rc([0-9]+)</param> <param name="versionrewrite-replacement">\1~\2</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.44xfo4/_old 2022-03-14 19:37:01.122122953 +0100 +++ /var/tmp/diff_new_pack.44xfo4/_new 2022-03-14 19:37:01.126122958 +0100 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/linux-nvme/libnvme.git</param> - <param name="changesrevision">e9a32c8236375356a65d85084c2b9e30619f7ed2</param> + <param name="changesrevision">8d083ce7f25fccf610ed1de6e10aa16db1920d98</param> </service> </servicedata> (No newline at EOF) ++++++ libnvme-1.0~5.obscpio -> libnvme-1.0~6.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/.github/workflows/meson.yml new/libnvme-1.0~6/.github/workflows/meson.yml --- old/libnvme-1.0~5/.github/workflows/meson.yml 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/.github/workflows/meson.yml 2022-03-11 17:01:20.000000000 +0100 @@ -9,9 +9,8 @@ workflow_dispatch: jobs: - meson-build: + build-disto: runs-on: ubuntu-latest - steps: - name: install libraries run: sudo apt-get install libjson-c-dev @@ -28,3 +27,23 @@ with: name: Linux_Meson_Testlog path: build/meson-logs/testlog.txt + + build-fallback: + runs-on: ubuntu-latest + steps: + - name: install libraries + run: sudo apt-get remove -y libssl-dev + - uses: actions/checkout@v2 + - uses: actions/setup-python@v1 + - uses: BSFishy/meson-build@v1.0.3 + with: + setup-options: --werror + options: --verbose + action: test + meson-version: 0.61.2 + # Preserve meson's log file on failure + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: Linux_Meson_log + path: build/meson-logs/meson-log.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/.github/workflows/python-publish.yml new/libnvme-1.0~6/.github/workflows/python-publish.yml --- old/libnvme-1.0~5/.github/workflows/python-publish.yml 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/.github/workflows/python-publish.yml 2022-03-11 17:01:20.000000000 +0100 @@ -6,47 +6,62 @@ # separate terms of service, privacy policy, and support # documentation. -name: Upload Python Package +name: Build and upload to PyPI on: - release: - types: [published] push: branches: [ master ] - # Publish semver tags as releases. - tags: [ 'v*.*.*' ] pull_request: branches: [ master ] - workflow_dispatch: jobs: - deploy: + build_wheels: + name: Build wheels manylinux + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Build wheels + uses: pypa/cibuildwheel@v2.3.1 + env: + CIBW_REPAIR_WHEEL_COMMAND_LINUX: "" + CIBW_SKIP: "*-musllinux_*" + CIBW_BEFORE_BUILD_LINUX: yum install -y openssl-devel libuuid-devel json-c-devel + CIBW_BUILD_VERBOSITY: 1 + + - uses: actions/upload-artifact@v2 + with: + path: ./wheelhouse/*.whl + retention-days: 5 + build_sdist: + name: Build source distribution runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Build sdist + run: pipx run build --sdist + - uses: actions/upload-artifact@v2 + with: + path: dist/*.tar.gz + retention-days: 5 + + upload_pypi: + needs: [build_wheels, build_sdist] + runs-on: ubuntu-latest + if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.x' - - name: Install dependencies - run: | - sudo apt-get install libjson-c-dev meson - python -m pip install --upgrade pip - pip install build - - name: Build package - run: python -m build --sdist - - name: Publish package to TestPyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.TEST_PYPI_API_TOKEN }} - repository_url: https://test.pypi.org/legacy/ - # - name: Publish package to PyPI - # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') - # uses: pypa/gh-action-pypi-publish@release/v1 - # with: - # user: __token__ - # password: ${{ secrets.PYPI_API_TOKEN }} + - uses: actions/download-artifact@v2 + with: + name: artifact + path: dist + + - name: Publish package to TestPyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_csi.2 new/libnvme-1.0~6/doc/man/nvme_csi.2 --- old/libnvme-1.0~5/doc/man/nvme_csi.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_csi.2 2022-03-11 17:01:20.000000000 +0100 @@ -8,11 +8,17 @@ , .br .br +.BI " NVME_CSI_KV" +, +.br +.br .BI " NVME_CSI_ZNS" }; .SH Constants .IP "NVME_CSI_NVM" 12 NVM Command Set Indicator +.IP "NVME_CSI_KV" 12 +Key Value Command Set .IP "NVME_CSI_ZNS" 12 Zoned Namespace Command Set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_ctrl_get_ana_state.2 new/libnvme-1.0~6/doc/man/nvme_ctrl_get_ana_state.2 --- old/libnvme-1.0~5/doc/man/nvme_ctrl_get_ana_state.2 1970-01-01 01:00:00.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_ctrl_get_ana_state.2 2022-03-11 17:01:20.000000000 +0100 @@ -0,0 +1,14 @@ +.TH "nvme_ctrl_get_ana_state" 9 "nvme_ctrl_get_ana_state" "March 2022" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_get_ana_state \- ANA state of a controller path +.SH SYNOPSIS +.B "const char *" nvme_ctrl_get_ana_state +.BI "(nvme_ctrl_t c " "," +.BI "__u32 nsid " ");" +.SH ARGUMENTS +.IP "c" 12 +Constroller instance +.IP "nsid" 12 +Namespace ID to evaluate +.SH "RETURN" +ANA state of the namespace \fInsid\fP on controller \fIc\fP. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_ctrls_filter.2 new/libnvme-1.0~6/doc/man/nvme_ctrls_filter.2 --- old/libnvme-1.0~5/doc/man/nvme_ctrls_filter.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_ctrls_filter.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,8 +1,11 @@ .TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_ctrls_filter \- +nvme_ctrls_filter \- Filter for controllers .SH SYNOPSIS .B "int" nvme_ctrls_filter .BI "(const struct dirent *d " ");" .SH ARGUMENTS .IP "d" 12 +dirent to check +.SH "RETURN" +1 if \fId\fP matches, 0 otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_identify_cns.2 new/libnvme-1.0~6/doc/man/nvme_identify_cns.2 --- old/libnvme-1.0~5/doc/man/nvme_identify_cns.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_identify_cns.2 2022-03-11 17:01:20.000000000 +0100 @@ -88,7 +88,7 @@ , .br .br -.BI " NVME_IDENTIFY_CNS_CSS_ALLOCATED_NS_LIST" +.BI " NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST" , .br .br @@ -148,7 +148,7 @@ Domain List .IP "NVME_IDENTIFY_CNS_ENDURANCE_GROUP_ID" 12 Endurance Group List -.IP "NVME_IDENTIFY_CNS_CSS_ALLOCATED_NS_LIST" 12 +.IP "NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST" 12 I/O Command Set specific Allocated Namespace ID list .IP "NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE" 12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_namespace_filter.2 new/libnvme-1.0~6/doc/man/nvme_namespace_filter.2 --- old/libnvme-1.0~5/doc/man/nvme_namespace_filter.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_namespace_filter.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,8 +1,11 @@ .TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_namespace_filter \- +nvme_namespace_filter \- Filter for namespaces .SH SYNOPSIS .B "int" nvme_namespace_filter .BI "(const struct dirent *d " ");" .SH ARGUMENTS .IP "d" 12 +dirent to check +.SH "RETURN" +1 if \fId\fP matches, 0 otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_paths_filter.2 new/libnvme-1.0~6/doc/man/nvme_paths_filter.2 --- old/libnvme-1.0~5/doc/man/nvme_paths_filter.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_paths_filter.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,8 +1,11 @@ .TH "nvme_paths_filter" 9 "nvme_paths_filter" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_paths_filter \- +nvme_paths_filter \- Filter for paths .SH SYNOPSIS .B "int" nvme_paths_filter .BI "(const struct dirent *d " ");" .SH ARGUMENTS .IP "d" 12 +dirent to check +.SH "RETURN" +1 if \fId\fP matches, 0 otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_scan_ctrl_namespace_paths.2 new/libnvme-1.0~6/doc/man/nvme_scan_ctrl_namespace_paths.2 --- old/libnvme-1.0~5/doc/man/nvme_scan_ctrl_namespace_paths.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_scan_ctrl_namespace_paths.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,10 +1,14 @@ .TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_scan_ctrl_namespace_paths \- +nvme_scan_ctrl_namespace_paths \- Scan for namespace paths in a controller .SH SYNOPSIS .B "int" nvme_scan_ctrl_namespace_paths .BI "(nvme_ctrl_t c " "," -.BI "struct dirent ***namespaces " ");" +.BI "struct dirent ***paths " ");" .SH ARGUMENTS .IP "c" 12 -.IP "namespaces" 12 +Controller to scan +.IP "paths" 12 +Pointer to array of dirents +.SH "RETURN" +number of entries in \fIpaths\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_scan_ctrl_namespaces.2 new/libnvme-1.0~6/doc/man/nvme_scan_ctrl_namespaces.2 --- old/libnvme-1.0~5/doc/man/nvme_scan_ctrl_namespaces.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_scan_ctrl_namespaces.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,10 +1,14 @@ .TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_scan_ctrl_namespaces \- +nvme_scan_ctrl_namespaces \- Scan for namespaces in a controller .SH SYNOPSIS .B "int" nvme_scan_ctrl_namespaces .BI "(nvme_ctrl_t c " "," -.BI "struct dirent ***namespaces " ");" +.BI "struct dirent ***ns " ");" .SH ARGUMENTS .IP "c" 12 -.IP "namespaces" 12 +Controller to scan +.IP "ns" 12 +Pointer to array of dirents +.SH "RETURN" +number of entries in \fIns\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_scan_ctrls.2 new/libnvme-1.0~6/doc/man/nvme_scan_ctrls.2 --- old/libnvme-1.0~5/doc/man/nvme_scan_ctrls.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_scan_ctrls.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,8 +1,11 @@ .TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_scan_ctrls \- +nvme_scan_ctrls \- Scan for controllers .SH SYNOPSIS .B "int" nvme_scan_ctrls .BI "(struct dirent ***ctrls " ");" .SH ARGUMENTS .IP "ctrls" 12 +Pointer to array of dirents +.SH "RETURN" +number of entries in \fIctrls\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_scan_subsystem_namespaces.2 new/libnvme-1.0~6/doc/man/nvme_scan_subsystem_namespaces.2 --- old/libnvme-1.0~5/doc/man/nvme_scan_subsystem_namespaces.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_scan_subsystem_namespaces.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,10 +1,14 @@ .TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_scan_subsystem_namespaces \- +nvme_scan_subsystem_namespaces \- Scan for namespaces in a subsystem .SH SYNOPSIS .B "int" nvme_scan_subsystem_namespaces .BI "(nvme_subsystem_t s " "," -.BI "struct dirent ***namespaces " ");" +.BI "struct dirent ***ns " ");" .SH ARGUMENTS .IP "s" 12 -.IP "namespaces" 12 +Subsystem to scan +.IP "ns" 12 +-- undescribed -- +.SH "RETURN" +number of entries in \fIns\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_scan_subsystems.2 new/libnvme-1.0~6/doc/man/nvme_scan_subsystems.2 --- old/libnvme-1.0~5/doc/man/nvme_scan_subsystems.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_scan_subsystems.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,8 +1,11 @@ .TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_scan_subsystems \- +nvme_scan_subsystems \- Scan for subsystems .SH SYNOPSIS .B "int" nvme_scan_subsystems .BI "(struct dirent ***subsys " ");" .SH ARGUMENTS .IP "subsys" 12 +Pointer to array of dirents +.SH "RETURN" +number of entries in \fIsubsys\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_status_field.2 new/libnvme-1.0~6/doc/man/nvme_status_field.2 --- old/libnvme-1.0~5/doc/man/nvme_status_field.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_status_field.2 2022-03-11 17:01:20.000000000 +0100 @@ -28,10 +28,18 @@ , .br .br +.BI " NVME_SCT_SHIFT" +, +.br +.br .BI " NVME_SC_MASK" , .br .br +.BI " NVME_SC_SHIFT" +, +.br +.br .BI " NVME_SC_SUCCESS" , .br @@ -576,8 +584,12 @@ Vendor specific errors .IP "NVME_SCT_MASK" 12 Mask to get the value of the Status Code Type +.IP "NVME_SCT_SHIFT" 12 +-- undescribed -- .IP "NVME_SC_MASK" 12 Mask to get the value of the status code. +.IP "NVME_SC_SHIFT" 12 +-- undescribed -- .IP "NVME_SC_SUCCESS" 12 Successful Completion: The command completed without error. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/doc/man/nvme_subsys_filter.2 new/libnvme-1.0~6/doc/man/nvme_subsys_filter.2 --- old/libnvme-1.0~5/doc/man/nvme_subsys_filter.2 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/doc/man/nvme_subsys_filter.2 2022-03-11 17:01:20.000000000 +0100 @@ -1,8 +1,11 @@ .TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "March 2022" "libnvme API manual" LINUX .SH NAME -nvme_subsys_filter \- +nvme_subsys_filter \- Filter for subsystems .SH SYNOPSIS .B "int" nvme_subsys_filter .BI "(const struct dirent *d " ");" .SH ARGUMENTS .IP "d" 12 +dirent to check +.SH "RETURN" +1 if \fId\fP matches, 0 otherwise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/libnvme/meson.build new/libnvme-1.0~6/libnvme/meson.build --- old/libnvme-1.0~5/libnvme/meson.build 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/libnvme/meson.build 2022-03-11 17:01:20.000000000 +0100 @@ -58,7 +58,7 @@ test_env.append('PYTHONMALLOC', 'malloc') # Test section - test('[Python] import libnvme', python3, args: ['-c', 'from libnvme import nvme'], env: test_env) + test('[Python] import libnvme', python3, args: ['-c', 'from libnvme import nvme'], env: test_env, depends: pynvme_clib) py_tests = [ [ 'create ctrl object', files('tests/create-ctrl-obj.py') ], @@ -66,6 +66,6 @@ foreach test: py_tests description = test[0] py_script = test[1] - test('[Python] ' + description, python3, args: [py_script, ], env: test_env) + test('[Python] ' + description, python3, args: [py_script, ], env: test_env, depends: pynvme_clib) endforeach endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/libnvme.map new/libnvme-1.0~6/src/libnvme.map --- old/libnvme-1.0~5/src/libnvme.map 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/libnvme.map 2022-03-11 17:01:20.000000000 +0100 @@ -12,6 +12,7 @@ nvme_ctrl_first_ns; nvme_ctrl_first_path; nvme_ctrl_get_address; + nvme_ctrl_get_ana_state; nvme_ctrl_get_dhchap_key; nvme_ctrl_get_discovery_ctrl; nvme_ctrl_get_fd; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/nvme/filters.c new/libnvme-1.0~6/src/nvme/filters.c --- old/libnvme-1.0~5/src/nvme/filters.c 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/nvme/filters.c 2022-03-11 17:01:20.000000000 +0100 @@ -93,9 +93,9 @@ alphasort); } -int nvme_scan_subsystem_namespaces(nvme_subsystem_t s, struct dirent ***namespaces) +int nvme_scan_subsystem_namespaces(nvme_subsystem_t s, struct dirent ***ns) { - return scandir(nvme_subsystem_get_sysfs_dir(s), namespaces, + return scandir(nvme_subsystem_get_sysfs_dir(s), ns, nvme_namespace_filter, alphasort); } @@ -105,14 +105,14 @@ alphasort); } -int nvme_scan_ctrl_namespace_paths(nvme_ctrl_t c, struct dirent ***namespaces) +int nvme_scan_ctrl_namespace_paths(nvme_ctrl_t c, struct dirent ***paths) { - return scandir(nvme_ctrl_get_sysfs_dir(c), namespaces, + return scandir(nvme_ctrl_get_sysfs_dir(c), paths, nvme_paths_filter, alphasort); } -int nvme_scan_ctrl_namespaces(nvme_ctrl_t c, struct dirent ***namespaces) +int nvme_scan_ctrl_namespaces(nvme_ctrl_t c, struct dirent ***ns) { - return scandir(nvme_ctrl_get_sysfs_dir(c), namespaces, + return scandir(nvme_ctrl_get_sysfs_dir(c), ns, nvme_namespace_filter, alphasort); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/nvme/filters.h new/libnvme-1.0~6/src/nvme/filters.h --- old/libnvme-1.0~5/src/nvme/filters.h 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/nvme/filters.h 2022-03-11 17:01:20.000000000 +0100 @@ -19,78 +19,78 @@ */ /** - * nvme_namespace_filter() - - * @d: + * nvme_namespace_filter() - Filter for namespaces + * @d: dirent to check * - * Return: + * Return: 1 if @d matches, 0 otherwise */ int nvme_namespace_filter(const struct dirent *d); /** - * nvme_paths_filter() - - * @d: + * nvme_paths_filter() - Filter for paths + * @d: dirent to check * - * Return: + * Return: 1 if @d matches, 0 otherwise */ int nvme_paths_filter(const struct dirent *d); /** - * nvme_ctrls_filter() - - * @d: + * nvme_ctrls_filter() - Filter for controllers + * @d: dirent to check * - * Return: + * Return: 1 if @d matches, 0 otherwise */ int nvme_ctrls_filter(const struct dirent *d); /** - * nvme_subsys_filter() - - * @d: + * nvme_subsys_filter() - Filter for subsystems + * @d: dirent to check * - * Return: + * Return: 1 if @d matches, 0 otherwise */ int nvme_subsys_filter(const struct dirent *d); /** - * nvme_scan_subsystems() - - * @subsys: + * nvme_scan_subsystems() - Scan for subsystems + * @subsys: Pointer to array of dirents * - * Return: + * Return: number of entries in @subsys */ int nvme_scan_subsystems(struct dirent ***subsys); /** - * nvme_scan_subsystem_namespaces() - - * @s: - * @namespaces: + * nvme_scan_subsystem_namespaces() - Scan for namespaces in a subsystem + * @s: Subsystem to scan + * @n: Pointer to array of dirents * - * Return: + * Return: number of entries in @ns */ -int nvme_scan_subsystem_namespaces(nvme_subsystem_t s, struct dirent ***namespaces); +int nvme_scan_subsystem_namespaces(nvme_subsystem_t s, struct dirent ***ns); /** - * nvme_scan_ctrls() - - * @ctrls: + * nvme_scan_ctrls() - Scan for controllers + * @ctrls: Pointer to array of dirents * - * Return: + * Return: number of entries in @ctrls */ int nvme_scan_ctrls(struct dirent ***ctrls); /** - * nvme_scan_ctrl_namespace_paths() - - * @c: - * @namespaces: + * nvme_scan_ctrl_namespace_paths() - Scan for namespace paths in a controller + * @c: Controller to scan + * @paths: Pointer to array of dirents * - * Return: + * Return: number of entries in @paths */ -int nvme_scan_ctrl_namespace_paths(nvme_ctrl_t c, struct dirent ***namespaces); +int nvme_scan_ctrl_namespace_paths(nvme_ctrl_t c, struct dirent ***paths); /** - * nvme_scan_ctrl_namespaces() - - * @c: - * @namespaces: + * nvme_scan_ctrl_namespaces() - Scan for namespaces in a controller + * @c: Controller to scan + * @ns: Pointer to array of dirents * - * Return: + * Return: number of entries in @ns */ -int nvme_scan_ctrl_namespaces(nvme_ctrl_t c, struct dirent ***namespaces); +int nvme_scan_ctrl_namespaces(nvme_ctrl_t c, struct dirent ***ns); #endif /* _LIBNVME_FILTERS_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/nvme/ioctl.h new/libnvme-1.0~6/src/nvme/ioctl.h --- old/libnvme-1.0~5/src/nvme/ioctl.h 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/nvme/ioctl.h 2022-03-11 17:01:20.000000000 +0100 @@ -871,7 +871,7 @@ .args_size = sizeof(args), .fd = fd, .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, - .cns = NVME_IDENTIFY_CNS_NS_ACTIVE_LIST, + .cns = NVME_IDENTIFY_CNS_CSI_NS_ACTIVE_LIST, .csi = csi, .nsid = nsid, .cntid = NVME_CNTLID_NONE, @@ -908,7 +908,7 @@ .args_size = sizeof(args), .fd = fd, .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, - .cns = NVME_IDENTIFY_CNS_ALLOCATED_NS_LIST, + .cns = NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST, .csi = csi, .nsid = nsid, .cntid = NVME_CNTLID_NONE, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/nvme/tree.c new/libnvme-1.0~6/src/nvme/tree.c --- old/libnvme-1.0~5/src/nvme/tree.c 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/nvme/tree.c 2022-03-11 17:01:20.000000000 +0100 @@ -462,7 +462,8 @@ } for (i = 0; i < num_ns; i++) { - ret = nvme_subsystem_scan_namespace(r, s, namespaces[i]->d_name); + ret = nvme_subsystem_scan_namespace(r, s, + namespaces[i]->d_name); if (ret < 0) nvme_msg(r, LOG_DEBUG, "failed to scan namespace %s: %s\n", @@ -767,6 +768,19 @@ return c->cfg.host_iface; } +const char *nvme_ctrl_get_ana_state(nvme_ctrl_t c, __u32 nsid) +{ + if (nsid != NVME_NSID_ALL) { + nvme_path_t p; + + nvme_ctrl_for_each_path(c, p) { + if (p->n && p->n->nsid == nsid) + return p->ana_state; + } + } + return NULL; +} + struct nvme_fabrics_config *nvme_ctrl_get_config(nvme_ctrl_t c) { return &c->cfg; @@ -1367,6 +1381,7 @@ errno = ENOMEM; return NULL; } + c = nvme_ctrl_alloc(r, s, path, name); if (!c) { free(path); @@ -1827,6 +1842,32 @@ return 0; } +static void nvme_subsystem_set_ns_path(nvme_subsystem_t s, nvme_ns_t n) +{ + nvme_ctrl_t c; + nvme_path_t p; + int ns_ctrl, ns_nsid, ret; + + ret = sscanf(nvme_ns_get_name(n), "nvme%dn%d", &ns_ctrl, &ns_nsid); + if (ret != 2) + return; + + nvme_subsystem_for_each_ctrl(s, c) { + nvme_ctrl_for_each_path(c, p) { + int p_subsys, p_ctrl, p_nsid; + + ret = sscanf(nvme_path_get_name(p), "nvme%dc%dn%d", + &p_subsys, &p_ctrl, &p_nsid); + if (ret != 3) + continue; + if (ns_ctrl == p_subsys && ns_nsid == p_nsid) { + list_add(&n->paths, &p->nentry); + p->n = n; + } + } + } +} + static int nvme_subsystem_scan_namespace(nvme_root_t r, nvme_subsystem_t s, char *name) { @@ -1840,6 +1881,7 @@ n->s = s; list_add(&s->namespaces, &n->entry); + nvme_subsystem_set_ns_path(s, n); return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/nvme/tree.h new/libnvme-1.0~6/src/nvme/tree.h --- old/libnvme-1.0~5/src/nvme/tree.h 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/nvme/tree.h 2022-03-11 17:01:20.000000000 +0100 @@ -837,6 +837,15 @@ const char *nvme_ctrl_get_host_iface(nvme_ctrl_t c); /** + * nvme_ctrl_get_ana_state() - ANA state of a controller path + * @c: Constroller instance + * @nsid: Namespace ID to evaluate + * + * Return: ANA state of the namespace @nsid on controller @c. + */ +const char *nvme_ctrl_get_ana_state(nvme_ctrl_t c, __u32 nsid); + +/** * nvme_ctrl_get_dhchap_key() - Return controller key * @c: Controller for which the key should be set * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/src/nvme/types.h new/libnvme-1.0~6/src/nvme/types.h --- old/libnvme-1.0~5/src/nvme/types.h 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/src/nvme/types.h 2022-03-11 17:01:20.000000000 +0100 @@ -40,7 +40,7 @@ * @value: The value to be set in its completed position * @name: The name of the sub-field within an nvme value * - * Returns: The + * Returns: The 'name' field from 'value' */ #define NVME_SET(value, name) \ (((value) & NVME_##name##_MASK) << NVME_##name##_SHIFT) @@ -125,10 +125,12 @@ /** * enum nvme_csi - Defined command set indicators * @NVME_CSI_NVM: NVM Command Set Indicator + * @NVME_CSI_KV: Key Value Command Set * @NVME_CSI_ZNS: Zoned Namespace Command Set */ enum nvme_csi { NVME_CSI_NVM = 0, + NVME_CSI_KV = 1, NVME_CSI_ZNS = 2, }; @@ -5735,11 +5737,13 @@ NVME_SCT_PATH = 0x3, NVME_SCT_VS = 0x7, NVME_SCT_MASK = 0x7, + NVME_SCT_SHIFT = 0x8, /* * Status Code inidicators */ NVME_SC_MASK = 0xff, + NVME_SC_SHIFT = 0x0, /* * Generic Command Status Codes: @@ -5923,7 +5927,7 @@ */ static inline __u16 nvme_status_code_type(__u16 status_field) { - return status_field & NVME_SCT_MASK; + return NVME_GET(status_field, SCT); } /** @@ -5934,7 +5938,7 @@ */ static inline __u16 nvme_status_code(__u16 status_field) { - return status_field & NVME_SC_MASK; + return NVME_GET(status_field, SC); } /** @@ -6044,7 +6048,7 @@ * @NVME_IDENTIFY_CNS_UUID_LIST: A UUID List * @NVME_IDENTIFY_CNS_DOMAIN_LIST: Domain List * @NVME_IDENTIFY_CNS_ENDURANCE_GROUP_ID: Endurance Group List - * @NVME_IDENTIFY_CNS_CSS_ALLOCATED_NS_LIST: I/O Command Set specific Allocated Namespace + * @NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST: I/O Command Set specific Allocated Namespace * ID list * @NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE: Base Specification 2.0a section 5.17.2.21 */ @@ -6070,7 +6074,7 @@ NVME_IDENTIFY_CNS_UUID_LIST = 0x17, NVME_IDENTIFY_CNS_DOMAIN_LIST = 0x18, NVME_IDENTIFY_CNS_ENDURANCE_GROUP_ID = 0x19, - NVME_IDENTIFY_CNS_CSS_ALLOCATED_NS_LIST = 0x1A, + NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST = 0x1A, NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE = 0x1C, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnvme-1.0~5/subprojects/openssl.wrap new/libnvme-1.0~6/subprojects/openssl.wrap --- old/libnvme-1.0~5/subprojects/openssl.wrap 2022-03-03 19:35:43.000000000 +0100 +++ new/libnvme-1.0~6/subprojects/openssl.wrap 2022-03-11 17:01:20.000000000 +0100 @@ -3,9 +3,9 @@ source_url = https://www.openssl.org/source/openssl-1.1.1l.tar.gz source_filename = openssl-1.1.1l.tar.gz source_hash = 0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 -patch_filename = openssl_1.1.1l-2_patch.zip -patch_url = https://wrapdb.mesonbuild.com/v2/openssl_1.1.1l-2/get_patch -patch_hash = 852521fb016fa2deee8ebf9ffeeee0292c6de86a03c775cf72ac04e86f9f177e +patch_filename = openssl_1.1.1l-3_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/openssl_1.1.1l-3/get_patch +patch_hash = a0cb8285cda3ae0e1898b4e88427c19bf245184259f41395010182655f9f8ce6 [provide] libcrypto = libcrypto_dep ++++++ libnvme.obsinfo ++++++ --- /var/tmp/diff_new_pack.44xfo4/_old 2022-03-14 19:37:01.514123423 +0100 +++ /var/tmp/diff_new_pack.44xfo4/_new 2022-03-14 19:37:01.518123428 +0100 @@ -1,5 +1,5 @@ name: libnvme -version: 1.0~5 -mtime: 1646332543 -commit: e9a32c8236375356a65d85084c2b9e30619f7ed2 +version: 1.0~6 +mtime: 1647014480 +commit: 8d083ce7f25fccf610ed1de6e10aa16db1920d98