We were avoiding adding a new cap, but _any_ issue is problematic, not just
adds (which we can't really be sure about anyway due to races with client
cap release).
Signed-off-by: Sage Weil <sage@newdream.net>
}
}
- if (cap && valid) {
+ if (!no_caps && valid && cap) {
int likes = get_caps_liked();
int allowed = get_caps_allowed_for_client(client);
int issue = (cap->wanted() | likes) & allowed;
e.cap.mseq = cap->get_mseq();
e.cap.realm = find_snaprealm()->inode->ino();
} else {
+ e.cap.cap_id = 0;
e.cap.caps = 0;
e.cap.seq = 0;
e.cap.mseq = 0;