CEPH_CAP_FILE_EXCL
want |= CEPH_CAP_ANY_SHARED | CEPH_CAP_FILE_EXCL;
w |= CEPH_CAP_FILE_EXCL;
w |= CEPH_CAP_FILE_EXCL;
want |= CEPH_CAP_ANY_SHARED | CEPH_CAP_FILE_EXCL;
if (got & CEPH_CAP_FILE_EXCL)
(need & (CEPH_CAP_FILE_WR | CEPH_CAP_FILE_EXCL))) {
CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL |
if (had & CEPH_CAP_FILE_EXCL)
if (unless & CEPH_CAP_FILE_EXCL)
used |= CEPH_CAP_FILE_EXCL;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
int got = 0, want = CEPH_CAP_FILE_EXCL | CEPH_CAP_DIR_UNLINK;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
req->r_old_dentry_unless = CEPH_CAP_FILE_EXCL;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
req->r_inode_drop = CEPH_CAP_FILE_EXCL;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
int got = 0, want = CEPH_CAP_FILE_EXCL | CEPH_CAP_DIR_CREATE;
req->r_dentry_unless = CEPH_CAP_FILE_EXCL;
(issued & CEPH_CAP_FILE_EXCL) == 0 &&
if (!do_sync && (issued & CEPH_CAP_FILE_EXCL)) {
dirtied |= CEPH_CAP_FILE_EXCL;
release |= CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL |
} else if (!do_sync && (issued & CEPH_CAP_FILE_EXCL) && attr->ia_size >= isize) {
dirtied |= CEPH_CAP_FILE_EXCL;
release |= CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL |
if (!do_sync && (issued & CEPH_CAP_FILE_EXCL)) {
dirtied |= CEPH_CAP_FILE_EXCL;
else if (issued & CEPH_CAP_FILE_EXCL)
dirtied |= CEPH_CAP_FILE_EXCL;
if (issued & (CEPH_CAP_FILE_EXCL|
} else if (issued & CEPH_CAP_FILE_EXCL) {
req->r_inode_drop = CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL;
caps |= CEPH_CAP_FILE_EXCL |
CEPH_CAP_FILE_EXCL)
CEPH_CAP_FILE_EXCL)