mds: update older versioned sr_t struct(s) to incorporate snapshot visibility flag#65960
mds: update older versioned sr_t struct(s) to incorporate snapshot visibility flag#65960
Conversation
|
@vshankar should i also add an upgrade test case? |
I think it's nice to have a test that verifies this change. We can include it in one of the existing fs:upgrade tests if possible. |
hard to include in an existing test case because we need to: install squid -> create a subvol -> check the visibility flag -> upgrade to tentacle -> verify the visibility flag. I think this needs a separate sub-suite of its own. |
OK. I think you can put it under fs:bugs with a similar flow for upgrade. |
sure, i'll a new sub-suite under fs:bugs. |
Gentle nudge on this @dparmar18 |
on it now |
c3f5b6d to
e25c9f3
Compare
|
@vshankar this passes in teuthology - https://pulpito.ceph.com/dparmar-2025-11-15_17:54:48-fs:bugs-i73550-distro-default-smithi/ |
.../bugs/snapshot_visibility_on_upgrade/tasks/1-test-subvolume-snapshot-default-visibility.yaml
Show resolved
Hide resolved
|
@dparmar18 also check the jenkins failure regarding .qa links as qa code has been added in this change. The test checks is all there is a valid .qa symlink. |
fixed |
|
jenkins test docs |
|
jenkins retest this please |
|
This PR is under test in https://tracker.ceph.com/issues/73938. |
|
Need to retest with https://tracker.ceph.com/issues/74026 |
vshankar
left a comment
There was a problem hiding this comment.
@dparmar18 PTAL (unrelated failure due to another recent merge)
|
…sibility flag - If there is cluster upgrade, the older sr_t structs' flags would not have the SNAPSHOT_VISIBILITY flag bit set which means the existing subvolumes would report 0 instead of 1 for the vxattr ceph.dir.subvolume.snaps.visible which although doesn't lead to any actual denial of access to subvolume snapshots since the client config to respect snapshot visibility is set to false as default but might come as a surprise to any cluster operator if the client config is toggled to true to see the snapshot visibility being denied(since the `flags` is reporting to be 0). So, change the in-memory flags while decoding the sr_t members. - bump up struct_v to 8 while encoding and while decoding, for all the structs older than 8 be assigned SNAPSHOT_VISIBILITY flag in-memory accordingly. Fixes: https://tracker.ceph.com/issues/73550 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
the default flag value should return 1 Fixes: https://tracker.ceph.com/issues/73550 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
|
last push was a rebase |
* refs/pull/65960/head: Reviewed-by: Venky Shankar <vshankar@redhat.com>
Note that fs:upgrade fails currently due to reason mentioned in the above run wiki. However, I have tested this PR locally. Tests will be rerun when fs:upgrade issues is fixed with #66475 |
Fixes: https://tracker.ceph.com/issues/73550
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. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job DefinitionYou must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.