本文整理汇总了C++中FileSystem::GetInode方法的典型用法代码示例。如果您正苦于以下问题:C++ FileSystem::GetInode方法的具体用法?C++ FileSystem::GetInode怎么用?C++ FileSystem::GetInode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileSystem
的用法示例。
在下文中一共展示了FileSystem::GetInode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get_vnode
static status_t
get_new_vnode(fs_volume* volume, ino_t id, VnodeToInode** _vti)
{
FileSystem* fs = reinterpret_cast<FileSystem*>(volume->private_volume);
Inode* inode;
VnodeToInode* vti;
status_t result = acquire_vnode(volume, id);
if (result == B_OK) {
ASSERT(get_vnode(volume, id, reinterpret_cast<void**>(_vti)) == B_OK);
unremove_vnode(volume, id);
// Release after acquire
put_vnode(volume, id);
vti = *_vti;
if (vti->Get() == NULL) {
result = fs->GetInode(id, &inode);
if (result != B_OK) {
put_vnode(volume, id);
return result;
}
vti->Replace(inode);
}
return B_OK;
}
return get_vnode(volume, id, reinterpret_cast<void**>(_vti));
}
示例2: VnodeToInode
static status_t
nfs4_get_vnode(fs_volume* volume, ino_t id, fs_vnode* vnode, int* _type,
uint32* _flags, bool reenter)
{
FileSystem* fs = reinterpret_cast<FileSystem*>(volume->private_volume);
TRACE("volume = %p, id = %" B_PRIi64, volume, id);
VnodeToInode* vnodeToInode = new VnodeToInode(id, fs);
if (vnodeToInode == NULL)
return B_NO_MEMORY;
Inode* inode;
status_t result = fs->GetInode(id, &inode);
if (result != B_OK) {
delete vnodeToInode;
return result;
}
vnodeToInode->Replace(inode);
vnode->ops = &gNFSv4VnodeOps;
vnode->private_node = vnodeToInode;
*_type = inode->Type();
*_flags = 0;
return B_OK;
}