{
_reset_faked_inos();
- _dir_vxattrs_name_size = _vxattrs_calcu_name_size(_dir_vxattrs);
- _file_vxattrs_name_size = _vxattrs_calcu_name_size(_file_vxattrs);
-
user_id = cct->_conf->client_mount_uid;
group_id = cct->_conf->client_mount_gid;
return NULL;
}
-size_t Client::_vxattrs_calcu_name_size(const VXattr *vxattr)
-{
- size_t len = 0;
- while (!vxattr->name.empty()) {
- if (!vxattr->hidden)
- len += vxattr->name.length() + 1;
- vxattr++;
- }
- return len;
-}
-
int Client::ll_readlink(Inode *in, char *buf, size_t buflen, const UserPerm& perms)
{
std::lock_guard lock(client_lock);
bool _vxattrcb_snap_btime_exists(Inode *in);
size_t _vxattrcb_snap_btime(Inode *in, char *val, size_t size);
- size_t _vxattrs_calcu_name_size(const VXattr *vxattrs);
-
static const VXattr *_get_vxattrs(Inode *in);
static const VXattr *_match_vxattr(Inode *in, const char *name);
- size_t _vxattrs_name_size(const VXattr *vxattrs) {
- if (vxattrs == _dir_vxattrs)
- return _dir_vxattrs_name_size;
- else if (vxattrs == _file_vxattrs)
- return _file_vxattrs_name_size;
- return 0;
- }
-
int _do_filelock(Inode *in, Fh *fh, int lock_type, int op, int sleep,
struct flock *fl, uint64_t owner, bool removing=false);
int _interrupt_filelock(MetaRequest *req);
uint32_t deleg_timeout = 0;
- size_t _file_vxattrs_name_size;
- size_t _dir_vxattrs_name_size;
client_switch_interrupt_callback_t switch_interrupt_cb = nullptr;
client_remount_callback_t remount_cb = nullptr;