Conversation
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
@ffilz looks like this needs a rebase |
Rebase pushed. |
|
@ffilz We will target this post reef branching and give it enough time to bake in main branch. |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
@vshankar I'm not certain, but it looks as if this PR hasn't gotten a single review comment from the cephfs team, in 6 months. We are depending on starting a process that allows ganesha devs to get ongoing attention from cephfs devs. Please try to get a review in? |
|
@ffilz this should probably get a rebase. More importantly, there are commits which lack your signed-off-by. Please address that, and try to address the make check failure, after rebasing. |
I did a rebase last week. The unsigned commit is something that hopefully isn't actually needed but I needed it to compile. It's got nothing to do with my code... I will remove that commit before expecting the pull request to be merged. |
|
Clicking on the details for the make check failures doesn't lead to any insight on them... |
No, I was in a hurry and didn't pay attention to the error message. It didn't go because the network connection for my VM was bunged up do to the fuse covering my office tripping (and thus killing my switch)... Should be pushed now... |
|
jenkins retest this please |
|
jenkins test make check |
|
The windows failure is a known issue right now. |
|
jenkins test make check |
1 similar comment
|
jenkins test make check |
|
jenkins test windows |
|
Windows jenkins failure fix: #52427 |
|
jenkins test windows |
|
@ffilz please rebase and push - the windows failure has been fixed and merged. |
For non-blocking I/O, we will want to be able to override block_writes_upfront so rename the member cfg_block_writes_upfront and add an option to pass block_writes_upfront as a parameter along with a member access method so caller can pass cfg_block_writes_upfront. Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
These bits of code need to be invoked from a separate spot when we introduce non-blocking I/O, so break them out now. Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Change waitfor_caps, waitfor_safe and waitfor_commit to Context list. To make a non-blocking version of fsync (to be used for non-blocking write and commit), we need to be able to signal an arbitrary Context on completion of either of these lists. add_nonblocking_onfinish_to_context_list Adds such a Context to the list. Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
The non-blocking flush requires us to be able to re-add to wait_for_caps but if we simply add to the list, we get stuck in an infinite loop. Add a wait_for_caps_pending list to add to, and then when done signalling, we move the wait_for_caps_pending items onto the wait_for_caps list. Also in handle_cap_flush_ack(), we need to complete the caps flushing before signalling since with non-blocking flush, we will be actually examining the caps from the completion rather than signalling a condition variable in the completion. Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
We will need the ability to do an non-blocking write that finishes with fsync so we need non-blocking fsync. Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
This replaces #44991 (async I/O).
This tests as working with Ganesha. I renamed to nonblocking I/O because there was some confusion with Read_Sync_Async that looks a lot better as Read_Sync_Nonblocking. A unit test is included.
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windows