mask &= ~(CEPH_SETATTR_MTIME|CEPH_SETATTR_ATIME);
}
}
- if (!mask)
+ if (!mask) {
+ in->change_attr++;
return 0;
+ }
force_request:
MetaRequest *req = new MetaRequest(CEPH_MDS_OP_SETATTR);
filepath path;
+
in->make_nosnap_relative_path(path);
req->set_filepath(path);
req->set_inode(in);
// mtime
in->mtime = ceph_clock_now(cct);
+ in->change_attr++;
mark_caps_dirty(in, CEPH_CAP_FILE_WR);
done:
in->inline_version++;
}
in->mtime = ceph_clock_now(cct);
+ in->change_attr++;
mark_caps_dirty(in, CEPH_CAP_FILE_WR);
} else {
if (in->inline_version < CEPH_INLINE_NONE) {
0, true, onfinish,
new C_OnFinisher(onsafe, &objecter_finisher));
in->mtime = ceph_clock_now(cct);
+ in->change_attr++;
mark_caps_dirty(in, CEPH_CAP_FILE_WR);
client_lock.Unlock();
if (size > in->size) {
in->size = size;
in->mtime = ceph_clock_now(cct);
+ in->change_attr++;
mark_caps_dirty(in, CEPH_CAP_FILE_WR);
if (is_quota_bytes_approaching(in)) {
pi->version = cur->pre_dirty();
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
// log + wait
le->metablob.add_client_req(req->get_reqid(), req->get_oldest_client_tid());
inode_t *pi = in->project_inode();
pi->version = in->pre_dirty();
pi->mtime = pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
uint64_t old_size = MAX(pi->size, mdr->client_request->head.args.open.old_size);
if (old_size > 0) {
pi->add_old_pool(old_pool);
pi->version = cur->pre_dirty();
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
// log + wait
mdr->ls = mdlog->get_current_segment();
inode_t *pi = cur->project_inode(px);
pi->version = cur->pre_dirty();
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
pi->xattr_version++;
px->erase(name);
if (!(flags & CEPH_XATTR_REMOVE)) {
inode_t *pi = cur->project_inode(px);
pi->version = cur->pre_dirty();
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
pi->xattr_version++;
px->erase(name);
inode_t *pi = targeti->project_inode();
pi->nlink++;
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
pi->version = tipv;
// log + wait
mdr->add_projected_inode(in); // do this _after_ my dn->pre_dirty().. we apply that one manually.
pi->version = in->pre_dirty();
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
pi->nlink--;
if (pi->nlink == 0)
in->state_set(CInode::STATE_ORPHAN);
if (!silent) {
if (pi) {
pi->ctime = mdr->get_op_stamp();
+ pi->change_attr++;
if (linkmerge)
pi->nlink--;
}
if (tpi) {
tpi->ctime = mdr->get_op_stamp();
+ tpi->change_attr++;
destdn->make_path_string(tpi->stray_prior_path);
tpi->nlink--;
if (tpi->nlink == 0)