JPH09106366A - コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法 - Google Patents

コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法

Info

Publication number
JPH09106366A
JPH09106366A JP8217475A JP21747596A JPH09106366A JP H09106366 A JPH09106366 A JP H09106366A JP 8217475 A JP8217475 A JP 8217475A JP 21747596 A JP21747596 A JP 21747596A JP H09106366 A JPH09106366 A JP H09106366A
Authority
JP
Japan
Prior art keywords
computer
file system
failed
operating system
failure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8217475A
Other languages
English (en)
Inventor
Steven T Senator
スティーヴン・ティー・セナター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09106366A publication Critical patent/JPH09106366A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 ユニックス・ファイルシステムのファイルシ
ステム・パニック回復のためのシステム及び方法を実現
して全システムの可用性を増加する。 【構成】 ユニックス・ファイルシステム「UFS」に対
する強化から成り、ファイルシステム・エラーを検出し
て、オンライン修理ができるかどうか決め、それから故
障したファイルシステムをロックし、修復して、アンロ
ックすることによって、全システム可用性を増加する、
コンピューター・オペレーティング・システムに対す
る、ファイルシステム・パニック回復のためのシステム
及び方法である。次の故障までの時間と従属するスレッ
ドの平均修復時間が修理に必要な時間だけに減少するこ
とによって、独立のスレッドの故障までの平均時間が増
加するので、全計算機システムの可用性が増加する。開
示されたシステムと方法は、使用中に修理することを許
し、ユーザーレベルから呼ぶことができて、特定のスレ
ッドだけのブロッキングを許す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】一般に本発明は、コンピューター
・オペレーティングシステム「OS」のファイルシステム
「FS」の分野に関連がある。特に、本発明は、ファイル
システム「パニック回復」に対する「誤りロック」を選
択的にインプリメントし、削除する方法およびシステム
に関連する。これは、ユニックス・システムVファイル
システム(「VFS」、同様に「VFSop」又は「Vnode」と
して名を知られている)階層又は同様のOSファイルシス
テム・インターフェースを含んでいるコンピューター・
オペレーティングシステムに関する特別なユーティリテ
ィである。
【0002】
【従来の技術】
【0003】
【発明が解決しようとする課題】コンピューターの大量
記憶媒体上の名をつけられたオブジェクトを記憶したも
のであるようなファイルのグループ化として、ファイル
システムは定義できる。このように、ファイル・システ
ムは、そのファイルシステムが適当に作用するために、
お互いが全く一致していなければならない一組のメモリ
ー上とディスク上のデータ構造を保守する。これらのデ
ータ構造が一貫していないとき、例えばユニックス・オ
ペレーティングシステムは、強制的なトータルシステム
しゃ断「パニック」を実施する。それから、この「パニ
ック」は、コンピュータ・システムをシャットダウン
し、全てのディスク上の矛盾の修復と正常な系統運用の
リジュームをするために必要な時間の間、全部のシステ
ムを利用できなくする。
【0004】ユニックスへのロックFS「lockfs」機能
性の追加を通して、任意のファイルシステムのために一
般的にインプリメントされてもよい全ファイルシステム
をロックする能力が、提示された。この特長は、ロック
の違なる種類に従って選ばれたオペレーションを抑止す
る能力を提供する。例えば、ファイルシステムは、抑止
されていた他のいかなるオペレーションもなく、一時的
かつ選択的に変更不可能にされることができる(例え
ば、ここでファイルが、削除されるのを妨げられること
ができる)。「抑止された」オペレーションは、ファイ
ルシステムが再びロックを解かれるまで単に待つだけも
のである。この点について、「削除ロック」又は「ネー
ム・ロック」は、ファイルシステムが、依然として、ほ
んのある程度の定義済み方法だけにおいて変わることが
できる一種のロックである。ロックされたファイルシス
テムへのアクセスは、そのファイルシステムのロックが
解除されるまでの認め得るディレイを生ずる。
【0005】これに対して、「ハード・ロック」は特定
のファイルシステムが単に更なるアクセスから除外され
るものである。例えば、記憶媒体欠陥が検出され、デー
タ・リカバリ動作が実現されなければならないとき、ハ
ード・ロックは起動される。ハード・ロックは、ネーム
スペースからファイルシステムを削除しない、しかし、
エラーにより失敗したその内部の何れへもアクセスし、
そしてハード・ロックをクリアする方法は、ファイルシ
ステムをアンマウントすることだけである。特に、与え
られたコンピューター上のファイルシステムが整合性問
題を持っていれば、コンピューターは「ダウン」し、そ
れが提供するサービスの全てが、全てのユーザーから利
用できなくなる。この整合性問題に遭遇するのが、偶然
ネットワーク上のサーバ・コンピューターであるとき、
これは、既存のクライアント-サーバ計算機システムに
おいて特に緊急で高価な状況である。
【0006】システム故障時間を避ける試みにおいて、
ファイルシステムそれ自身にチェック・アルゴリズムを
埋めこむことは、以前に提案された。この手法の典型
は、チェックが二相コミット・プロトコルを利用してい
るコアにおいてされる、ヴェリタス(Veritas)からのV
XFSソフトウェアと、よりデータベース風のモデルに構
築したIBMジャーナルド・ファイルシステム「JFS」であ
る。いずれにせよ、チェック機能をインプリメントする
ためにファイルシステムに追加した、追加の中央処理装
置(CPU)「オーバーヘッド」が、全体的により遅い
システム動作をもたらした。アウスペックス(Auspex)
によって実現されたもう一つのチェックのアプローチ
は、単にファイルシステム・オペレーションを提供する
だけに特化されたCPU上で動作するアルゴリズムを利
用する。従って結果として生じるシステムは、それが設
計された特別なハードウェア・インプリメンテーション
に特有であり、したがって他のアーキテクチャに対して
限られた適用可能性しか備えていない。
【0007】
【課題を解決するための手段】本発明のシステムと方法
は、ファイルシステム「パニック回復」を実現するため
に用いられる「誤りロック」と命名される代替ファイル
システム・ロッキング機構を既存の「書き込み」及び
「ハード」ロックに提供する。本明細書において開示さ
れたように、誤りロックは(ハード・ロックのように)
すべてをロックするが、ファイルシステムが一貫させら
れたあと、(書込みロックのように)依然としてロック
を解除されることができる。本発明のシステムと方法を
利用すれば、エラーに遭遇した特定のファイルシステム
と、そのファイルシステム・サービスを用いていた特定
のユーザーが影響されるだけで、これにより独立したユ
ーザーにとっての全システムの可用性が大いに増加す
る。
【0008】本発明のファイルシステム・パニック回復
システムと方法は、ユニックス・ファイルシステム「UF
S」を拡張して、ファイルシステム・エラーを検出し
て、オンライン修復ができるかどうか決め、それから故
障したファイルシステムをロックして、修復し、そして
アンロックすることによって全計算機システム可用性を
増やすために役に立つ、特別なユーティリティである。
本明細書において明らかにしたシステムと方法は、VFS
層またはその同等物、任意のシステムVベースのユニッ
クス・システム、IBMのAIXまたはマイクロソフトのNTオ
ペレーティングシステムを含んでいるオペレーティング
システムの上で、同様に有利に実現することができる。
【0009】本発明のシステムと方法が、工夫されたあ
るオンライン・ファイルシステム・チェックへのアプロ
ーチを提供する既存のロック機構の付属物は、モノリシ
ックの上でカーネルを実現して、マルチプロセッサー上
の実行であることができる。それは、使用中にファイル
システム修繕でき、ユーザーレベルから呼ぶことがで
き、そのうえUFSロックファイル・システム「lockfs」
層に、一般のファイルシステム・データ構造とアルゴリ
ズムに関して非侵入的であると同時に特定のスレッドだ
けを抑止させるように修正することができる。
【0010】本明細書において明らかにしたようなコン
ピューター・オペレーティングシステムの故障したファ
イルシステムを選択的にエラーロックするための特定の
方法のインプリメンテーションとその方法を実現するコ
ンピューター・プログラム・プロダクトにおいて、この
方法は、コンピューター・オペレーティングシステムの
故障したファイルシステムにおけるエラー検出し、故障
したファイルシステムのオンライン修復ができるかどう
か決めるステップから成る。この方法は更に、オンライ
ンで修復できるなら故障したファイルシステムをロック
し、 故障したファイルシステムのオンライン修復を成
し遂げて、故障したファイルシステムをアンロックする
ステップから成る。より特定のインプリメンテーション
において、この検出するステップは、故障したファイル
システムにおける矛盾に注目し、故障したファイルシス
テムの矛盾に対応する故障レコードをつくって、その故
障レコードをオペレーティングシステムのロック・スレ
ッドに置くステップによって遂行される。
【0011】同様に、アプリケーションプログラムから
アクセス可能な複数のファイルシステムを持っているオ
ペレーティングシステムにより、アプリケーションプロ
グラムを走らせるのために、その上にロード可能なコン
ピューター・オペレーティングシステムを含むコンピュ
ーターを開示する。オペレーティングシステムは、複数
のファイルシステムの内の故障したものにおけるエラー
を示す故障スレッドと、故障スレッドに応答して開始さ
れたロック・スレッドとを含む。それについて、オンラ
イン修復ができるならば、誤りロックは故障したファイ
ルシステムを選択的にロックするためのロック・スレッ
ドに応答する。複数のファイルシステムの内の故障した
もののオンライン修復が実行されている間、それに他の
スレッドがアクセスすることを禁止するために、ブロッ
クが誤りロックに応答し、その後、ブロックは故障した
ファイルシステムのオンライン修復の完成に応答して削
除される。
【0012】本発明の前記及び他の特長と目的が、そし
て、それらを達成する方法がより明白になるだろう。そ
して発明それ自身が添付の図面に関連してとられた好適
な実施例の以下の記述の引用によって、最もよく理解で
きるだろう。
【0013】
【実施例】本発明が用いられるシステム環境は、汎用コ
ンピューター、ワークステーション・パソコンが、いろ
いろな型の通信リンクを通して、クライアント-サーバ
構成において接続される、一般の分散された計算機シス
テムを包含し、ここで(多くはオブジェクトの形の)プ
ログラムとデータが、システムのいろいろなメンバによ
って実行のために利用可能であり、システムの他のメン
バによってアクセス出来るようにされる。汎用ワークス
テーション・コンピューターの要素のいくつかが、図1
において示される。ここで、入出力(I/O)セクション
2、中央処理装置(CPU)3、及びメモリ・セクショ
ン4を持っているプロセッサ1が示される。I/Oセクシ
ョン2は、キーボード5、表示装置6、磁気ディスク装
置9とコンパクトディスク・リードオンリーメモリ(CD
ROM)駆動装置7に接続している。CDROM装置7は、典型
的にプログラム10とデータを含むCDROM媒体8を読み
とることができる。本発明の装置と方法を成し遂げるた
めに機構を含んでいるコンピューター・プログラム製品
は、そのようなシステムのCDROM 8上、磁気ディスク装
置9上、またはメモリー・セクション4に置くことがで
きる。
【0014】図2を参照すると、図1において記載され
た複数のコンピューターのネットワークから成っている
計算機システムでのアプリケーション・プログラムの実
行の基礎をなしている妥当なユニックス・オペレーティ
ングシステム層20の簡略概念上の図解が示される。図
示された詳細は、「ユーザ」(システム・コール)層2
2、「カーネル」24と「UFS」層26である。カーネ
ル24内部には、UFSモジュール28と、いくらかの例
としてネットワークファイルシステム「NFS」モジュー
ル30が存在する。UFSモジュール28は、例えばファ
イル命名、記憶領域割付けと他のサービスを含むことが
できる。図示のように、(Op1、Op2およびOp3のよう
な)たくさんのオペレーションがVFS層32でUFSモジュ
ール28とNFSモジュール30に生じることができる。
(VFSopまたは Vnode層としても知られている)VFS層3
2は、いろいろなオペレーションを実行すrることがで
きる、カーネル24とUFS層26の間のインターフェー
スである。
【0015】図3を参照すると、以前に図2において記
載したVFS層32を含む、(ユーザー層22、カーネル
24とUFS層26から成る)システム層20が示され
る。それに加えて、記憶装置40が、たくさんのUFSス
レッド38とともに示される。UFSスレッド38は、実
行しているプログラムまたはプログラムコードを実行す
ることができる独立の「もの」として都合よく考えるこ
とができる。(これは複数のスレッドを持つことができ
る独立のものである「プロセス」との対比である)。
【0016】記載した正常動作において、特定のファイ
ルシステム・オペレーションを要求するアプリケーショ
ンプログラムの実行に応じて、UFSスレッド38がユー
ザー層22、カーネル24とVFS層32を介してUFS層2
6に通る。さらに図4を参照すると、ファイルシステム
故障の発生時の以前の図のシステム層20と記憶装置4
0が示される。この点について、以下の定義を参照され
たい:「Authoritative System Reference(命令的シス
テム参照)」または「ASR」はシステムの修正挙動を生
じる仮想のエンティティーである。
【0017】「Error(エラー)」はASRによって生
じたシステム挙動と実際のそれのと間の差である。
【0018】「Fault(フォールト)」はエラーを起こ
す可能性を持つ原因である。「Failure(故障)」はフ
ォールトの表明である。
【0019】「UFS Failure」はその明確に示された動
作からそれているUFSのインスタンスである。あるイン
プリメンテーションにおいて、UFS故障は、「synchrono
us failures(同期故障)」(プログラムコードが、明
示的にチェックする)か、「asynchronous failures
(非同期故障)」(トラップ処理機構によって取り扱わ
れる)のいずれかである。UFS故障の後の型によって提
示された問題は、本明細書において開示されたシステム
と方法に適用できない。
【0020】サン・マイクロシステムズ社(本発明の譲
り受け人)によって開発され、ライセンスを与えられる
ソラリス・オペレーティングシステムの、特定のインプ
リメンテーション内では、同期故障の2つの型に遭遇す
ることができる:「Assertions(アサーション)」また
は「 Asserts(主張)」はプリ・プロダクション・ソフ
トウェアにおいてだけチェックされる条件式である。真
であるとき、システムは強制的にシャットダウンされ
る。
【0021】「Panics(パニック)」は常に、チェック
される条件式である。それらは「永久的なアサーショ
ン」であり、語「panic(パニック)」は「強制された
システム・シャットダウン」を意味するための名詞、そ
して「シャットダウンにシステムを強制する」ことを意
味する動詞としてしばしば用いられる。
【0022】「Failing Thread(故障スレッド)」はUF
S故障が現れる状況におけるスレッドである。従属する
(そして、独立の)スレッドが、故障ファイルシステム
のリソースに依存する(またはしない)スレッドとして
それぞれ、定義される得る。
【0023】「Availability(可用性)」はシステムが
受け入れられる応答時間以内にサービスを提供すること
ができる予想された時間の部分である。重大な影響を伴
わずに短期間サービスを与えず、または遅らせることが
できるシステムを記述することが出来る。それは量的に
次のように定義できる: または代わりに: 本発明のシステムと方法は、システムのユーザーを故障
したファイルシステムに従属するユーザーと従属しない
ユーザーとに分割して、可用性の粒状性を全システムか
らファイル・システム・サービスのそれへ減らすことを
仮定している。
【0024】表1:システム・コール故障セマンティク
ス:ローカルおよびリモート・スレッド 従来のUFSインプリメンテーションにおいて、多量の状
態は、インコアで保持された。しかし、この状態の全て
が、UFSそれ自身によって管理されるのではない。UFS故
障は、このインコア状態の少なくともいくつかが信頼で
きないことを示す。これから回復するために、以下の動
作が、必要である: (1)故障されたファイルシステムは、静止されなけれ
ばならない; (2)不良インコア状態は、破棄されなければならな
い; (3)ディスク上の状態は、少くとも一貫しているよう
に、そして(多分)訂正するために検査されなければな
らない; (4)インコア状態は、一貫した値から再初期化されな
ければならない;そして、 (5)ファイルシステム静止で「止まっていた」オペレ
ーションは、進むために解除されなければならない。
【0025】特にユニックス・オペレーティングシステ
ムにおいて、この問題はpanic()機構によって言及され
る、そして、全てのインコア状態は破棄される。修復と
再初期化は、再起動時に起こる。必要なデーモンが再開
されるまで、プロトコルの性質によって、ネットワーク
ファイルシステム・オペレーションは、停止している。
破棄されたローカル操作は、消失する。fsckによってさ
れる修復を除いてlockfsは上記の機能の全てを実行す
る。UFS故障は、UFS内部の多くの異なる論理レベルで遭
遇されることができる。このように、どの複数または単
数のリソースのロックが故障の時点で保持されているか
に関する保証がない。これは、仮想計算機のようなUFS
が依存する他のサブシステムと同様にUFSリソースとロ
ックに対して真である。伝統的なpanic()ルーチンは、
ロック獲得アルゴリズムにおける明示されたコードによ
って、この問題に対処する。パニックのときは常に、ロ
ック要求は許可され、他の非パニック・スレッドは、実
行することを防げられる。
【0026】lockfsは、ioctl()システム・コールから
起動される。したがって、それはより階層的にリソース
とロックに関して作用する。しかし、特別なケースのコ
ードをUFS lockfsとそれによって起動できる他の全ての
ルーチンに入れることは、追加の機構の採用を必要と
し、一般的UFSデータ構造とアルゴリズムに強制する。
【0027】UFSインプリメンテーションは、アロケー
ション・ビットマップと要約構造内部の冗長情報を含
む。これの効果は、故障が実際のエラーが生じた時より
非常に後の時間に生じる傾向があるということである。
したがって、エラーと故障条件「パニック・ストリン
グ」の間に多対1関係がある。したがって、提案された
機構は、検出された全ての悪い構造を破棄し、そしてそ
れらを一貫した値に再初期化する。結果として、常にそ
れは故障に対処する際の現在のパニック・再起動メカニ
ズムと同様である。
【0028】故障の影響があまりに激しいとき、あるい
は、エラーそれ自身が解決できるときは、修復を試みる
ことは適当でない。これらの影響は、MTTFかMTT
Rが受け入れ不可能に高レベルであるように表せる。他
の表現をすれば、故障が、あまりにしばしば生じている
か、あるいは、故障があまりにたくさんの被害を引き起
こす。これは、一組の新しい調整可能の変数によって制
御可能である。エラーが再現可能であるならば、エラー
をマスクするために本発明のファイルシステム・パニッ
ク回復を用いるよりは、むしろバグをフィックスする方
が正しい。本明細書において開示されたシステムのユー
ティリティと方法は、間欠的に生じて、まだ再現可能で
ないエラーに対処するためのものである。
【0029】一般的なケースにおいて、UFSファイルシ
ステムを訂正する試みが、なされるべきである。しか
し、いくつかの特定のUFSファイルシステムは、それら
に課された追加の制約を持つ。ルート「/」及びユーザ
「/usr」ファイルシステムはfsckを起動する必要があ
る。結果として、それらをロックすることは、デッドロ
ック条件を引き起こす。活動中のカーネル・アカウント
ファイルが在り、あるいはスワッピングが生じることが
できるUFSファイルシステムも、同様のデッドロック条
件をつくることができる。したがって、これらの特定の
ファイルシステムの上で、パニックは起動される。
【0030】世代番号が変化したinodesは、lockfs調和
アルゴリズムによって認識される。古いinodeは、それ
を強制的にアンマウントしたファイルシステム上のファ
イルの参照に現れさせるために修正される。新しいinod
eモードまたはアルゴリズムは、必要でない。割当てino
de(ファイルシステムの割当てファイルと関連させられ
たinode)が削除されるならば、割当て施行はこのファ
イルシステム(closedq()に類似した方法において)の
上で使用禁止にされる、そして、警告メッセージは記録
される。これが「fsck-p」のためのケースで決してな
く、手動の修復がinodeが削除されるようにするために
必要であることに注目されたい。アンリンクされたが、
依然として参照されているファイルは検出可能で、削除
されないだろう。Fsckの出力は、ロガー・コマンドによ
って獲得されて、syslogファイルに送られる。
【0031】図4の典型的な例で示すように、ファイル
システム故障のイベントで、故障スレッド42は、ユー
ザ層22、カーネル24を介してUFS層26へ通る。故
障スレッド42の検出時に、参照番号44で示されたよ
うに、UFS故障レコードがつくられ、ロック・スレッド
46の作業待ち行列の上に置かれる。故障が生じた時ロ
ック・スレッド46は始まり、そしてそれは、本明細書
の下文に記述されるように、記憶装置40上のブロック
にその後はアクセスできないと記録して、そのファイル
システムをロックするように作用する。
【0032】参照番号48で示されるように、それか
ら、故障スレッド42は、エラーを持って復帰する。応
答して、参照番号50において、記憶装置40で、故障
したファイルシステムのスーパーブロックのfs_cleanフ
ラグは不良と記録され、そして、参照番号52によって
示されるように、誤りロック36が不良のファイルシス
テムの上に置かれる。示されるように、誤りロック36
は、VFS層32で他のUFSスレッド54を抑止するのに役
立つ。参照番号56で、lockfsが復帰する時、UFS故障
は状態「LOCKED」へ遷移する。
【0033】ファイルシステムの矛盾が検出されると
き、以前に記述されたプロセスが起動される。しかし、
矛盾はその瞬間に起こることができず、そして、いつそ
れが生じたかを示す十分な情報がその時点で利用可能で
ないので、アプリケーション・チェッカーを必要とす
る。lockfsに関して、与えられたファイルシステムのた
めの、全てのカーネル24の状態(記憶ブロックと関連
する「管理作業」と例えばファイル名)は、スタッブを
除いて破棄される。「アンロック」プロセスは調和と呼
んだロック・ディスク機能をトリガーし、そして、記憶
装置40から現在の状態を検索する。そして、実際それ
は、それの後に残された以前に使用中だったもののため
の全てのスタッブのために記憶装置40から現在の状態
を検索するだけである。したがって、ファイルが変化す
るならば、記憶装置40上のファイルの状態は、正確だ
と仮定される。ファイルがいくらか削除されたならば、
エラーは後に検出される、しかし、それは単なるアプリ
ケーション・エラーであって、ファイルは単に再び書込
まれる。lockfsによって可能化された調和は、このチェ
ックを許す。
【0034】この文脈において、図4は概念的に内部の
データ構造を図示する、しかし、問題があることを実際
に識別するプロセスはエラーコード「erestart」を参照
番号48で提供する。このエラーコードは、いくつかの
アプリケーションのケースにおいて、チェックがその特
定のエラーコードに対して行われ、同じオペレーション
が再びユーザに透過的に試みられるだろうことを意味す
る。それにもかかわらず、全てのオペレーションが再実
行できる訳ではない。例えば、ファイルをつくろうとす
る際に、いくつかのケースにおいては、ファイルをつく
ることは、ファイルシステムが損害を与えられた仕方よ
って非常に難しい。
【0035】さらに図5を参照すると、ロック・スレッ
ド46と関連する図4のシステム層20が示され、修復
プロセスを始めるために参照番号58によって示される
ように、RPCがつくられる。参照番号60で、inetdはRP
Cの生成を通知され、参照番号62で示されるように、U
FSデーモンが始まる。応答において、fsckプロセスが参
照番号64で始まる。その間に、RPCが非同期だったの
で、参照番号66で示されるように、inetdが復帰す
る。参照番号68で、fsckが記憶装置40上のスーパー
ブロックに修復するように記録し、そして、参照番号7
0でUFS故障レコードが「修復中」状態へ遷移する。
【0036】以前に記述されたように、ロック・スレッ
ド46は、修復プロセスを始める。それは、ファイルシ
ステム一貫性チェッカーをカーネル24から呼んで実行
させ、それから、それが実際に始めることを確実にする
ようチェックする。言い換えると、ファイルシステムが
エラーでロックされているならば、lockfsのために以前
に記述されたように、記憶装置40上に残されたある程
度のキーがある。決してコンピューターをデッドロック
させないことは、ロック・スレッド46のジョブの一部
である。従って、所定の期間内に何も起こらないなら
ば、それがエラーを発生させ、システム管理者がそれを
単にサービスの遅延と見えるよりは、注意すべきものと
認識するだろうから、コンピューターはシャットダウン
される。一貫性チェッカーを呼ぶことによって、システ
ムは前進し、ファイルシステムを修復する。
【0037】さらに図6を参照すると、参照番号72
で、fsckがファイルシステム修復を完了し、記憶装置4
0の上でファイルシステムに「クリーン」と記録する。
それからFsckが、参照番号74で同様にlockfs ioctlに
「アンロック」を発行する。応答において、参照番号7
6でlockfsサブモジュールが、UFS故障レコードに「修
復済み」と記録するためにパニック回復ルーチンに呼
ぶ。参照番号78でlockfsは戻り、他のスレッド80
が、誤りロック36(図4)の除去によってUFS層26
まで続く事を許される。
【0038】図7を参照すると、以前に図3-6に関し
て記述された本発明の方法とシステムの特定のインプリ
メンテーションに従うUFS故障のイベントにおける複数
の状態の間の可能な遷移100を図示している状態図が
示される。
【0039】イベント102で、UFS故障が、検出され
た。Struct ufs_failure(又はtypedef uf _t)レコー
ドが、各UFS故障と関連させられる。ファイルシステム
が故障した時、ufsvfspから現在のstruct ufs_failure
へのポインタが、ある。これらは、struct ufs_queueに
よって記述され、UFSスレッドによって用いられる待ち
行列に置かれる。このスレッドは、待ち行列上に非ター
ミナルのufs故障があるときにのみ存在するだけだろ
う。UFSスレッドとその関連させられた待ち行列の間に
は1対1の対応がある。各故障は、関連する状態を持
つ。
【0040】端末状態104、「PANIC」はファイルシ
ステムが修復を許されなかった、ロックできなかった
か、またはUFSパニック回復アルゴリズムが内部エラー
に遭遇したことのいずれかを意味する。それは、全シス
テムに対する端末状態である。
【0041】状態106「UNDEF」は、これらのレコー
ドが新たに割り当てられて、まだ初期状態にされなかっ
たことを意味する。それらの存在は、故障が生じたこと
を意味する。これらは、故障しているスレッドのコンテ
クストにおいて割り当てられる。
【0042】状態108「INIT」は、これらのレコード
が初期状態にされたことを意味する。それらの存在は、
このファイルシステムがロックされる事を許され、修復
できることを意味している。これらは、故障しているス
レッドのコンテクストにおいて初期状態にされる。以下
のUFS制御構造とポインタが、struct ufs_failureにコ
ピーされる。
【0043】 struct buf*uf_bp; /*スーパーブロックを含んでいるptrからbufへ*/ /*スーパーブロック状態をアップデートするために*/ /*用いられる*/ kmutex_t *uf_vfs_lockp;/*ufsvfspを検査し修正するために用いられる*/ struct vfs_ufs *uf_vfs_vufp;/*これが与えられたfsの複製、又は*/ /*オリジナルの故障であるかどうか決める*/ /*ために用いられる;同様にfsにつき*/ /*あまりに頻繁な故障を防ぐために*/ /*用いられる*/ struct vfs *uf_vfsp;/*lockfsを起動し、fsにネームを得ること*/ /*に必要とされる構造を得るために用いられる*/ struct ufsvfs *uf_ufsvfsp; /*non-terminal状態において*/ /*関連させられたufs_failureがある時に*/ /*lockfsを起動し、fsがunmounted/remounted* / /*であるかどうかを決めるために*/ /*必要とされる構造を得るために用いられる* / char uf_fsname[MAXMNTLEN]; /*スーパーブロックからコピーされる;*/ /*fsがunmountedならば、エラー*/ /*メッセージを発生させるために用いられる* / char uf_panic_str[LOCKFS_MAXCOINENTLEN];/*パニックに移るならarg値を*/ /*含むオリジナルのパニックメッセージ*/ /*を印刷するために用いられる*/
【0044】状態110「QUEUE」は、これらのレコー
ドがロック・スレッドのための作業待ち行列の上へ置か
れたことを意味する。ロック衝突のために、いくつかの
ケースにおいてレコードが、作業待ち行列の上に置かれ
るだろうが、この状態において記録されることはできな
い。この場合、ロック・スレッドは、故障レコードの状
態をアップデートするだろう。通常、この状態遷移は、
故障スレッドのコンテクストで生じるだろう。
【0045】端末状態112「REPLICA」は、UFS故障が
すでに故障したファイルシステムに生じたことを意味す
る。ロック・スレッドは、ufsvfsの処理が必要であるの
で、待ち行列状態110からこの状態にレコードを動か
すことに対して責任がある。一度記録されると、修復が
すでに始められたとしてこれらのレコードは無視され、
オリジナルのufs_failureと関連させられる。
【0046】状態114「TRY LOCK」は、レコードがロ
ック・スレッドによって見つけ出されて、内部のlockfs
入口点(ufs fiolfs())を起動するために必要な情報に
よりアップデートされたことを意味する。故障したファ
イルシステムのufsvfsは、この点で故障がこのファイル
システムに生じたことを示すためにアップデートされ
る。これは、写しを作られたUFS故障を検出するために
用いられる。
【0047】状態116「UMOUNT」は、ファイルシステ
ムが修復されるよりもアンマウントされるように記録さ
れたことを意味する。故障レコードがこの(何か他の)
端末状態を成し遂げるならば、動作はとられない。
【0048】端末状態118「NOT FIX」は、このファ
イルシステムが修復されないと記録されたこと、または
修復が自動的に生じるのを妨げるために強制的にアンマ
ウントされたことを意味する。
【0049】状態120「LOCKED」は、故障したファイ
ルシステムが成功裏にロックされたことを意味する。RP
Cコールは、修復を開始するためにポートに対してなさ
れる。fsckが成功裏に始まるとき、RPCコールは、復帰
する。
【0050】状態122「FIXING」は、fsckが修復が進
行中であることを示すスーパーブロックをアップデート
したことを意味する。
【0051】端末状態124「FIXED」は、このファイ
ルシステムがうまく修復されて、アンロックされたこと
を意味する。
【0052】以下は、上に記述したいくつかの状態の間
の状態遷移100のための必要な条件である: イベント102から端末状態104「PANIC」へ:非UFS
パニックがすでに進行;ファイルシステムが定義可能で
ない(vp、ufsvfsp、vfspがNullである);パニック回
復の特性はこのファイルシステムの上で不可能だった;
このファイルシステムに含まれる活動中のスワップファ
イルがある;そして、このファイルシステムに含まれる
活動中のカーネル・アカウントファイルがある。
【0053】状態106「UNDEF」から端末状態104
「PANIC」へ:ファイルシステムの制御構造(ufsvfsp、
vfsp、bpがstruct fsを含んでいる)が不当になった。
【0054】状態108「INIT」から状態110「QUEU
E」へ:このstruct ufs_failureは、ロック・スレッド
の作業待ち行列の上に置かれた。
【0055】状態110「QUEUE」から端末状態「REPLI
CA」へ:これはこのファイルシステムと関連させられた
もう一つの活動中のUFS故障である。
【0056】状態110「QUEUE」から状態114「TRY
LOCK」へ:故障が認識されたので、ファイルシステム
制御構造は変化しなかった。
【0057】状態110「QUEUE」から端末状態104
「PANIC」へ:UFS故障の数上のシステム毎の(per-syst
em)制限が上回った;そして、UFS故障の間での最少時
間のシステム毎の(per-system)制限が上回った。
【0058】状態110「QUEUE」/114「TRY LOCK」
/120「LOCKED」と122「FIXING」から端末状態1
18(「NOT FIX」)へ:このファイルシステムは、い
くつかの他のスレッドによってアンマウントされた。
【0059】状態114「TRY LOCK」から端末状態10
4「PANIC」へ:ファイルシステムの誤りロックをため
す間にタイムアウトした;lockfsはこのファイルシステ
ムの上でエラーEDEADLKをすることに失敗した;ブート
以来このファイルシステム上にあまりに多くの故障があ
った;そして、この故障がこのファイルシステム上の最
後の故障からあまりにすぐに生じた。
【0060】状態114「TRY LOCK」から状態116
「UMOUNT」へ:このファイルシステムは故障でアンマウ
ントされるために記録される。
【0061】状態116「UMOUNT」から端末状態「NOT
FIX」へ:ファイルシステムのアンマウントが成功し
た。
【0062】状態114「TRY LOCK」から、状態120
「LOCKED」へ:ファイルシステムの誤りロックは成功し
た;そして、ファイルシステムの誤りロックが失敗し
た、これによりそれがすでに誤りロック中であることを
示す。
【0063】状態120「LOCKED」から状態104「PA
NIC」へ:fsckが開始しない又はできない。
【0064】状態120「LOCKED」から状態122「FI
XING」へ:ファイルシステムのスーパーブロックのfs_c
leanフィールドが、fsckによりFSFIXへリセットされ
た。
【0065】状態122「FIXING」から状態120「LO
CKED」へ:ファイルシステムのスーパーブロックのfs_c
leanフィールドは、fsckによりFSBADへリセットされ
た;そして、修復デーモンがfsckの実行中にエラーを検
出した。
【0066】状態122「FIXING」から端末状態124
「FIXED」へ:ファイルシステム上の誤りロックはアン
ロックされた(これは、fs_clean == FSCLEANを必要と
する)。
【0067】本発明のシステムと方法を利用することを
本明細書において開示したが、独立のスレッドの平均故
障時間(MTTF)が次の故障までの時間によって増加
されるので全システムの可用度が増加する。さらに、そ
れらの従属するスレッドに対するMTTFと平均修復時
間(MTTR)は、任意のシステムオーバーヘッド(パ
ニック・ダンプ、ハードウェアリセット、リブートまた
は他のノードへのフェイル・オーバー(failover)のよ
うな)に対してより、むしろちょうど修復に必要な時間
にまで減らされる。
【0068】本発明の原則を特定のコンピューター・オ
ペレーティング・システムに関連して説明したが、これ
は単なる例示であって本発明の範囲を制限するべきもの
ではない。
【図面の簡単な説明】
【図1】 本発明の動作環境の一部を形成している汎用
計算機を代表する簡略図面である;
【図2】 図1のコンピューターの一つ以上のものから
作られたコンピュータ・システムの上で、実行されるソ
フトウェア・アプリケーションの基礎をなしており、特
に「ユーザ」、「カーネル」及び「UFS」層を、いろい
ろなオペレーション(例えばOpl-Op3)が動作すること
ができる後者二つの間のVFSインタフェースとともに説
明している妥当なユニックス・オペレーティング・シス
テム層の単純化された概念上の図解である;
【図3】 内部のデータ構造が正常動作の間、UFS故障
の前に変化する方法の単純化された概念上の表示であ
る;
【図4】 認識されていて、他のUFSスレッドのVFS層で
のブロッキングに終わっているUFS故障の概念上の表示
である;
【図5】 システムとファイルシステム・パニック回復
の方法の単純化された概念上の表示であり、ここでシス
テムは、アンマウントまたはロックされた条件に留めら
れることができ、そして、ロック・スレッドは、ファイ
ルシステムのチェッカーを実行するために修復を開始す
るように進む;
【図6】 以前の図において例を示した、層の単純化さ
れた概念上の表示であり、ここでファイルシステムのチ
ェック「fsck」が修復を完了し、他のスレッドのオペレ
ーションの続行が許される;
【図7】 本明細書において開示したファイルシステム
・パニック回復のシステム及び方法の特定のインプリメ
ンテーションに従うUFS故障のイベントにおける複数の
状態の間でできる遷移を図示している典型的な状態図で
ある。
【符号の説明】
1:プロセッサー 2:入出力セクション 3:中央処理装置 4:メモリー・セクション 5:キーボード 6:表示装置 7:CD−ROM装置 8:CD−ROM媒体 9:磁気ディスク装置 10:プログラム 20:ユニックスOSシステム層 36:誤りロック 38、54:UFSスレッド 40:記憶装置 42:故障スレッド 80:他のスレッド

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 コンピューター・オペレーティング・シ
    ステムの故障したファイルシステムを選択的に誤りロッ
    クする方法であって、以下のステップから成っている:
    前記コンピューター・オペレーティング・システムの故
    障したファイルシステムにおけるエラーを検出するステ
    ップ;前記故障したファイルシステムのオンライン修復
    ができるかどうか決めるステップ;前記オンライン修復
    ができるならば、故障したファイルシステムをロックす
    るステップ;前記故障したファイルシステムの前記オン
    ライン修復を成し遂げるステップ;前記故障したファイ
    ルシステムをアンロックするステップ。
  2. 【請求項2】 請求項1に記載の方法において、前記検
    出するステップが、次のステップからなる:前記故障し
    たファイルシステムの矛盾に注目するステップ;前記故
    障したファイルシステム矛盾に対応する故障レコードを
    つくるステップ;オペレーティング・システム・ロック
    ・スレッド上に前記故障レコードを置くステップ。
  3. 【請求項3】 請求項2に記載の方法において、前記矛
    盾が、オペレーティング・システム故障スレッドに応答
    して注目されることを特徴とする方法。
  4. 【請求項4】 請求項1に記載の方法において、前記ロ
    ッキングのステップが、次のステップから成る:関連す
    るコンピューターの大容量記憶装置の上で、前記故障し
    たファイルシステムと関連するデータブロックをアクセ
    ス不可能と記録するステップ。
  5. 【請求項5】 請求項1に記載の方法において、前記オ
    ペレーティング・システムが、前記故障したファイルシ
    ステムのオンライン修復ができるかどうか決めるステッ
    プが不可能であることに応答してシャットダウンされる
    ことを特徴とする方法。
  6. 【請求項6】 請求項1に記載の方法において、更に次
    のステップを含む:前記故障したファイルシステムがロ
    ックされる一方、他のオペレーティング・システム・フ
    ァイルシステムに対応している他のスレッドが継続する
    のを許すステップ。
  7. 【請求項7】 以下の要素からなるコンピューター・プ
    ログラム・プロダクト:コンピューター・オペレーティ
    ング・システムの故障したファイルシステムを選択的に
    誤りロックするためにコンピューター可読のコードを記
    録されたコンピューターが使用できる媒体;コンピュー
    ターに、前記コンピューター・オペレーティング・シス
    テムの故障したファイルシステムにおけるエラーの検出
    をさせるようにするために構成されたコンピューター可
    読のプログラムコード・デバイス;コンピューターに、
    前記故障したファイルシステムのオンライン修復ができ
    るかどうかの決定をさせるようにするために構成された
    コンピューター可読のプログラムコード・デバイス;コ
    ンピューターに、前記オンライン修復が可能ならば前記
    故障したファイルシステムのロッキングをさせるように
    するために構成されたコンピューター可読のプログラム
    コード・デバイス;コンピューターに、前記故障したフ
    ァイルシステムのオンライン修復をさせるようにするた
    めに構成されたコンピューター可読のプログラムコード
    ・デバイス;コンピューターに、前記故障したファイル
    システムをアンロックさせるために構成されたコンピュ
    ーター可読のプログラムコード・デバイス。
  8. 【請求項8】 請求項7に記載のコンピューター・プロ
    グラム・プロダクトにおいて、前記コンピューターにエ
    ラーの検出をさせるようにするために構成された前記コ
    ンピューター可読のプログラムコード・デバイスが更に
    以下の要素からなる:コンピューターに、前記故障した
    ファイルシステムにおける矛盾に注目することをさせる
    ために構成されたコンピューター可読のプログラムコー
    ド・デバイス;コンピューターに、前記故障したファイ
    ルシステムの矛盾に対応している故障レコードをつくる
    ことをさせるようにするために構成されたコンピュータ
    ー可読のプログラムコード・デバイス;コンピューター
    に、オペレーティング・システム・ロック・スレッド上
    に前記故障レコードを置くことをさせるようにするため
    に構成されたコンピューター可読のプログラムコード・
    デバイス。
  9. 【請求項9】 請求項7に記載のコンピューター・プロ
    グラム・プロダクトにおいて、前記コンピューターにロ
    ッキングをさせるようにするために構成されたコンピュ
    ーター可読のプログラムコード・デバイスが更に以下の
    要素からなる:コンピューターに、関連するコンピュー
    ター大容量記憶装置の上で、前記故障したファイルシス
    テムと関連するデータブロックをアクセス不可能である
    と記録させるようにするために構成されたコンピュータ
    ー可読のプログラムコード・デバイス。
  10. 【請求項10】 請求項7に記載のコンピューター・プ
    ログラム・プロダクトにおいて、更に次の要素を含む:
    コンピューターに、前記故障したファイルシステムのオ
    ンライン修復ができないという決定に答えて前記オペレ
    ーティング・システムをシャットダウンさせるようにす
    るために構成されたコンピューター可読のプログラムコ
    ード・デバイス。
  11. 【請求項11】 請求項7に記載のコンピューター・プ
    ログラム・プロダクトにおいて、更に次の要素を含む:
    コンピューターに、前記故障したファイルシステムをロ
    ックする一方、他のオペレーティング・システム・ファ
    イルシステムに対応している他のスレッドの続行を許さ
    せるようにするために構成されたコンピューター可読の
    プログラムコード・デバイス。
  12. 【請求項12】 アプリケーションプログラムを実行す
    るために、その上にロード可能なコンピューター・オペ
    レーティング・システムを含むコンピューターにおい
    て、前記オペレーティング・システムは、前記アプリケ
    ーションプログラムからアクセス可能な複数のファイル
    システムを持っており、次の要素から成る:前記複数の
    ファイルシステムの内の故障したものにおけるエラーを
    示すための故障スレッド;前記故障スレッドに応答して
    始まったロック・スレッド;もしそれについてオンライ
    ン修復ができるなら、前記故障したファイルシステムを
    選択的にロックするために前記ロック・スレッドに応答
    する誤りロック;オンライン修復が実行されていると
    き、前記誤りロックに応答して前記複数のファイルシス
    テムの内の前記故障したものに他のスレッドがアクセス
    するを禁止し、これによって前記故障したファイルシス
    テムのオンライン修復の実施に応答して削除されるブロ
    ック。
  13. 【請求項13】 請求項12に記載のコンピューターに
    おいて、前記オペレーティング・システムが次の要素か
    ら成る:前記アプリケーションプログラムに前記オペレ
    ーティング・システムをインターフェースするためのユ
    ーザ層;前記ユーザ層の基礎をなしているカーネル層;
    前記カーネル層の基礎をなしていて、それらの間でファ
    イルシステム・インタフェースを定義しているファイル
    システム層。
  14. 【請求項14】 請求項12に記載のコンピューターに
    おいて、前記ブロックが、前記ファイルシステム・イン
    タフェースで実現されることを特徴とするコンピュー
    タ。
  15. 【請求項15】 請求項13に記載のコンピューターに
    おいて、前記ファイルシステム層が、ユニックス・ファ
    イルシステム層から成ることを特徴とするコンピュー
    タ。
  16. 【請求項16】 請求項13に記載のコンピューターに
    おいて、前記ファイルシステム・インタフェースが、VF
    S層から成ることを特徴とするコンピュータ。
  17. 【請求項17】 請求項12に記載のコンピューターに
    おいて、更に次の要素を含む:前記複数のファイルシス
    テムと関連するデータのブロックを記憶するための、前
    記コンピューターと関連するコンピューター大容量記憶
    装置。
  18. 【請求項18】 請求項17に記載のコンピューターに
    おいて、前記故障したファイルシステムと関連する前記
    コンピューター大容量記憶装置上の選ばれたデータのブ
    ロックが、前記ロック・スレッドに応答してアクセス不
    可能であると記録されることを特徴とするコンピュー
    タ。
