-
Notifications
You must be signed in to change notification settings - Fork 11
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
New px-fuse forked from v2.6.0 with limited set of changes from v2.7.0 #199
base: v2.6.0
Are you sure you want to change the base?
Conversation
Co-authored-by: jrivera-px <[email protected]>
…w interface blk_alloc_queue_rh. Add explicit check for this api for now. (#184)
* compilation fixes in 5.9/5.10 kernel Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
* SLES/Suse 4.12.x compile fixes. * Use a 'defined' entry instead of 'not defined' entry * Consolidate duplicate code to pxd_compat.h and wrap cond to 80 cols * Fix compilation issue. Co-authored-by: [email protected] <[email protected]>
Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
* Use the existing pxd_io_tracker obj. * Change version check to Fix undefined declarations for 5.8 kernels. Fix iot not declared error. * Use the existing pxd_io_tracker obj.
* address race between restart and new req processing Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
* address race between restart and new req processing Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
fdb53d6
to
2d040d0
Compare
Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
pxd_fastpath_stub.c
Outdated
@@ -1,11 +1,9 @@ | |||
/* Enable stub action if fastpath is not enabled */ | |||
#ifndef __PX_FASTPATH__ |
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.
this line should be included back. makefile is fixed to not defined PX_FASTPATH
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.
revised
Signed-off-by: Lakshmi Narasimhan Sundararajan <[email protected]>
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.
changes look good to me.
@@ -0,0 +1,160 @@ | |||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
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.
Can we add a note on such header files indicating that they are included for build purpose only?
This reverts commit 2485f5f.
void pxd_fastpath_adjust_limits(struct pxd_device *pxd_dev, struct request_queue *topque) {} | ||
int pxd_suspend_state(struct pxd_device *pxd_dev) {return 0;} | ||
|
||
void pxd_suspend_io(struct pxd_device* pxd_dev) { } | ||
void pxd_resume_io(struct pxd_device* pxd_dev) { } | ||
int pxd_switch_fastpath(struct pxd_device* pxd_dev) {return -1;} | ||
int pxd_switch_nativepath(struct pxd_device* pxd_dev) {return -1;} |
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.
traces for these functions where we dont expect them to be called? I would have said ASSERTs but I am not sure if a kernel panic is what we want. Is there any other way to ensure these functions are not getting called, perhaps a test only module which will have asserts here.
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.
it's not that they can't be called, we are not going to advertise fastpath.
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) | ||
#define BLK_QC_RETVAL BLK_QC_T_NONE | ||
blk_qc_t pxd_make_request_fastpath(struct bio *bio) | ||
{ |
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.
This function should definitely assert hard. When fastpath function is stubbed, IO cannot be received/processed.
fuse_end_queued_requests(fc); | ||
spin_unlock(&fc->lock); |
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.
Sanity and perf regression test done.
Smoke pass: https://jenkins.portworx.dev/job/DEV/job/Porx-03/533
BVT running: https://jenkins.portworx.dev/job/DEV/job/Porx-03/534/
Upgrade test running: 2.6 to 2.7, 2.7 to master
Px-fuse build test done covering the following:
3.10.0-1127.el7.x86_64
3.10.0-1160.11.1.el7.x86_64
3.10.0-327.36.3.el7.x86_64
3.10.0-957.21.3.el7.x86_64
4.12.2-1.el7.elrepo.x86_64
4.16.3-301.fc28.x86_64
4.18.0-1.el7.elrepo.x86_64
4.18.0-193.29.1.el8_2.x86_64
4.18.0-193.el8.x86_64
4.18.0-240.1.1.el8_3.x86_64
4.18.0-257.el8.x86_64
4.18.0-259.el8.x86_64
4.18.0-269.el8.x86_64
4.20.13-1.el7.elrepo.x86_64
5.4.101-1.el7.elrepo.x86_64
5.6.15-1.el7.elrepo.x86_64
5.8.11-1.el8.elrepo.x86_64
5.8.9-1.el7.elrepo.x86_64
5.9.6-1.el7.elrepo.x86_64
3.10.0-1160.15.2.el7.x86_64
4.13.9-300.fc27.x86_64
4.14.186-146.268.amzn2.x86_64
4.14.214-160.339.amzn2.x86_64
4.18.0-147.20.1.el8_1.x86_64
4.18.0-147.el8.x86_64
4.18.0-193.14.2.el8_2.x86_64
4.18.0-193.23.1.el8_2.x86_64
4.18.0-193.24.1.el8_2.dt1.x86_64
4.18.0-240.15.1.el8_3.x86_64
4.18.0-80.1.2.el8_0.x86_64
4.18.0-80.11.1.el8_0.x86_64
5.0.16-100.fc28.x86_64
5.10.0-1.el7.elrepo.x86_64
5.10.0-1.el8.elrepo.x86_64
5.10.15-1.el7.elrepo.x86_64
5.4.12-1.el7.elrepo.x86_64
5.7.0-1.el7.elrepo.x86_64
5.7.0-1.el8.elrepo.x86_64
5.7.12-1.el7.elrepo.x86_64
5.7.7-1.el7.elrepo.x86_64
5.8.0-1.el7.elrepo.x86_64
5.8.0-1.el8.elrepo.x86_64
5.8.15-301.fc33.x86_64
5.9.0-1.el7.elrepo.x86_64
5.9.0-1.el8.elrepo.x86_64
4.9.0-4-amd64
4.9.0-11-amd64
4.9.0-7-amd64
4.9.0-13-amd64
4.9.0-14-amd64
4.19.0-14-cloud-amd64
4.19.0-8-amd64
4.12.14-120-default
4.12.14-122.12-default
4.12.14-122.17-default
4.12.14-122.20-default
4.12.14-122.23-default
4.12.14-122.26-default
4.12.14-122.29-default
4.12.14-122.32-default
4.12.14-122.37-default
4.12.14-122.41-default
4.12.14-122.46-default
4.12.14-122.51-default
4.12.14-122.54-default
4.12.14-122.57-default
4.12.14-122.60-default
4.12.14-122.7-default
4.12.14-95.13-default
4.12.14-95.16-default
4.12.14-95.19-default
4.12.14-95.24-default
4.12.14-95.29-default
4.12.14-95.32-default
4.12.14-95.37-default
4.12.14-95.40-default
4.12.14-95.45-default
4.12.14-95.48-default
4.12.14-95.51-default
4.12.14-95.54-default
4.12.14-95.6-default
4.4.140-94.42-default
4.4.175-94.79-default
4.4.176-94.88-default
4.4.178-94.91-default
4.4.180-94.100-default
4.4.180-94.97-default
4.12.14-150.14-default
4.12.14-150.17-default
4.12.14-150.22-default
4.12.14-150.27-default
4.12.14-150.32-default
4.12.14-150.35-default
4.12.14-150.38-default
4.12.14-150.41-default
4.12.14-150.47-default
4.12.14-195-default
4.12.14-197.10-default
4.12.14-197.15-default
4.12.14-197.18-default
4.12.14-197.21-default
4.12.14-197.26-default
4.12.14-197.29-default
4.12.14-197.34-default
4.12.14-197.37-default
4.12.14-197.4-default
4.12.14-197.40-default
4.12.14-197.45-default
4.12.14-197.48-default
4.12.14-197.51-default
4.12.14-197.56-default
4.12.14-197.61-default
4.12.14-197.64-default
4.12.14-197.67-default
4.12.14-197.7-default
4.12.14-197.72-default
4.12.14-197.75-default
4.12.14-197.78-default
4.12.14-25.28-default
5.3.18-22-default
5.3.18-24.12-default
5.3.18-24.15-default
5.3.18-24.24-default
5.3.18-24.29-default
5.3.18-24.34-default
5.3.18-24.37-default
5.3.18-24.43-default
5.3.18-24.46-default
5.3.18-24.49-default
5.3.18-24.9-default
4.4.0-185-generic
5.4.0-1029-gke
4.4.0-112-generic
5.4.0-1026-azure
5.4.0-1036-gke
4.4.0-170-generic
5.4.0-1028-gcp
4.4.0-116-generic
4.4.0-190-generic
4.4.0-177-generic
4.15.0-1082-azure
4.4.0-178-generic
4.4.0-184-generic
5.4.0-29-generic
5.4.0-1024-gcp
4.4.0-186-generic
4.4.0-31-generic
4.4.0-187-generic
4.4.0-176-generic
4.4.0-174-generic
5.4.0-1036-azure
4.4.0-193-generic
5.4.0-1036-gcp
5.4.0-65-generic