Download
Desenvolver
Conta
Download
Desenvolver
Login
Forgot Account/Password
Criar Conta
Linguagem
Ajuda
Linguagem
Ajuda
×
Login
Nome de acesso
Senha
×
Forgot Account/Password
Estado tradução de Português
Category:
Software
People
PersonalForge
Magazine
Wiki
Pesquisa
OSDN
>
Pesquisar Software
>
Linux Kernel Documents
>
Wiki
>
internal22-146-問題点など
Linux Kernel Documents
Fork
linux-2.6
linux-2.4.36
Descrição
Project Summary
Developer Dashboard
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Histórico
Código Fonte
Code Repository list
Git
linux-2.6
linux-2.4.36
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
list of ML
edit
|
Title Index
|
Recent Changes
|
Showing Page History #23793
問題点など
移動元のディレクトリから削除したのちに、移動先のディレクトリへの登録が行われるため、どこのディレクトリからも参照されななくなる瞬間がある。このタイミングでシステムがダウンすると、このファイルは失われることになる。
rename処理(ext2_rename)の途中で落ちると、リンクカウントが1の状態のまま二つのディレクトリに登録されてしまう可能性もある。このタイミングでシステムクラッシュしても、fsckにより、容易に修復可能である。ただし、fsck前にこのファイルを削除すると、存在しないiノードを指すディレクトリエントリが残る。
rename処理により上書きされたファイルがリンクされたものであった場合、そのiノードが持つリンク数は遅延書き込みとなっているため、このタイミングでシステムがクラッシュすると、実際にディレクトリに登録されている数より一つ大きいリンク数をiノードが保持してしまう。これは、fsckにより容易に修復可能である。もしfsckを行わずに運用した場合でも、このファイルの削除時に浮きブロックとなるだけであり、ファイルシステム構造破壊には継らない。
移動先のディレクトリの拡張が発生した場合、ディレクトリサイズを保持する移動先ディレクトリiノードを同期書き込みしていない。このタイミングでシステムがクラッシュすると、移動したファイルが参照できなくなる可能性がある。ただし、ファイルシステム構造の破壊に継るものではない。
ディレクトリのrename処理において、".." の更新が遅延書き込みになっている。システムクラッシュが発生すると、移動したディレクトリに古い親ディレクトリ情報が残ることがある。これもfsckにより容易に修正可能である。もし、fsckなしで運用した場合でも、パスサーチルーチンは".." の解決をVFSレベルで行ってしまうため、現在の版のlinuxのアルゴリズムでは正常に動作してしまう。しかし、このディレクトリを再びrenameしようとすると、".." のエラーチェックを行っているため、renameが失敗する。
(NIS)
HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST