- 论坛徽章:
- 0
|
int Client::_link(Inode *in, Inode *dir, const char *newname, int uid, int gid)
{
MetaRequest *req = new MetaRequest(CEPH_MDS_OP_LINK);
filepath path(newname, dir->ino);
req->set_filepath(path);
filepath existing(in->ino);
req->set_filepath2(existing);
req->dentry_drop = CEPH_CAP_FILE_SHARED;
req->dentry_unless = CEPH_CAP_FILE_EXCL;
req->inode = in;
int res = get_or_create(dir, newname, &req->dentry);
if (res < 0)
return res;
res = make_request(req, uid, gid);
dout(10) << "link result is " << res << dendl;
trim_cache();
dout(3) << "link(" << existing << ", " << path << ") = " << res << dendl;
return res;
}
大概的意思是什么?这是创建符号连接的函数link()的核心函数 |
|