Skip to content

ndmp: introduce workaround for isilon 9.1.0.0 'Invalid nlist.tape_offset -1' error#1043

Merged
arogge merged 5 commits intomasterfrom
dev/pstorz/master/fix-isilon-91-ndmp
Feb 4, 2022
Merged

ndmp: introduce workaround for isilon 9.1.0.0 'Invalid nlist.tape_offset -1' error#1043
arogge merged 5 commits intomasterfrom
dev/pstorz/master/fix-isilon-91-ndmp

Conversation

@pstorz
Copy link
Member

@pstorz pstorz commented Jan 12, 2022

The isilon 9.1.0.0 release seems to have added a sanity check in ndmp
that checks that the tape offsets are on 512B boundaries.

The following error is issued when a restore is triggered to a isilon
9.1.0.0 system:

  'Invalid nlist.tape_offset -1 at index 1 - tape offset not aligned at 512B boundary'

However, -1 is an allowed value (NDMP_INVALID_U_QUAD) and was accepted
on every NDMP implementation we tested against including older isilon
versions.

To fix the problem, the isilon needs to check for NDMP_INVALID_U_QUAD
before it checks for the 512B boundary to fix the problem.

Otherwise we could enable this workaround depending on a new
configuration option.

Thank you for contributing to the Bareos Project!

Please check

  • Short description and the purpose of this PR is present above this paragraph
  • Your name is present in the AUTHORS file (optional)

If you have any questions or problems, please give a comment in the PR.

Helpful documentation and best practices

Checklist for the reviewer of the PR (will be processed by the Bareos team)

General
  • PR name is meaningful
  • Purpose of the PR is understood
  • Separate commit for this PR in the CHANGELOG.md, PR number referenced is same
  • Commit descriptions are understandable and well formatted
Source code quality
  • Source code changes are understandable
  • Variable and function names are meaningful
  • Code comments are correct (logically and spelling)
  • Required documentation changes are present and part of the PR
  • bareos-check-sources --since-merge does not report any problems
  • git status should not report modifications in the source tree after building and testing
Tests
  • Decision taken that a system- or unittest is required (if not, then remove this paragraph)
  • The decision towards a systemtest is reasonable compared to a unittest
  • Testname matches exactly what is being tested
  • Output of the test leads quickly to the origin of the fault

@pstorz pstorz force-pushed the dev/pstorz/master/fix-isilon-91-ndmp branch 2 times, most recently from 9ef75c6 to de80a2b Compare January 12, 2022 16:41
@pstorz pstorz assigned pstorz and bruno-at-bareos and unassigned pstorz Jan 13, 2022
Copy link
Contributor

@bruno-at-bareos bruno-at-bareos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Subject and maybe title can be still a bit optimized
  • Some smalls changes (cosmetic on indentation)

@pstorz pstorz changed the title ndmp: avoid isilon 9.1.0.0 ndmp problem ndmp: avoid isilon 9.1.0.0 'Invalid nlist.tape_offset -1' error Jan 18, 2022
@pstorz pstorz force-pushed the dev/pstorz/master/fix-isilon-91-ndmp branch from cd1bd61 to d2a9649 Compare January 18, 2022 12:40
Copy link
Contributor

@bruno-at-bareos bruno-at-bareos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I propose to add clearly the default value for the documentation

Copy link
Contributor

@bruno-at-bareos bruno-at-bareos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything is ok, just the changelog entry need to be added.

@pstorz pstorz force-pushed the dev/pstorz/master/fix-isilon-91-ndmp branch from 23729e3 to d2a9649 Compare January 18, 2022 13:20
Copy link
Contributor

@bruno-at-bareos bruno-at-bareos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's 2 suggestions to apply to align version to 20.0.6 as we do the backport to 20.
Then a CHANGELOG commit is needed.

@pstorz pstorz changed the title ndmp: avoid isilon 9.1.0.0 'Invalid nlist.tape_offset -1' error ndmp: introduce workaround for isilon 9.1.0.0 'Invalid nlist.tape_offset -1' error Feb 4, 2022
pstorz and others added 3 commits February 4, 2022 10:12
The isilon 9.1.0.0 release seems to have added a sanity check in ndmp
that checks that the tape offsets are on 512B boundaries.

The following error is issued when a restore is triggered to a isilon
9.1.0.0 system:

  'Invalid nlist.tape_offset -1 at index 1 - tape offset not aligned at 512B boundary'

However, -1 is an allowed value (NDMP_INVALID_U_QUAD) and was accepted
on every NDMP implementation we tested against including older isilon
versions.

To fix the problem, the isilon needs to check for NDMP_INVALID_U_QUAD
before it checks for the 512B boundary to fix the problem.

Otherwise we could enable this workaround depending on a new
configuration option.
…hema.json

Co-authored-by: Bruno Friedmann @bareos <89836284+bruno-at-bareos@users.noreply.github.com>
Co-authored-by: Bruno Friedmann @bareos <89836284+bruno-at-bareos@users.noreply.github.com>
@pstorz pstorz force-pushed the dev/pstorz/master/fix-isilon-91-ndmp branch from b3f00f8 to 5f834bd Compare February 4, 2022 09:13
@pstorz pstorz requested a review from arogge February 4, 2022 09:44
@pstorz pstorz force-pushed the dev/pstorz/master/fix-isilon-91-ndmp branch from 5f834bd to 3fb1f1d Compare February 4, 2022 10:58
@arogge arogge merged commit c717320 into master Feb 4, 2022
@arogge arogge deleted the dev/pstorz/master/fix-isilon-91-ndmp branch February 4, 2022 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants