EXT2文件系统操作详解
1. 文件删除与移动
当删除文件条目时,如果该条目是块中的第一个但不是唯一的条目,或者位于块的中间,需要将所有后续条目左移以覆盖被删除的条目,并将被删除条目的rec_len加到最后一个条目上,同时不改变父文件的大小。以下是删除前后的块内容示意图:
-删除前:
| delete this entry |<= move these LEFT | ---------------------------------------------– xxxxx|ino rlen nlen NAME |yyy|...|zzz | -----|-------------------|------ size --------- dp cp- 删除后:
-----|---- after move LEFT ------------------– xxxxx|yyy|...|zzz (rec_len += rlen) | ---------------------------------------------–移动后续条目左移可以使用memcpy(dp, cp, size);实现。
2. rmdir函数实现
编程任务是实现