JP8217475A 1995-08-17 1996-08-19 コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法 Pending JPH09106366A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US516429 1995-08-17
US08/516,429 US5765151A (en) 1995-08-17 1995-08-17 System and method for file system fix-on-panic for a computer operating system

Publications (1)

Publication Number Publication Date
JPH09106366A true JPH09106366A (ja) 1997-04-22

Family

ID=24055550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8217475A Pending JPH09106366A (ja) 1995-08-17 1996-08-19 コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法

Country Status (4)

Country Link
US (1) US5765151A (ja)
EP (1) EP0759592B1 (ja)
JP (1) JPH09106366A (ja)
DE (1) DE69602500T2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322246A (ja) * 2004-05-03 2005-11-17 Microsoft Corp データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
KR101512611B1 (ko) * 2012-09-17 2015-04-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 시스템 파일을 수리하기 위한 시스템 및 방법
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9342864B2 (en) 2010-06-25 2016-05-17 Microsoft Technology Licensing, Llc Alternative semantics for zoom operations in a zoomable scene
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9405693B2 (en) 2004-05-03 2016-08-02 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69637146T2 (de) 1995-08-03 2008-02-28 Interval Research Corp., Palo Alto Rechner-interaktorsystem und verfahren zu seiner bereitstellung
US5937187A (en) * 1996-07-01 1999-08-10 Sun Microsystems, Inc. Method and apparatus for execution and preemption control of computer process entities
US5857204A (en) * 1996-07-02 1999-01-05 Ab Initio Software Corporation Restoring the state of a set of files
US5958062A (en) * 1997-03-19 1999-09-28 Fujitsu Limited Client/server system and computer system
US5946686A (en) * 1997-07-11 1999-08-31 International Business Machines Corporation Parallel file system and method with quota allocation
US6956497B1 (en) 1997-10-09 2005-10-18 Vulcan Patents Llc Method and apparatus for sending presence messages
AU1075999A (en) 1997-10-09 1999-05-03 Interval Research Corporation Method and apparatus for sending presence messages
WO1999020010A1 (en) * 1997-10-09 1999-04-22 Interval Research Corporation Variable bandwidth communication systems and methods
US6754546B1 (en) 1997-10-09 2004-06-22 Interval Research Corporation Electronic audio connection system and methods for providing same
US6108654A (en) * 1997-10-31 2000-08-22 Oracle Corporation Method and system for locking resources in a computer system
US6163856A (en) * 1998-05-29 2000-12-19 Sun Microsystems, Inc. Method and apparatus for file system disaster recovery
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US6230285B1 (en) * 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6421792B1 (en) * 1998-12-03 2002-07-16 International Business Machines Corporation Data processing system and method for automatic recovery from an unsuccessful boot
US6530038B1 (en) * 1999-09-16 2003-03-04 International Business Machines Corporation Streamlined initialization and refresh of file system directory limits
US6496944B1 (en) * 1999-10-06 2002-12-17 International Business Machines Corporation Method for database assisted file system restore
US6651183B1 (en) 1999-10-28 2003-11-18 International Business Machines Corporation Technique for referencing failure information representative of multiple related failures in a distributed computing environment
US6625754B1 (en) * 2000-03-16 2003-09-23 International Business Machines Corporation Automatic recovery of a corrupted boot image in a data processing system
US6826754B1 (en) 2000-09-29 2004-11-30 International Business Machines Corporation Method for eliminating or reducing hang conditions in computer systems
US7089449B1 (en) * 2000-11-06 2006-08-08 Micron Technology, Inc. Recovering a system that has experienced a fault
US6895413B2 (en) * 2002-03-22 2005-05-17 Network Appliance, Inc. System and method for performing an on-line check of a file system
US7254636B1 (en) 2003-03-14 2007-08-07 Cisco Technology, Inc. Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy
US7546319B1 (en) 2003-04-28 2009-06-09 Ibrix, Inc. File system consistency checking in a distributed segmented file system
US7493513B2 (en) * 2003-04-29 2009-02-17 International Business Machines Corporation Automatically freezing functionality of a computing entity responsive to an error
US20050015672A1 (en) * 2003-06-25 2005-01-20 Koichi Yamada Identifying affected program threads and enabling error containment and recovery
US7797733B1 (en) 2004-01-08 2010-09-14 Symantec Corporation Monitoring and controlling services
US7337327B1 (en) 2004-03-30 2008-02-26 Symantec Corporation Using mobility tokens to observe malicious mobile code
US7735100B1 (en) 2004-04-22 2010-06-08 Symantec Corporation Regulating remote registry access over a computer network
US8108937B1 (en) 2004-04-26 2012-01-31 Symantec Corporation Robustly regulating access to executable class registry entries
US7523343B2 (en) * 2004-04-30 2009-04-21 Microsoft Corporation Real-time file system repairs
US20050256859A1 (en) * 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
US7334163B1 (en) * 2004-06-16 2008-02-19 Symantec Corporation Duplicating handles of target processes without having debug privileges
US7571448B1 (en) 2004-07-28 2009-08-04 Symantec Corporation Lightweight hooking mechanism for kernel level operations
US7509680B1 (en) 2004-09-01 2009-03-24 Symantec Corporation Detecting computer worms as they arrive at local computers through open network shares
US7690034B1 (en) 2004-09-10 2010-03-30 Symantec Corporation Using behavior blocking mobility tokens to facilitate distributed worm detection
US7409586B1 (en) * 2004-12-09 2008-08-05 Symantec Operating Corporation System and method for handling a storage resource error condition based on priority information
US7334722B1 (en) 2005-02-14 2008-02-26 Symantec Corporation Scan-on-read
US8359459B2 (en) * 2008-05-27 2013-01-22 Oracle America, Inc. Using hardware support to reduce synchronization costs in multithreaded applications
US8793223B1 (en) 2009-02-09 2014-07-29 Netapp, Inc. Online data consistency checking in a network storage system with optional committal of remedial changes
US8621276B2 (en) 2010-12-17 2013-12-31 Microsoft Corporation File system resiliency management
US8341198B1 (en) 2011-09-23 2012-12-25 Microsoft Corporation File system repair with continuous data availability
US9021303B1 (en) 2012-09-24 2015-04-28 Emc Corporation Multi-threaded in-memory processing of a transaction log for concurrent access to data during log replay
US8977898B1 (en) 2012-09-24 2015-03-10 Emc Corporation Concurrent access to data during replay of a transaction log
CN110532032B (zh) * 2019-07-31 2021-01-05 华为技术有限公司 一种开机文件系统检测方法以及相关设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202971A (en) * 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US5226159A (en) * 1989-05-15 1993-07-06 International Business Machines Corporation File lock management in a distributed data processing system
WO1991004540A1 (en) * 1989-09-08 1991-04-04 Auspex Systems, Inc. Multiple facility operating system architecture
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5497492A (en) * 1990-09-04 1996-03-05 Microsoft Corporation System and method for loading an operating system through use of a fire system
US5392433A (en) * 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
US5504883A (en) * 1993-02-01 1996-04-02 Lsc, Inc. Method and apparatus for insuring recovery of file control information for secondary storage systems
US5519853A (en) * 1993-03-11 1996-05-21 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US5572711A (en) * 1993-09-28 1996-11-05 Bull Hn Information Systems Inc. Mechanism for linking together the files of emulated and host system for access by emulated system users
US5642501A (en) * 1994-07-26 1997-06-24 Novell, Inc. Computer method and apparatus for asynchronous ordered operations

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US9405693B2 (en) 2004-05-03 2016-08-02 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
JP2005322246A (ja) * 2004-05-03 2005-11-17 Microsoft Corp データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9342864B2 (en) 2010-06-25 2016-05-17 Microsoft Technology Licensing, Llc Alternative semantics for zoom operations in a zoomable scene
KR101512611B1 (ko) * 2012-09-17 2015-04-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 시스템 파일을 수리하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
EP0759592A3 (en) 1997-05-02
DE69602500D1 (de) 1999-06-24
EP0759592A2 (en) 1997-02-26
EP0759592B1 (en) 1999-05-19
DE69602500T2 (de) 2000-01-05
US5765151A (en) 1998-06-09

