作业帮 > 英语 > 作业

英语翻译ext2_find_shared - find the indirect blocks for partial

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:英语作业 时间:2024/07/13 08:18:39
英语翻译
ext2_find_shared - find the indirect blocks for partial truncation.
* @inode:inode in question
* @depth:depth of the affected branch
* @offsets:offsets of pointers in that branch (see ext2_block_to_path)
* @chain:place to store the pointers to partial indirect blocks
* @top:place to the (detached) top of branch
*
* This is a helper function used by ext2_truncate().
*
* When we do truncate() we may have to clean the ends of several indirect
* blocks but leave the blocks themselves alive.Block is partially
* truncated if some data below the new i_size is refered from it (and
* it is on the path to the first completely truncated data block,indeed).
* We have to free the top of that path along with everything to the right
* of the path.Since no allocation past the truncation point is possible
* until ext2_truncate() finishes,we may safely do the latter,but top
* of branch may require special attention - pageout below the truncation
* point might try to populate it.
*
* We atomically detach the top of branch from the tree,store the block
* number of its root in *@top,pointers to buffer_heads of partially
* truncated blocks - in @chain[].bh and pointers to their last elements
* that should not be removed - in @chain[].p.Return value is the pointer
* to last filled element of @chain.
*
* The work left to caller to do the actual freeing of subtrees:
* a) free the subtree starting from *@top
* b) free the subtrees whose roots are stored in
* (@chain[i].p+1 ..end of @chain[i].bh->b_data)
* c) free the subtrees growing from the inode past the @chain[0].p
* (no partially truncated stuff there).
*/
这是一段代码里面的注释
但是并不需要有关编成方面的知识,翻译出大概意思就可以了,
英语翻译ext2_find_shared - find the indirect blocks for partial
ext2_find_shared- 为部分的截断找间接的区块.
*@inode:问题的 inode
*@深度:被影响的支线深度
*@补偿:那一个支线的指标补偿 (ext2_block_to_path)
*@链:放置储存对部分的间接区块的指标
*@顶端:对支线的顶端地方
*
*这是一个被 ext2_truncate 用的辅助程式功能.()
*
* 当我们做我们可能必须清理结束的截短 () 的时候一些间接的
* 区块但是留下区块他们自己活力.区块部份地
* 切断如果在新的 i_size 下面的一些数据从它被提到 (和
* 它是通往第一的路完全地切断了数据区块,的确).
*我们必须连同每件事物一起对权利释放那一个路径的顶端
*路径.自从没有分配过去以后截断点是可能的
*直到 ext2_truncate() 完成,我们可能安全地做比较后者 ,但是顶端
* 支线可能需要特别的注意 - pageout 在截断下面
*点可能试着居住在它.
*
*我们原子地分离来自树的树枝顶端,储存区块
* 它的根数目在 *@顶端,buffer_heads 的指标部份地
* 切断了区块 - 在 @链[].对他们的最后元件的 bh 和指标
* 不应该被移动 - 在 @链[].p.返回数值是指标
* 最后填充了元件 @链.
*
* 工作对来电者离开做那真实的免于次树:
*一) 释放次树出发从 *@顶端
*b) 释放根被储存的次树在
*(@用铁链锁住 [i].p+1..结束 @用铁链锁住 [i].bh->b_data)
*c) 释放次树从 inode 增加越过那 @链[0].p
*.( 没有部份地切断了东西那里)
*/