Removing root_squasn from MDS auth caps through "fs authorize" command
should not be allowed as this command it not allowed to/meant for
removing caps.
Fixes: https://tracker.ceph.com/issues/65808
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
c6e2c97c6e9cbf1e37c53d5d490d65091205928c)
Conflict:
- qa/tasks/cephfs/test_admin.py
Test test_idem_unaffected_root_squash (which was fixed by this commit)
was disabled on the main branch since it was buggy. But that wasn't
the case with squid branch.
// fsname and path match but value of root_squash is different. update
// its value.
if (g.match.root_squash != ng.match.root_squash) {
- g.match.root_squash = ng.match.root_squash;
+ // "fs authorize" command is not allowed to deduct caps. so, we can add
+ // but not remove root_squash from MDS auth caps.
+ if (g.match.root_squash == false) {
+ g.match.root_squash = ng.match.root_squash;
+ }
}
// Since fsname and path matched and either perm/spec or root_squash