std::basic_string<char,std::char_traits<char>,Allocator<char>> stray_prior_path; //stores path before unlink
std::vector<uint8_t,Allocator<uint8_t>> fscrypt_auth;
- std::vector<uint8_t> fscrypt_file;
+ std::vector<uint8_t,Allocator<uint8_t>> fscrypt_file;
bufferlist fscrypt_last_block;
m->size = i->size;
m->truncate_seq = i->truncate_seq;
m->truncate_size = i->truncate_size;
- m->fscrypt_file = i->fscrypt_file;
+ m->fscrypt_file.assign(i->fscrypt_file.begin(), i->fscrypt_file.end());
m->fscrypt_auth.assign(i->fscrypt_auth.begin(), i->fscrypt_auth.end());
m->mtime = i->mtime;
m->atime = i->atime;
pi->time_warp_seq = m->get_time_warp_seq();
}
if (m->fscrypt_file.size())
- pi->fscrypt_file = m->fscrypt_file;
+ pi->fscrypt_file.assign(m->fscrypt_file.begin(), m->fscrypt_file.end());
}
// auth
if (dirty & CEPH_CAP_AUTH_EXCL) {
dout(10) << "copying fscrypt_auth len " << req->fscrypt_auth.size() << dendl;
_inode->fscrypt_auth.assign(req->fscrypt_auth.begin(), req->fscrypt_auth.end());
- _inode->fscrypt_file = req->fscrypt_file;
+ _inode->fscrypt_file.assign(req->fscrypt_file.begin(), req->fscrypt_file.end());
if (req->get_data().length()) {
auto p = req->get_data().cbegin();
if (mask & CEPH_SETATTR_FSCRYPT_AUTH)
pi.inode->fscrypt_auth.assign(req->fscrypt_auth.begin(), req->fscrypt_auth.end());
if (mask & CEPH_SETATTR_FSCRYPT_FILE)
- pi.inode->fscrypt_file = req->fscrypt_file;
+ pi.inode->fscrypt_file.assign(req->fscrypt_file.begin(), req->fscrypt_file.end());
pi.inode->version = cur->pre_dirty();
pi.inode->ctime = mdr->get_op_stamp();