Similar Documents

Publication Publication Date Title
JPH09106366A (ja) コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法
US8135674B2 (en) Providing a simulated dynamic image of a file system
US9400886B1 (en) System and method for using snapshots for rootkit detection
US5572709A (en) Using dynamically-linked libraries to add side effects to operations
Chin et al. Distributed, object-based programming systems
JP3197789B2 (ja) 分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム
US5504883A (en) Method and apparatus for insuring recovery of file control information for secondary storage systems
AU2003266438B2 (en) Managed file system filter model and architecture
Callaghan et al. NFS version 3 protocol specification
Fryer et al. Recon: Verifying file system consistency at runtime
US6101585A (en) Mechanism for incremental backup of on-line files
US7636741B2 (en) Online page restore from a database mirror
EP1629407B1 (en) Systems and methods for automatic database or file system maintenance and repair
CN100485676C (zh) 文件系统串行化重新初始化装置、方法和系统
US5740434A (en) System for maintenance of database integrity
WO2005103955A1 (en) System and method for a consistency check of a database backup
Long et al. On improving the availability of replicated files
CN117178265A (zh) 基于快照的数据损坏检测
Shumway Issues in on-line backup
Ng et al. Comparing disk and memory's resistance to operating system crashes
CN100337211C (zh) 保障计算机持续安全运行的方法
Bohannon et al. Using codewords to protect database data from a class of software errors
EP0839351A1 (en) Transaction clash management in a disconnectable computer and network
Sitaraman et al. Low-intrusive consistent disk checkpointing: A tool for digital forensics
KR940015902A (ko) 트랜잭션 처리시스템의 로그/회복관리방법