return in;
}
-int Client::ll_getattr(Inode *in, struct stat *attr, int uid, int gid)
+int Client::_ll_getattr(Inode *in, int uid, int gid)
{
- Mutex::Locker lock(client_lock);
-
vinodeno_t vino = _get_vino(in);
ldout(cct, 3) << "ll_getattr " << vino << dendl;
tout(cct) << "ll_getattr" << std::endl;
tout(cct) << vino.ino.val << std::endl;
- int res;
if (vino.snapid < CEPH_NOSNAP)
- res = 0;
+ return 0;
else
- res = _getattr(in, CEPH_STAT_CAP_INODE_ALL, uid, gid);
+ return _getattr(in, CEPH_STAT_CAP_INODE_ALL, uid, gid);
+}
+
+int Client::ll_getattr(Inode *in, struct stat *attr, int uid, int gid)
+{
+ Mutex::Locker lock(client_lock);
+
+ int res = _ll_getattr(in, uid, gid);
+
if (res == 0)
fill_stat(in, attr);
- ldout(cct, 3) << "ll_getattr " << vino << " = " << res << dendl;
+ ldout(cct, 3) << "ll_getattr " << _get_vino(in) << " = " << res << dendl;
return res;
}
mds_rank_t _get_random_up_mds() const;
+ int _ll_getattr(Inode *in, int uid, int gid);
+
public:
int mount(const std::string &mount_root, bool require_mds=false);
void unmount();