-
Notifications
You must be signed in to change notification settings - Fork 510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pmemobj: introduce fuses against ill-considered use of NDCTL_ENABLE=n #5946
Conversation
Example of failed build: https://github.com/pmem/pmdk/actions/runs/7037275826/job/19151718046?pr=5946#step:4:691 |
75d2a9a
to
7cace0d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐐
Reviewed 1 of 1 files at r1, 1 of 1 files at r2, 1 of 1 files at r3, all commit messages.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @janekmi and @osalyk)
src/libpmemobj/Makefile
line 39 at r3 (raw file):
include ../Makefile.inc # https://www.intel.com/content/www/us/en/developer/articles/technical/build-pmem-apps-with-ras.html
Shall we add this link to the error message?
Code quote:
https://www.intel.com/content/www/us/en/developer/articles/technical/build-pmem-apps-with-ras.html
7cace0d
to
eaa8390
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r4, 1 of 1 files at r5, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @osalyk)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 2 files at r4.
Reviewable status: all files reviewed, 2 unresolved discussions (waiting on @janekmi and @osalyk)
src/libpmemobj/Makefile
line 43 at r4 (raw file):
PMEMOBJ_IGNORE_DIRTY_SHUTDOWN ?= n ifneq ($(PMEMOBJ_IGNORE_DIRTY_SHUTDOWN),y) $(error Libpmemobj without NDCTL cannot detect dirty shutdowns. This may result in silent data corruption. Continuing the build without NDCTL is highly NOT recommended for production quality systems. If you understand the consequences for consistency of your data please set PMEMOBJ_IGNORE_DIRTY_SHUTDOWN=y to silence this error. $(RAS_SUFFIX))
Let's increase readability.
Suggestion:
$(info Libpmemobj without NDCTL cannot detect dirty shutdowns. This may result in silent data corruption. Continuing the build without NDCTL is highly NOT recommended for production quality systems.)
$(info $(RAS_SUFFIX))
$(info If you understand the consequences for consistency of your data, please set PMEMOBJ_IGNORE_DIRTY_SHUTDOWN=y to silence this error.)
$(error )
src/libpmemobj/Makefile
line 48 at r4 (raw file):
PMEMOBJ_IGNORE_BAD_BLOCKS ?= n ifneq ($(PMEMOBJ_IGNORE_BAD_BLOCKS),y) $(error Libpmemobj without NDCTL cannot detect bad blocks up front. This may result in SIGBUS at runtime. Continuing the build without NDCTL is highly NOT recommended for production quality systems. If you understand the consequences for the behaviour of your application at runtime please set PMEMOBJ_IGNORE_BAD_BLOCKS=y to silence this error. $(RAS_SUFFIX))
Suggestion:
$(info Libpmemobj without NDCTL cannot detect bad blocks up front. This may result in SIGBUS at runtime. Continuing the build without NDCTL is highly NOT recommended for production quality systems.)
$(info $(RAS_SUFFIX))
$(info If you understand the consequences for the behaviour of your application at runtime, please set PMEMOBJ_IGNORE_BAD_BLOCKS=y to silence this error.)
$(error )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 1 files at r5, all commit messages.
Reviewable status: all files reviewed, 2 unresolved discussions (waiting on @janekmi and @osalyk)
eaa8390
to
e2c608b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r6, 1 of 1 files at r7, all commit messages.
Reviewable status: all files reviewed, 2 unresolved discussions (waiting on @grom72 and @osalyk)
src/libpmemobj/Makefile
line 43 at r4 (raw file):
Previously, grom72 (Tomasz Gromadzki) wrote…
Let's increase readability.
$(info...)
doesn't stop the build. The rest has been applied.
src/libpmemobj/Makefile
line 48 at r4 (raw file):
PMEMOBJ_IGNORE_BAD_BLOCKS ?= n ifneq ($(PMEMOBJ_IGNORE_BAD_BLOCKS),y) $(error Libpmemobj without NDCTL cannot detect bad blocks up front. This may result in SIGBUS at runtime. Continuing the build without NDCTL is highly NOT recommended for production quality systems. If you understand the consequences for the behaviour of your application at runtime please set PMEMOBJ_IGNORE_BAD_BLOCKS=y to silence this error. $(RAS_SUFFIX))
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r6.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @janekmi and @osalyk)
src/libpmemobj/Makefile
line 43 at r4 (raw file):
Previously, janekmi (Jan Michalski) wrote…
$(info...)
doesn't stop the build. The rest has been applied.
I know, but there is an $(error )
at the end which does the work and stops the build.
src/libpmemobj/Makefile
line 48 at r4 (raw file):
Previously, janekmi (Jan Michalski) wrote…
.
.
src/libpmemobj/Makefile
line 39 at r7 (raw file):
include ../Makefile.inc # Newline character define. Note: Both empty lines are required for it to work.
Do we need such a tricky solution?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @janekmi and @osalyk)
src/libpmemobj/Makefile
line 43 at r4 (raw file):
Previously, grom72 (Tomasz Gromadzki) wrote…
I know, but there is an
$(error )
at the end which does the work and stops the build.
The idea was also to put the link in the middle of the text
e2c608b
to
ed753cb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r8, 1 of 1 files at r9, all commit messages.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @grom72 and @osalyk)
src/libpmemobj/Makefile
line 43 at r4 (raw file):
Previously, grom72 (Tomasz Gromadzki) wrote…
The idea was also to put the link in the middle of the text
Done.
src/libpmemobj/Makefile
line 48 at r4 (raw file):
Previously, grom72 (Tomasz Gromadzki) wrote…
.
Done.
src/libpmemobj/Makefile
line 39 at r7 (raw file):
Previously, grom72 (Tomasz Gromadzki) wrote…
Do we need such a tricky solution?
AFAIK it is the most clean and widely accepted solution. But I think I like yours better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r8.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @janekmi and @osalyk)
src/libpmemobj/Makefile
line 39 at r7 (raw file):
Previously, janekmi (Jan Michalski) wrote…
AFAIK it is the most clean and widely accepted solution. But I think I like yours better.
:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r8, 1 of 1 files at r9, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @janekmi)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 1 files at r9, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @janekmi)
ed753cb
to
44a4f36
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 3 files at r10, 1 of 1 files at r11, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @janekmi)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 3 files at r10, 1 of 1 files at r11, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @grom72)
Signed-off-by: Jan Michalski <jan.michalski@intel.com>
Signed-off-by: Jan Michalski <jan.michalski@intel.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 3 files at r10, 1 of 1 files at r11, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @janekmi)
…(fix) Ref: #5946 Signed-off-by: Jan Michalski <jan.michalski@intel.com>
Requires:
This change is