説明

inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム

【課題】inodeの割り当て及び割り当て解除の方法及びコンピュータプログラムを提供する。
【解決手段】第1のinodeテーブルのすべてのinodeが初期化済みであるか否かを判断する。第1のinodeテーブルのすべてのinodeが初期化済みであるとの判断に応答して、追加のinodeを割り当てるさらなるinodeテーブルを作成する。inodeテーブルのディスクブロックアドレスを指し示すinodeマップを作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施の形態は、inodeの割り当ておよび割り当て解除の方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
inodeは、ファイル、ディレクトリ、又は他のファイルシステムオブジェクトについての基本的なメタデータを記憶するために、多くのファイルシステムによって利用されるデータ構造である。inodeを利用するファイルシステムの例には、数ある中でも、UNIX(登録商標)ファイルシステム(UFS)、Veritasファイルシステム(VxFS)、及びEXT2ファイルシステムが含まれる。
【0003】
inodeは、ファイルシステム作成中にinodeテーブルで事前に割り当てられると共に、事前に初期化される。ファイルシステムは、ファイルシステムパーティションのサイズ及び平均ファイルサイズを考慮するアルゴリズムを使用することによって、inodeテーブルに設けられるinodeの個数を計算する。ファイルシステムは、次に、ディスク空間の連続ブロック(すなわち、inodeテーブル)の固定オフセットにinodeを記憶する。この連続ブロックは、実際のデータを記憶するのに使用されるディスク空間の部分とは異なる。UNIX(登録商標)ファイルシステムでは、inode番号をオフセットとして直接使用してinodeをフェッチすることを可能にするために、inodeはinodeテーブルに連続した順序で記憶される。すなわち、inode番号は、inodeのディスクブロックアドレス(すなわち、inodeテーブルにおけるinodeのロケーション)へ直接マッピングされる。
【0004】
ファイルシステムが作成されると、inodeテーブルにおけるinodeの個数は増加させることも減少させることもできない。すなわち、inodeテーブルは固定される。ファイルシステムは多くの場合、inodeテーブルにおける利用可能なすべてのinodeを最終的には利用し得る多くの小さなファイルを記憶するようにプログラミングされたアプリケーションを含み、それによって、たとえ利用可能なディスク空間が存在しても、他のアプリケーションがさらなるファイルを記憶することを防止する。代替形態では、ファイルシステムは過剰なinodeを事前に割り当てる場合があり、その結果、ファイルシステムは、ファイルシステムの作成中に不要な処理オペレーションを実行する。これは特に、ファイルシステムが少数の大きなファイルを記憶する常駐アプリケーションを有する場合である。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、inodeの割り当ておよび割り当て解除のための方法およびプログラムなどを提供する。
【課題を解決するための手段】
【0006】
本発明の一形態は、第1のinodeテーブルを含むコンピューティングファイルシステムにおいてinodeを割り当てる方法であって、前記第1のinodeテーブルのすべてのinodeが初期化済みであるか否かを判断するステップと、前記第1のinodeテーブルのすべてのinodeが初期化済みであるとの判断に応答して、追加のinodeを割り当てるさらなるinodeテーブルを作成するステップとを含む方法である。
【0007】
次に、本発明をより明確に確認することができるようにするために、例として、添付図面を参照して実施形態を説明する。
【発明を実施するための最良の形態】
【0008】
コンピューティングファイルシステムでinodeの割り当て及び割り当て解除を行う方法及びコンピュータプログラムが提供される。
【0009】
一実施形態では、inodeを割り当てる方法は、コンピューティングファイルシステムに設けられた第1のinodeテーブルのすべてのinodeが初期化されているか否かを判断するステップと、第1のinodeテーブルのすべてのinodeが初期化されているとの判断に応じて、追加のinodeを割り当てるさらなるinodeテーブルを作成するステップとを含む。
【0010】
別の実施形態では、コンピューティングシステムのコンピュータ可読媒体上で実施されると、上述したinode割り当て方法ステップをコンピューティングシステムに実施させる少なくとも1つの命令を含むコンピュータプログラムが提供される。
【0011】
別の実施形態では、少なくとも第1のinodeテーブル及びさらなるinodeテーブルを含むコンピューティングファイルシステムにおいてinodeを割り当て解除する方法であって、さらなるinodeテーブルが、初期化されたinodeを含まないかを判断するステップと、さらなるテーブルが初期化されたinodeを含まないと判断されたことに応答して、さらなるinodeテーブルを削除するステップとを含む方法が提供される。
【0012】
別の実施形態では、コンピューティングシステムのコンピュータ可読媒体上で実施されると、上述したinode割り当て解除方法ステップをコンピューティングシステムに実施させる少なくとも1つの命令を含むコンピュータプログラムが提供される。
【0013】
本明細書の文脈において、「inodeテーブル」という語句は、その範囲内に、任意の適したディスク空間に記憶することができ、初期化又は初期化解除(de-initialize)のいずれかを行うことができる少なくとも1つのinodeを含む任意のテーブルを含む。
【0014】
また、図1に示すクライアント−サーバコンピューティングシステム100等のコンピューティングシステムも提供される。このクライアント−サーバコンピューティングシステム100は、上述した方法を実施するように構成されている。一実施形態では、クライアント−サーバコンピューティングシステム100は、インターネットの形態のネットワーク106を介してクライアント104に接続されているサーバ102を備える。クライアント104は、サーバ102と通信する標準的なハードウェア及びソフトウェアを備えるパーソナルコンピューティングデバイス104a、104bの形態を有する。クライアント104は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)のプロトコルスイートを使用してサーバ102と通信する。ストレージデバイス108もネットワーク106に接続されている。
【0015】
図2を参照すると、サーバ102のハードウェア及びソフトウェアのブロック図が示されている。サーバ102は、説明する実施形態によれば、Hewlett Packard社から入手可能なHP−UX rx5670サーバの形態を有する。サーバ102は、UNIX(登録商標)スタックを有するUNIX(登録商標)オペレーティングシステムの形態のオペレーティングシステムを実行する。この実施形態では、サーバ102はUNIX(登録商標)オペレーティングシステムを実施するが、他の実施形態は、たとえばLINUXオペレーティングシステム等の異なるオペレーティングシステムを含むことができることに留意すべきである。
【0016】
UNIX(登録商標)オペレーティングシステムは、Unix(登録商標)ファイルシステム(UFS)の形態のファイルシステムも含む。UFSは、シリンダグループの集まりから成り、ネットワーク106とハードディスク122との間のデータの転送を制御するソフトウェアを含む。メモリ118の一部から成るバッファキャッシュは、このデータ転送用のバッファとして使用される。また、バッファキャッシュは、頻繁に起こる待ち時間の大きなディスクI/Oを削減する目的でディスクブロックのコンテンツを保持するようにも構成されている。
【0017】
サーバ102はさらに、システムバス114に結合されるクアドIntel Itanium 2プロセッサ112a、112b(米国のIntel社から入手可能、http://www.intel.com/)の形態の複数のプロセッサ112も含む。メモリコントローラ/キャッシュ116もシステムバス114に結合され、ダブルデータレートDDR SDRAMの形態を有するメモリ118をインターフェースするように構成されている。また、I/Oバス126経由でI/Oバスブリッジ124に接続されている、高速グラフィックアドレス指定をハンドリングするグラフィックスアダプタ120及びATAギガバイトハードディスク122も設けられている。メモリコントローラ116及びI/Oバスブリッジは、図2に示すように相互接続することができる。
【0018】
I/Oバス126には、PCIバス130a、130b、130cを介してサーバ102に接続されるデバイスへのインターフェースを提供するPCIバスブリッジ128a、128b、128cが接続されている。モデム132及びネットワークアダプタ134は、PCIバス130aに結合されている。ネットワークアダプタ134は、サーバ102がTCP/IPプロトコルを使用してクライアント104とデータを交換することを可能にするように構成されている。当業者によって認識されるように、CD−ROM等の追加のI/Oデバイスも、I/Oバス130a、130b、130cを介してサーバ102に結合することができる。
【0019】
上述したように、UFSは、サーバ102のハードディスク122を複数のシリンダグループに分割する。従来のUFSディスクレイアウトでは、各シリンダグループは、ファイルシステムスーパーブロックのバックアップコピーと、グループヘッダ(統計値、フリーリスト、及びそのシリンダグループを記述する他の情報を含む)と、一定の個数の事前に割り当てられると共に事前に初期化されているinodeを含むinodeテーブルとから成る。inodeテーブルのサイズは、ファイルシステム作成中(すなわち、コマンドmkfsがUFSオペレーティングシステムで起動された時)に、ファイルパーティションのサイズ及び平均ファイルサイズに基づいて計算される。従来のシリンダディスクレイアウトを図3に示す。
【0020】
本発明の実施形態は、ファイルシステムによる要求に応じて、(通常は、別のinodeテーブル又は追加のinodeテーブルと呼ばれるブロックで)追加のinodeを割り当てる動的なinode割り当て方法を利用する。追加のinodeは、初期ファイルシステム作成後に割り当てることができるので、最初に割り当てられるinodeの個数は、従来のファイルシステムによって必要とされるものよりも大幅に少なくすることができる。この方法論は、ファイルシステムが、現在割り当てられているinodeの個数をもはや必要としない場合に、inodeを割り当て解除することもできる。
【0021】
次に、図4のフロー図を参照して、第1のinodeテーブルを含むコンピューティングファイルシステムのinode割り当て方法を本発明の一実施形態に従って説明する。説明する実施形態では、第1のinodeテーブルはファイルシステムを作成する時に作成され、第1のinodeテーブルのinodeは常駐アプリケーションによる要求に応じて初期化される。ステップ402において、第1のinodeテーブルのすべてのinodeが初期化済みであるか否かについての判断が行われる。ステップ404において、ファイルシステムによって必要とされるinodeの個数が第1のinodeテーブルの容量を超えている(すなわち、第1のinodeテーブルのすべてのinodeが初期化済みである)と判断された場合には、追加のinodeを割り当てるさらなるinodeテーブルが作成される。後続の段落でより詳細に説明するように、利用可能なディスク空間の量にのみ応じて、任意の個数のさらなるinodeテーブル/追加のinodeテーブルをこの方法で作成でき、任意の適したディスクロケーションに記憶することができることが容易に理解されよう。
【0022】
常駐アプリケーションが所望のinodeを突き止めることを可能にするために、ステップ406において、inodeマップの形態のデータ構造(以下、「alloc_map」と呼ぶ)が作成される。alloc_mapは、実質的には、連続したinodeテーブル(以下、「inode_chunk(inodeチャンク)」)を指し示すディスクブロックアドレスのアレイである。図6は、alloc_mapの一般的な構造を示している。図示するように、alloc_mapのn番目のエントリーは、(n×inodechunksize)〜(((n+1)×inodechunksize)−1)の番号が付けられたinodeを含むinode_chunkを指し示す。一方、マップを1つだけ使用すると、inodeは(allocmapsize)×(inodechunksize)に制限される。したがって、必要な場合に、割り当てられたすべてのinodeを参照するために、さらなるalloc_mapを作成することができる。拡張されたallloc_map又はinode_chunkに必要なディスク空間は、ファイルシステムによって事前に確保しておく必要はない。
【0023】
図5は、上述した方法をより詳細に示している。簡単にするために、図5を参照して説明する方法論は、各alloc_mapが4つのinode_chunkのディスクアドレスを指し示すように構成されることを提供する。ファイルシステムの作成中に、第1のalloc_map502及び第1のinode_chunk504のみが割り当てられる。図示するように、alloc_map502の最初のエントリーは第1のinode_chunk504を指し示す。inodeの個数が、第1のinode_chunk504の容量を超えると、さらなるinode_chunk506が割り当てられる。同様に、alloc_map502の容量を超えると(ここでは、さらなるinode_chunk510が割り当てられると)、新しいalloc_map508が割り当てられ、前のalloc_map502にリンクされる。
【0024】
上記で概説した方法論を使用してinodeを取り出すのに使用することができる擬似コンピュータプログラマブルコードの一例を以下に提供する。
IGET (inode_number) :inodeを返す
{
inode_chunk_number = inode_number / chunksize
alloc_map_number = inode_chunk_number / allocmapsize

if (alloc_map_numberに対応するalloc_mapが存在しない)
{
*サイズallocmapsizeの新しいalloc_mapを割り当てる
*alloc_mapのエントリーを適切に初期化する
*このalloc_mapを前のalloc_map及び次のalloc_mapにリンクする
}

if (inode_chunk_numberに対応するinode_chunkが存在しない)
{
*サイズchunksizeのinode_chunkを割り当てる
*alloc_mapの(inode_chunk_number % allocmapsize)番目のエントリーを、このinode_chunkの開始アドレスに初期化する
}

*オフセット(inode_chunk_number % allocmapsize)におけるalloc_mapからinode_chunkの開始アドレスを得る
*オフセット(inode_number % chunksize)におけるinode_chunkから、必要とされるinodeをフェッチし、このinodeを返す
}
【0025】
以下の式1は、上述した方法を使用してinodeをフェッチするための全時間を求めるのに使用される。示すように、このデータは、その後、最も適切なinode_chunk及びalloc_mapサイズを確立するためにファイルシステムにより利用することができる。
T=Tca+Tci+Tsa+Taa+Tia+Tsic+Tai+Tii+Tsi
(式1)
式中、
Tca=alloc_map数を計算するための時間
Tci=inode_chunk数を計算するための時間
Tsa=必要とされるalloc_mapを検索してフェッチするための時間
Taa=新しいalloc_mapを割り当てるための時間
Tia=alloc_mapを初期化するための時間
Tsic=必要とされるinode_mapを検索してフェッチするための時間
Tai=新しいinode_chunkを割り当てるための時間
Tii=inode_chunkを初期化するための時間
Tsi=inode_chunkから、必要とされるinodeを検索してフェッチするための時間
【0026】
式1において、Tca及びTciは共に一定時間であり(すなわち、ディスクアクセスを必要としない)、したがって、Kca及びKciによってそれぞれ表すことができる。また、(alloc_map及びinode_chunkについての)新しいディスクブロックの割り当て及び初期化は、スーパーブロックを更新するためにそれぞれ1回しかディスクアクセスを必要としない(これは、スーパーブロックの「インメモリ」コピーのみを変更することによって回避することもできる)。したがって、これらの時間(すなわち、Taa、Tia、Tai、及びTii)は、定数Kaa、Kia、Kai、及びKiiによってそれぞれ表すことができる。alloc_mapを検索するステップはalloc_mapの個数に正比例する。nをファイルシステムにおけるalloc_mapの個数とすると、alloc_mapを検索するプロセスはn回のディスクアクセスを必要とする。すなわち、Tsa=n×Ksaである。ここで、Ksaは、1つのalloc_mapをフェッチするのに必要な時間を表す定数である。次に、Tsic及びTsiも(アルゴリズムで示されるように)一定時間のオペレーションである。これらをKsic及びKsiによってそれぞれ表すものとする。
【0027】
したがって、アルゴリズムによって必要とされる全時間は、
T=(Tca+Tci)+(Tsic+Tsi)+(Taa+Tia+Tai+Tii)+Tsa
=K+n×Ksa(簡単にするためにすべての定数の合計をKによって置き換える)
となる。
【0028】
したがって、このアルゴリズムの時間計算量は、
O(T)=O(K)+O(n×Ksa)
近似値=O(n) (K及びKsaは定数であるので)
となる。
【0029】
すなわち、本明細書で説明したアルゴリズムの性能オーバーヘッドは、alloc_mapの個数に関する一次方程式である。性能は、nの値が非常に大きい場合(>100)には劣化する可能性があるが、alloc_map及びinode_chunkの双方のサイズ(ファイルシステムの作成時に設定される)は、アルゴリズムの性能に対する影響を回避するために、ファイルシステムサイズの関数として計算される。一般に、alloc_mapの個数(n)は、4を超える必要はない。
【0030】
たとえば、1テラバイトのサイズのファイルシステムを考え、alloc_mapのサイズを1メガバイトと考え、inode_chunkのサイズを512キロバイトと考える。8バイトのアドレスを仮定すると、単一のalloc_mapは、217個のinode_chunkのアドレスを保持することができる。たとえinode_chunkが、512個のinodeしか保持することができなくても、(217)×(2)=(226)個のinodeをハンドリングするのに、単一のalloc_mapで十分である。したがって、4つのalloc_map(228)を使用することによって、268435456個のinodeが提供される。これは、ほとんどの実際のシナリオにとって十分な大きさである。
【0031】
本明細書で説明した実施形態は、inodeテーブルの割り当ての方法を説明しているが、この方法は、複数のinodeテーブル(すなわち、第1のinodeテーブル及びさらなるinodeテーブル又は追加のinodeテーブル)を含むコンピューティングファイルシステムにおいて、inode及びinodeテーブルの割り当て解除(又は削除)も同様にすることができることに留意されたい。ファイルシステムのファイルが削除されると、対応するinodeはinode初期化解除コードによって初期化解除され、それによって、別のファイルがそのinodeを使用することが可能になる。初期化解除されているinodeが関連付けられたinodeテーブルに残っている最後のinodeであるとinode初期化解除コードが判断した場合には、そのコードパスは、inodeテーブル全体を割り当て解除(すなわち、削除)し、それに従って、関連付けられたinodeマップを更新する。
【0032】
割り当て方法及び割り当て解除方法の実施形態は、コンピューティングシステムのコンピュータ可読媒体上で実施されると上述した方法ステップをコンピューティングシステムに実施させる命令を含むコンピュータプログラム(ハードウェア、ソフトウェア、又はこの2つの組み合わせのいずれかによる)によって実施することができる。
【0033】
必須ではないが、このコンピュータプログラムは、開発者による使用のために、アプリケーションプログラミングインターフェース(API)を介して実施される場合があり、別のソフトウェアアプリケーション内のコードで実施することができる。一般に、ソフトウェアアプリケーションは、特定の機能を実行するか又は特定の機能の実行を助けるルーチン、プログラム、オブジェクト、コンポーネント、及びデータファイルを含むので、ソフトウェアアプリケーションを、複数のルーチン、オブジェクト、及びコンポーネントにわたって分散させることができるが、実施形態及び本明細書で権利を主張するより広い発明と同じ機能を達成することができることが理解されよう。このような変形及び変更は、当業者の理解の範囲内にあるであろう。
【0034】
サーバに設けられたハードウェアは実施態様に応じて変化し得ることが、当業者には認識されよう。図1及び図2に示すハードウェアに加えて又はこれに代えて、他の内部ハードウェアも使用することができる。たとえば、追加のメモリコントローラ、ハードディスク、テープストレージデバイス等を含むことができる。
【0035】
さらに、当業者には、スタンドアロンコンピューティングデバイス又は分散ネットワーク接続構成でも本発明を実施することができることが理解されよう。たとえば、本発明は、クライアントコンピューティングデバイス、サーバコンピューティングデバイス、パーソナルコンピューティングデバイス等で、単独又は組み合わせで実施することができる。
【0036】
例示的な実施形態の上記説明は、どの当業者も本発明の製作又は使用することができるように提供されている。本発明は、特定の図示した実施形態に関して説明されてきたが、これらの実施形態に対するさまざまな変形は、当業者には容易に明らかであり、本明細書で定義される包括的な原理は、本発明の趣旨又は範囲から逸脱することなく他の実施形態にも適用することができる。したがって、本実施形態は、すべての点で、制限ではなく例示とみなされることが望まれている。したがって、本発明は、上述した実施形態に限定されるように意図されておらず、本明細書で開示した原理及び新規な機能と一致するより広い範囲を与えられている。
【図面の簡単な説明】
【0037】
【図1】本発明の一実施形態によるコンピューティングシステムの概略図である。
【図2】本発明の実施形態を実施することができるサーバのブロック図である。
【図3】第1のシリンダグループの従来のUNIX(登録商標)ファイルシステムのディスクレイアウトを示すブロック図である。
【図4】本発明の一実施形態による、inodeを割り当てる方法を示すフロー図である。
【図5】本発明の一実施形態による、図2に示すサーバのハードディスクにおけるinodeの割り当てを示すブロック図である。
【図6】本発明によるinodeマップの概略図である。
【符号の説明】
【0038】
100・・・クライアント−サーバコンピューティングシステム
102・・・サーバ
104・・・クライアント
104a、104b・・・パーソナルコンピューティングデバイス
106・・・ネットワーク
108・・・ストレージデバイス
112a、112b・・・プロセッサ
114・・・システムバス
116・・・メモリコントローラ/キャッシュ
118・・・メモリ
120・・・グラフィックスアダプタ
122・・・ディスク
124・・・I/Oブリッジ
126・・・I/Oバス
128a〜128c・・・PCIバスブリッジ
130a〜130c・・・PCIバス
132・・・モデム
134・・・ネットワークアダプタ
502、508・・・alloc_map
504、506、510・・・inode_chunk

【特許請求の範囲】
【請求項1】
第1のinodeテーブルを含むコンピューティングファイルシステムにおいてinodeを割り当てる方法であって、
前記第1のinodeテーブルのすべてのinodeが初期化済みであるか否かを判断するステップと、
前記第1のinodeテーブルのすべてのinodeが初期化済みであるとの判断に応答して、追加のinodeを割り当てるさらなるinodeテーブルを作成するステップと
を含む方法。
【請求項2】
前記さらなるinodeテーブルのすべてのinodeが初期化済みであるときに、少なくとも1つの追加のinodeテーブルを作成するステップ
をさらに含む請求項1に記載の方法。
【請求項3】
1つまたは2つ以上のinodeマップ(複数可)を提供するステップをさらに含み、
前記inodeマップ(複数可)は、選択され、割り当てられたinodeを含む前記inodeテーブルのディスクブロックアドレスを指し示す
請求項1に記載の方法。
【請求項4】
各前記inodeテーブルにおけるinodeの個数は、ディスク空間の総量と、各前記inodeマップで参照されるinodeテーブルアドレスの個数との関数である
請求項3に記載の方法。
【請求項5】
ファイルシステムの作成中にinodeの個数を求めるステップをさらに含む
請求項4に記載の方法。
【請求項6】
少なくとも第1のinodeテーブルとさらなるinodeテーブルを含むコンピューティングファイルシステムにおいてinodeを割り当て解除する方法であって、
前記さらなるinodeテーブルが、初期化されたinodeを含まないかを判断するステップと、
前記さらなるテーブルが初期化されたinodeを含まないとの判断に応答して、前記さらなるinodeテーブルを削除するステップと
を含む方法。
【請求項7】
前記さらなるinodeテーブルに関連付けられているinodeマップにおける前記さらなるinodeテーブルの参照子を削除するステップをさらに含む
請求項6に記載の方法。
【請求項8】
前記さらなるテーブルが前記inodeマップによって参照される唯一のテーブルであるとの判断に応答して、前記さらなるテーブルに関連付けられている前記inodeマップを削除するステップ
をさらに含む請求項7に記載の方法。
【請求項9】
第1のinodeテーブルを含むコンピュータファイルシステムにおいてinodeを割り当てるコンピュータプログラムであって、コンピューティングシステムのコンピュータ可読媒体上で実施されると、
前記第1のinodeテーブルのすべてのinodeが初期化済みであるか否かを判断するステップと、
前記第1のinodeテーブルのすべてのinodeが初期化済みであるとの判断に応答して、追加のinodeを提供するさらなるinodeテーブルを作成するステップと
を前記コンピューティングシステムに実施させる少なくとも1つの命令を含むコンピュータプログラム。
【請求項10】
前記さらなるinodeテーブルのすべてのinodeが初期化済みであるときに、少なくとも1つの追加のinodeテーブルを作成するステップをさらに実施するように構成されている
請求項9に記載のコンピュータプログラム。
【請求項11】
前記コンピュータプログラムは、1つまたは2つ以上のinodeマップ(複数可)を提供するステップをさらに実施するように構成され、
前記inodeマップ(複数可)は、選択され、割り当てられたinodeを含む前記inodeテーブルのディスクブロックアドレスを指し示す
請求項9に記載のコンピュータプログラム。
【請求項12】
各前記inodeテーブルにおけるinodeの個数は、ディスク空間の総量と、各前記inodeマップで参照されるinodeテーブルアドレスの個数との関数である
請求項11に記載のコンピュータプログラム。
【請求項13】
ファイルシステムの作成中にinodeの個数を求めるステップをさらに実施するように構成されている
請求項12に記載のコンピュータプログラム。
【請求項14】
少なくとも第1のinodeテーブルとさらなるinodeテーブルを含むコンピュータファイルシステムにおいてinodeを割り当て解除するコンピュータプログラムであって、コンピューティングシステムのコンピュータ可読媒体上で実施されると、
前記さらなるinodeテーブルが初期化されたinodeを含まないかを判断するステップと、
前記さらなるinodeテーブルが初期化されたinodeを含まないとの判断に応答して、前記さらなるinodeテーブルを削除するステップと
を前記コンピューティングシステムに実施させる少なくとも1つの命令を含むコンピュータプログラム。
【請求項15】
前記さらなるinodeテーブルに関連付けられているinodeマップにおける前記さらなるinodeテーブルの参照子を削除するステップをさらに実施するように構成されている
請求項14に記載のコンピュータプログラム。
【請求項16】
前記さらなるテーブルが前記inodeマップによって参照される唯一のテーブルであるとの判断に応答して、前記さらなるテーブルに関連付けられている前記inodeマップを削除するステップをさらに実施するように構成されている
請求項15に記載のコンピュータプログラム。
【請求項17】
請求項9に記載のコンピュータプログラムを記憶したコンピュータ可読媒体。
【請求項18】
請求項14に記載のコンピュータプログラムを記憶したコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−64417(P2009−64417A)
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−163998(P2008−163998)
【出願日】平成20年6月24日(2008.6.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】