vinodeno_t Client::map_faked_ino(ino_t ino)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return _map_faked_ino(ino);
}
inodeno_t Client::get_root_ino()
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (use_faked_inos())
return root->faked_ino;
else
Inode *Client::get_root()
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
root->ll_get();
return root;
}
*/
void Client::update_metadata(std::string const &k, std::string const &v)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
ceph_assert(initialized);
auto it = metadata.find(k);
bool Client::ms_dispatch(Message *m)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (!initialized) {
ldout(cct, 10) << "inactive, discarding " << *m << dendl;
m->put();
void Client::flush_set_callback(ObjectCacher::ObjectSet *oset)
{
- // Mutex::Locker l(client_lock);
+ // std::lock_guard l(client_lock);
ceph_assert(client_lock.is_locked()); // will be called via dispatch() -> objecter -> ...
Inode *in = static_cast<Inode *>(oset->parent);
ceph_assert(in);
string *outs,
Context *onfinish)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (!initialized)
return -ENOTCONN;
int Client::mount(const std::string &mount_root, const UserPerm& perms,
bool require_mds, const std::string &fs_name)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (mounted) {
ldout(cct, 5) << "already mounted" << dendl;
void Client::unmount()
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
_unmount(false);
}
void Client::abort_conn()
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
_unmount(true);
}
int Client::link(const char *relexisting, const char *relpath, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "link" << std::endl;
tout(cct) << relexisting << std::endl;
tout(cct) << relpath << std::endl;
int Client::unlink(const char *relpath, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
int Client::rename(const char *relfrom, const char *relto, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relfrom << std::endl;
tout(cct) << relto << std::endl;
int Client::mkdir(const char *relpath, mode_t mode, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << mode << std::endl;
int Client::mkdirs(const char *relpath, mode_t mode, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 10) << "Client::mkdirs " << relpath << dendl;
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
int Client::rmdir(const char *relpath, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
int Client::mknod(const char *relpath, mode_t mode, const UserPerm& perms, dev_t rdev)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << mode << std::endl;
int Client::symlink(const char *target, const char *relpath, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << target << std::endl;
tout(cct) << relpath << std::endl;
int Client::readlink(const char *relpath, char *buf, loff_t size, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
int Client::setattr(const char *relpath, struct stat *attr, int mask,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << mask << std::endl;
int Client::setattrx(const char *relpath, struct ceph_statx *stx, int mask,
const UserPerm& perms, int flags)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << mask << std::endl;
int Client::fsetattr(int fd, struct stat *attr, int mask, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << mask << std::endl;
int Client::fsetattrx(int fd, struct ceph_statx *stx, int mask, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << mask << std::endl;
frag_info_t *dirstat, int mask)
{
ldout(cct, 3) << __func__ << " enter (relpath " << relpath << " mask " << mask << ")" << dendl;
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "stat" << std::endl;
tout(cct) << relpath << std::endl;
unsigned int want, unsigned int flags)
{
ldout(cct, 3) << __func__ << " enter (relpath " << relpath << " want " << want << ")" << dendl;
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "statx" << std::endl;
tout(cct) << relpath << std::endl;
const UserPerm& perms, frag_info_t *dirstat, int mask)
{
ldout(cct, 3) << __func__ << " enter (relpath " << relpath << " mask " << mask << ")" << dendl;
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
int Client::chmod(const char *relpath, mode_t mode, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << mode << std::endl;
int Client::fchmod(int fd, mode_t mode, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << mode << std::endl;
int Client::lchmod(const char *relpath, mode_t mode, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << mode << std::endl;
int Client::chown(const char *relpath, uid_t new_uid, gid_t new_gid,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << new_uid << std::endl;
int Client::fchown(int fd, uid_t new_uid, gid_t new_gid, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << new_uid << std::endl;
int Client::lchown(const char *relpath, uid_t new_uid, gid_t new_gid,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << new_uid << std::endl;
int Client::utimes(const char *relpath, struct timeval times[2],
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << "atime: " << times[0].tv_sec << "." << times[0].tv_usec
int Client::lutimes(const char *relpath, struct timeval times[2],
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << "atime: " << times[0].tv_sec << "." << times[0].tv_usec
int Client::futimens(int fd, struct timespec times[2], const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << "atime: " << times[0].tv_sec << "." << times[0].tv_nsec
int Client::flock(int fd, int operation, uint64_t owner)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << operation << std::endl;
int Client::opendir(const char *relpath, dir_result_t **dirpp, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << relpath << std::endl;
int Client::closedir(dir_result_t *dir)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << (unsigned long)dir << std::endl;
void Client::rewinddir(dir_result_t *dirp)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << "(" << dirp << ")" << dendl;
if (unmounting)
void Client::seekdir(dir_result_t *dirp, loff_t offset)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << "(" << dirp << ", " << offset << ")" << dendl;
{
int caps = statx_to_mask(flags, want);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
{
ldout(cct, 3) << "getdir(" << relpath << ")" << dendl;
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "getdir" << std::endl;
tout(cct) << relpath << std::endl;
}
int object_size, const char *data_pool)
{
ldout(cct, 3) << "open enter(" << relpath << ", " << ceph_flags_sys2wire(flags) << "," << mode << ")" << dendl;
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "open" << std::endl;
tout(cct) << relpath << std::endl;
tout(cct) << ceph_flags_sys2wire(flags) << std::endl;
int Client::lookup_hash(inodeno_t ino, inodeno_t dirino, const char *name,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << " enter(" << ino << ", #" << dirino << "/" << name << ")" << dendl;
if (unmounting)
int Client::lookup_ino(inodeno_t ino, const UserPerm& perms, Inode **inode)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return _lookup_ino(ino, perms, inode);
}
int Client::lookup_parent(Inode *ino, const UserPerm& perms, Inode **parent)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return _lookup_parent(ino, perms, parent);
}
int Client::lookup_name(Inode *ino, Inode *parent, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return _lookup_name(ino, parent, perms);
}
int Client::close(int fd)
{
ldout(cct, 3) << "close enter(" << fd << ")" << dendl;
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "close" << std::endl;
tout(cct) << fd << std::endl;
loff_t Client::lseek(int fd, loff_t offset, int whence)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "lseek" << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << offset << std::endl;
int Client::read(int fd, char *buf, loff_t size, loff_t offset)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "read" << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << size << std::endl;
int Client::write(int fd, const char *buf, loff_t size, loff_t offset)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "write" << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << size << std::endl;
int Client::_preadv_pwritev(int fd, const struct iovec *iov, unsigned iovcnt, int64_t offset, bool write)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << fd << std::endl;
tout(cct) << offset << std::endl;
int Client::ftruncate(int fd, loff_t length, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << length << std::endl;
int Client::fsync(int fd, bool syncdataonly)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "fsync" << std::endl;
tout(cct) << fd << std::endl;
tout(cct) << syncdataonly << std::endl;
int Client::fstat(int fd, struct stat *stbuf, const UserPerm& perms, int mask)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "fstat mask " << hex << mask << dec << std::endl;
tout(cct) << fd << std::endl;
int Client::fstatx(int fd, struct ceph_statx *stx, const UserPerm& perms,
unsigned int want, unsigned int flags)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "fstatx flags " << hex << flags << " want " << want << dec << std::endl;
tout(cct) << fd << std::endl;
int Client::chdir(const char *relpath, std::string &new_cwd,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "chdir" << std::endl;
tout(cct) << relpath << std::endl;
void Client::getcwd(string& dir, const UserPerm& perms)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (!unmounting)
_getcwd(dir, perms);
}
int Client::statfs(const char *path, struct statvfs *stbuf,
const UserPerm& perms)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
tout(cct) << __func__ << std::endl;
unsigned long int total_files_on_fs;
{
if (!args)
return;
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
ldout(cct, 10) << __func__ << " cb " << args->handle
<< " invalidate_ino_cb " << args->ino_cb
<< " invalidate_dentry_cb " << args->dentry_cb
int Client::sync_fs()
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (unmounting)
return -ENOTCONN;
int64_t Client::drop_caches()
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
return objectcacher->release_all();
}
int Client::lazyio(int fd, int enable)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
Fh *f = get_filehandle(fd);
if (!f)
return -EBADF;
int Client::ll_lazyio(Fh *fh, int enable)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << " " << fh << " " << fh->inode->ino << " " << !!enable << dendl;
tout(cct) << __func__ << std::endl;
int Client::lazyio_propogate(int fd, loff_t offset, size_t count)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
ldout(cct, 3) << "op: client->lazyio_propogate(" << fd
<< ", " << offset << ", " << count << ")" << dendl;
int Client::lazyio_synchronize(int fd, loff_t offset, size_t count)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
ldout(cct, 3) << "op: client->lazyio_synchronize(" << fd
<< ", " << offset << ", " << count << ")" << dendl;
int Client::mksnap(const char *relpath, const char *name, const UserPerm& perm)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::rmsnap(const char *relpath, const char *name, const UserPerm& perms)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::get_caps_issued(int fd) {
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::get_caps_issued(const char *path, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_lookup(Inode *parent, const char *name, struct stat *attr,
Inode **out, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
vinodeno_t vparent = _get_vino(parent);
ldout(cct, 3) << __func__ << " " << vparent << " " << name << dendl;
tout(cct) << __func__ << std::endl;
const UserPerm& perms,
Inode **inode)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_lookup_inode " << ino << dendl;
// Num1: get inode and *inode
struct ceph_statx *stx, unsigned want, unsigned flags,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
vinodeno_t vparent = _get_vino(parent);
ldout(cct, 3) << __func__ << " " << vparent << " " << name << dendl;
tout(cct) << "ll_lookupx" << std::endl;
int Client::ll_walk(const char* name, Inode **out, struct ceph_statx *stx,
unsigned int want, unsigned int flags, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
bool Client::ll_forget(Inode *in, int count)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return _ll_forget(in, count);
}
int Client::ll_get_snap_ref(snapid_t snap)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
auto p = ll_snap_ref.find(snap);
if (p != ll_snap_ref.end())
return p->second;
snapid_t Client::ll_get_snapid(Inode *in)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return in->snapid;
}
Inode *Client::ll_get_inode(ino_t ino)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return NULL;
Inode *Client::ll_get_inode(vinodeno_t vino)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return NULL;
int Client::ll_getattr(Inode *in, struct stat *attr, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_getattrx(Inode *in, struct ceph_statx *stx, unsigned int want,
unsigned int flags, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_setattrx(Inode *in, struct ceph_statx *stx, int mask,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
struct ceph_statx stx;
stat_to_statx(attr, &stx);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::getxattr(const char *path, const char *name, void *value, size_t size,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::lgetxattr(const char *path, const char *name, void *value, size_t size,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::fgetxattr(int fd, const char *name, void *value, size_t size,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::listxattr(const char *path, char *list, size_t size,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::llistxattr(const char *path, char *list, size_t size,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::flistxattr(int fd, char *list, size_t size, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::removexattr(const char *path, const char *name,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::lremovexattr(const char *path, const char *name,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::fremovexattr(int fd, const char *name, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
{
_setxattr_maybe_wait_for_osdmap(name, value, size);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
{
_setxattr_maybe_wait_for_osdmap(name, value, size);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
{
_setxattr_maybe_wait_for_osdmap(name, value, size);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_getxattr(Inode *in, const char *name, void *value,
size_t size, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_listxattr(Inode *in, char *names, size_t size,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
{
_setxattr_maybe_wait_for_osdmap(name, value, size);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_removexattr(Inode *in, const char *name, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_readlink(Inode *in, char *buf, size_t buflen, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
dev_t rdev, struct stat *attr, Inode **out,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
const UserPerm& perms)
{
unsigned caps = statx_to_mask(flags, want);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_mkdir(Inode *parent, const char *name, mode_t mode,
struct stat *attr, Inode **out, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
struct ceph_statx *stx, unsigned want, unsigned flags,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_symlink(Inode *parent, const char *name, const char *value,
struct stat *attr, Inode **out, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
Inode **out, struct ceph_statx *stx, unsigned want,
unsigned flags, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_unlink(Inode *in, const char *name, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_rmdir(Inode *in, const char *name, const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_rename(Inode *parent, const char *name, Inode *newparent,
const char *newname, const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_link(Inode *in, Inode *newparent, const char *newname,
const UserPerm& perm)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_num_osds(void)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return objecter->with_osdmap(std::mem_fn(&OSDMap::get_num_osds));
}
int Client::ll_osdaddr(int osd, uint32_t *addr)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
entity_addr_t g;
bool exists = objecter->with_osdmap([&](const OSDMap& o) {
uint32_t Client::ll_stripe_unit(Inode *in)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return in->layout.stripe_unit;
}
uint64_t Client::ll_snap_seq(Inode *in)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
return in->snaprealm->seq;
}
int Client::ll_file_layout(Inode *in, file_layout_t *layout)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
*layout = in->layout;
return 0;
}
int Client::ll_get_stripe_osd(Inode *in, uint64_t blockno,
file_layout_t* layout)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
inodeno_t ino = in->ino;
uint32_t object_size = layout->object_size;
uint64_t Client::ll_get_internal_offset(Inode *in, uint64_t blockno)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
file_layout_t *layout=&(in->layout);
uint32_t object_size = layout->object_size;
uint32_t su = layout->stripe_unit;
int Client::ll_opendir(Inode *in, int flags, dir_result_t** dirpp,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_releasedir(dir_result_t *dirp)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_releasedir " << dirp << dendl;
tout(cct) << "ll_releasedir" << std::endl;
tout(cct) << (unsigned long)dirp << std::endl;
int Client::ll_fsyncdir(dir_result_t *dirp)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_fsyncdir " << dirp << dendl;
tout(cct) << "ll_fsyncdir" << std::endl;
tout(cct) << (unsigned long)dirp << std::endl;
{
ceph_assert(!(flags & O_CREAT));
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int flags, struct stat *attr, Inode **outp, Fh **fhp,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
InodeRef in;
if (unmounting)
const UserPerm& perms)
{
unsigned caps = statx_to_mask(lflags, want);
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
InodeRef in;
if (unmounting)
loff_t Client::ll_lseek(Fh *fh, loff_t offset, int whence)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << "ll_lseek" << std::endl;
tout(cct) << offset << std::endl;
tout(cct) << whence << std::endl;
int Client::ll_read(Fh *fh, loff_t off, loff_t len, bufferlist *bl)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_read " << fh << " " << fh->inode->ino << " " << " " << off << "~" << len << dendl;
tout(cct) << "ll_read" << std::endl;
tout(cct) << (unsigned long)fh << std::endl;
uint64_t length,
file_layout_t* layout)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
uint64_t offset,
uint64_t length)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
/*
BarrierContext *bctx;
vinodeno_t vino = _get_vino(in);
int Client::ll_write(Fh *fh, loff_t off, loff_t len, const char *data)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_write " << fh << " " << fh->inode->ino << " " << off <<
"~" << len << dendl;
tout(cct) << "ll_write" << std::endl;
int64_t Client::ll_writev(struct Fh *fh, const struct iovec *iov, int iovcnt, int64_t off)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
return _preadv_pwritev_locked(fh, iov, iovcnt, off, true, false);
int64_t Client::ll_readv(struct Fh *fh, const struct iovec *iov, int iovcnt, int64_t off)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
return _preadv_pwritev_locked(fh, iov, iovcnt, off, false, false);
int Client::ll_flush(Fh *fh)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_flush " << fh << " " << fh->inode->ino << " " << dendl;
tout(cct) << "ll_flush" << std::endl;
tout(cct) << (unsigned long)fh << std::endl;
int Client::ll_fsync(Fh *fh, bool syncdataonly)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_fsync " << fh << " " << fh->inode->ino << " " << dendl;
tout(cct) << "ll_fsync" << std::endl;
tout(cct) << (unsigned long)fh << std::endl;
int Client::ll_sync_inode(Inode *in, bool syncdataonly)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_sync_inode " << *in << " " << dendl;
tout(cct) << "ll_sync_inode" << std::endl;
tout(cct) << (unsigned long)in << std::endl;
int Client::ll_fallocate(Fh *fh, int mode, int64_t offset, int64_t length)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << " " << fh << " " << fh->inode->ino << " " << dendl;
tout(cct) << __func__ << " " << mode << " " << offset << " " << length << std::endl;
tout(cct) << (unsigned long)fh << std::endl;
int Client::fallocate(int fd, int mode, loff_t offset, loff_t length)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
tout(cct) << __func__ << " " << " " << fd << mode << " " << offset << " " << length << std::endl;
if (unmounting)
int Client::ll_release(Fh *fh)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::ll_getlk(Fh *fh, struct flock *fl, uint64_t owner)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << "ll_getlk (fh)" << fh << " " << fh->inode->ino << dendl;
tout(cct) << "ll_getk (fh)" << (unsigned long)fh << std::endl;
int Client::ll_setlk(Fh *fh, struct flock *fl, uint64_t owner, int sleep)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << " (fh) " << fh << " " << fh->inode->ino << dendl;
tout(cct) << __func__ << " (fh)" << (unsigned long)fh << std::endl;
int Client::ll_flock(Fh *fh, int cmd, uint64_t owner)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
ldout(cct, 3) << __func__ << " (fh) " << fh << " " << fh->inode->ino << dendl;
tout(cct) << __func__ << " (fh)" << (unsigned long)fh << std::endl;
int Client::set_deleg_timeout(uint32_t timeout)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
/*
* The whole point is to prevent blacklisting so we must time out the
{
int ret = -EINVAL;
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (!mounted)
return -ENOTCONN;
req->get();
}
void finish(int r) override {
- Mutex::Locker l(client->client_lock);
+ std::lock_guard l(client->client_lock);
ceph_assert(req->head.op == CEPH_MDS_OP_SETFILELOCK);
client->_interrupt_filelock(req);
client->put_request(req);
int Client::describe_layout(const char *relpath, file_layout_t *lp,
const UserPerm& perms)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::fdescribe_layout(int fd, file_layout_t *lp)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int64_t Client::get_default_pool_id()
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int64_t Client::get_pool_id(const char *pool_name)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
string Client::get_pool_name(int64_t pool)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return string();
int Client::get_pool_replication(int64_t pool)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::get_file_extent_osds(int fd, loff_t off, loff_t *len, vector<int>& osds)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::get_osd_crush_location(int id, vector<pair<string, string> >& path)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::get_file_stripe_address(int fd, loff_t offset,
vector<entity_addr_t>& address)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::get_osd_addr(int osd, entity_addr_t& addr)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
int Client::enumerate_layout(int fd, vector<ObjectExtent>& result,
loff_t length, loff_t offset)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
/* find an osd with the same ip. -ENXIO if none. */
int Client::get_local_osd()
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (unmounting)
return -ENOTCONN;
void Client::ms_handle_remote_reset(Connection *con)
{
ldout(cct, 0) << __func__ << " on " << con->get_peer_addr() << dendl;
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
switch (con->get_peer_type()) {
case CEPH_ENTITY_TYPE_MDS:
{
void Client::set_filer_flags(int flags)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
ceph_assert(flags == 0 ||
flags == CEPH_OSD_FLAG_LOCALIZE_READS);
objecter->add_global_op_flags(flags);
void Client::clear_filer_flags(int flags)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
ceph_assert(flags == CEPH_OSD_FLAG_LOCALIZE_READS);
objecter->clear_global_op_flag(flags);
}
// called before mount
void Client::set_uuid(const std::string& uuid)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
assert(initialized);
assert(!uuid.empty());
// called before mount. 0 means infinite
void Client::set_session_timeout(unsigned timeout)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
assert(initialized);
metadata["timeout"] = stringify(timeout);
int Client::start_reclaim(const std::string& uuid, unsigned flags,
const std::string& fs_name)
{
- Mutex::Locker l(client_lock);
+ std::lock_guard l(client_lock);
if (!initialized)
return -ENOTCONN;
void Client::handle_conf_change(const ConfigProxy& conf,
const std::set <std::string> &changed)
{
- Mutex::Locker lock(client_lock);
+ std::lock_guard lock(client_lock);
if (changed.count("client_cache_mid")) {
lru.lru_set_midpoint(cct->_conf->client_cache_mid);