JP4907605B2 - inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム - Google Patents
inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP4907605B2 JP4907605B2 JP2008163998A JP2008163998A JP4907605B2 JP 4907605 B2 JP4907605 B2 JP 4907605B2 JP 2008163998 A JP2008163998 A JP 2008163998A JP 2008163998 A JP2008163998 A JP 2008163998A JP 4907605 B2 JP4907605 B2 JP 4907605B2
- Authority
- JP
- Japan
- Prior art keywords
- inode
- map
- inodes
- file system
- inode table
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
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を返す
}
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を検索してフェッチするための時間
T=(Tca+Tci)+(Tsic+Tsi)+(Taa+Tia+Tai+Tii)+Tsa
=K+n×Ksa(簡単にするためにすべての定数の合計をKによって置き換える)
となる。
O(T)=O(K)+O(n×Ksa)
近似値=O(n) (K及びKsaは定数であるので)
となる。
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
Claims (14)
- 予め定められた数のinodeを格納しうる第1のinodeテーブルを含むコンピューティングファイルシステムにおいてinodeを割り当てる方法であって、
前記コンピューティングファイルシステムのコンピュータに、
前記第1のinodeテーブルに、前記予め定められた数のinodeが格納されているか否かを判断するステップと、
前記コンピューティングファイルシステムにおいて、新たなinodeを割り当てる場合に、前記判断するステップにより、前記第1のinodeテーブルに、前記予め定められた数のinodeが格納されていると判断されたときは、前記コンピューティングファイルシステムにおいて、第2のinodeテーブルを作成するステップと、
前記第1のinodeテーブルのディスクブロックアドレスの一覧を含む第1のinodeマップ、および、前記第2のinodeテーブルのディスクブロックアドレスの一覧を含む第2のinodeマップを作成するステップと
を実行させ、
前記第1のinodeマップは、前記第2のinodeマップの位置情報を含む
方法。 - 前記第2のinodeテーブルに、予め定められた数のinodeが格納されている場合に、少なくとも1つの第3のinodeテーブルを作成するステップと、
前記第3のinodeテーブルのディスクブロックアドレスの一覧を含む第3のinodeマップを作成するステップと
を前記コンピュータにさらに実行させ、
前記第2のinodeマップは、前記第3のinodeマップの位置情報をさらに含む
請求項1に記載の方法。 - 各前記inodeテーブルに格納されうるinodeの数は、ディスク空間の総量と、各前記inodeマップで参照されるinodeテーブルアドレスの個数との関数である
請求項2に記載の方法。 - ファイルシステムの作成中に、前記inodeの数を求めるステップ
を前記コンピュータにさらに実行させる請求項3に記載の方法。 - 予め定められた数のinodeをそれぞれ格納しうる少なくとも第1のinodeテーブルと、第2のinodeテーブルとを含むコンピューティングファイルシステムにおいてinodeを割り当て解除する方法であって、
前記コンピューティングファイルシステムのコンピュータに、
前記第2のinodeテーブルに、inodeが格納されているか否かを判断するステップと、
前記判断するステップにより、前記第2のinodeテーブルにinodeが格納されていると判断された場合以外は、前記第2のinodeテーブルを削除するステップと、
前記第2のinodeテーブルを削除した場合に、前記第1のinodeテーブルのディスクブロックアドレスの一覧を少なくとも含む第1のinodeマップから、前記第2のinodeテーブルのディスクブロックアドレスの一覧を少なくとも含む第2のinodeマップの位置情報を削除するステップと
を実行させる方法。 - 前記第2のinodeテーブルを削除した場合に、前記第2のinodeテーブルに対応する前記第2のinodeマップを削除するステップ
を前記コンピュータにさらに実行させる請求項5に記載の方法。 - 予め定められた数のinodeを格納しうる第1のinodeテーブルを含むコンピューティングファイルシステムにおいてinodeを割り当てるコンピュータプログラムであって、
前記コンピューティングファイルシステムのコンピュータに、
前記第1のinodeテーブルに、前記予め定められた数のinodeが格納されているか否かを判断するステップと、
前記コンピューティングファイルシステムにおいて、新たなinodeを割り当てる場合に、前記判断するステップにより、前記第1のinodeテーブルに、前記予め定められた数のinodeが格納されていると判断されたときは、前記コンピューティングファイルシステムにおいて、第2のinodeテーブルを作成するステップと、
前記第1のinodeテーブルのディスクブロックアドレスの一覧を含む第1のinodeマップ、および、前記第2のinodeテーブルのディスクブロックアドレスの一覧を含む第2のinodeマップを作成するステップと
を実行させ、
前記第1のinodeマップは、前記第2のinodeマップの位置情報を含む
コンピュータプログラム。 - 前記第2のinodeテーブルに、予め定められた数のinodeが格納されている場合に、少なくとも1つの第3のinodeテーブルを作成するステップと、
前記第3のinodeテーブルのディスクブロックアドレスの一覧を含む第3のinodeマップを作成するステップと
を前記コンピュータにさらに実行させ、
前記第2のinodeマップは、前記第3のinodeマップの位置情報をさらに含む
請求項7に記載のコンピュータプログラム。 - 各前記inodeテーブルに格納されうるinodeの数は、ディスク空間の総量と、各前記inodeマップで参照されるinodeテーブルアドレスの個数との関数である
請求項8に記載のコンピュータプログラム。 - ファイルシステムの作成中に、前記inodeの数を求めるステップ
を前記コンピュータにさらに実行させる
請求項9に記載のコンピュータプログラム。 - 予め定められた数のinodeをそれぞれ格納しうる少なくとも第1のinodeテーブルと、第2のinodeテーブルとを含むコンピューティングファイルシステムにおいてinodeを割り当て解除するコンピュータプログラムであって、
前記コンピューティングファイルシステムのコンピュータに、
前記第2のinodeテーブルに、inodeが格納されているか否かを判断するステップと、
前記判断するステップにより、前記第2のinodeテーブルにinodeが格納されている場合以外は、前記第2のinodeテーブルを削除するステップと、
前記第2のinodeテーブルを削除した場合に、前記第1のinodeテーブルのディスクブロックアドレスの一覧を少なくとも含む第1のinodeマップから、前記第2のinodeテーブルのディスクブロックアドレスの一覧を少なくとも含む第2のinodeマップの位置情報を削除するステップと
を実行させるコンピュータプログラム。 - 前記第2のinodeテーブルを削除した場合に、前記第2のinodeテーブルに対応する前記第2のinodeマップを削除するステップ
を前記コンピュータにさらに実行させる請求項11に記載のコンピュータプログラム。 - 請求項7に記載のコンピュータプログラムを記憶したコンピュータ可読媒体。
- 請求項11に記載のコンピュータプログラムを記憶したコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1352CH2007 | 2007-06-25 | ||
IN1352/CHE/2007 | 2007-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009064417A JP2009064417A (ja) | 2009-03-26 |
JP4907605B2 true JP4907605B2 (ja) | 2012-04-04 |
Family
ID=40137611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008163998A Expired - Fee Related JP4907605B2 (ja) | 2007-06-25 | 2008-06-24 | inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080320052A1 (ja) |
JP (1) | JP4907605B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190655B2 (en) * | 2009-07-02 | 2012-05-29 | Quantum Corporation | Method for reliable and efficient filesystem metadata conversion |
US8433694B1 (en) | 2011-01-31 | 2013-04-30 | Symantec Corporation | File cache optimization using element de-prioritization |
US8510510B1 (en) | 2011-01-31 | 2013-08-13 | Symantec Corporation | File cache optimization using element prioritization |
US9495377B2 (en) | 2012-09-12 | 2016-11-15 | International Business Machines Corporation | Secure deletion operations in a wide area network |
US10127236B1 (en) * | 2013-06-27 | 2018-11-13 | EMC IP Holding Company | Filesystem storing file data in larger units than used for metadata |
US9323763B2 (en) | 2013-10-25 | 2016-04-26 | International Business Machines Corporation | Managing filesystem inodes |
US9594763B2 (en) * | 2014-04-28 | 2017-03-14 | Quantum Corporation | N-way Inode translation |
KR102342564B1 (ko) | 2015-03-03 | 2021-12-24 | 한국전자통신연구원 | 파일 시스템을 생성하고 삭제하는 장치 및 그의 구동 방법 |
CN105224607B (zh) * | 2015-09-06 | 2019-05-24 | 浪潮(北京)电子信息产业有限公司 | 一种模拟云存储设备的虚拟文件系统设计方法 |
US10942663B2 (en) * | 2019-01-29 | 2021-03-09 | EMC IP Holding Company LLC | Inlining data in inodes |
CN114327290B (zh) * | 2021-12-31 | 2022-12-02 | 科东(广州)软件科技有限公司 | 一种磁盘分区的结构、格式化方法和访问方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4887204A (en) * | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US5175852A (en) * | 1987-02-13 | 1992-12-29 | International Business Machines Corporation | Distributed file access structure lock |
US4897781A (en) * | 1987-02-13 | 1990-01-30 | International Business Machines Corporation | System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment |
US5151989A (en) * | 1987-02-13 | 1992-09-29 | International Business Machines Corporation | Directory cache management in a distributed data processing system |
EP0681721B1 (en) * | 1993-02-01 | 2005-03-23 | Sun Microsystems, Inc. | Archiving file system for data servers in a distributed network environment |
EP1003103B1 (en) * | 1993-06-03 | 2008-10-01 | Network Appliance, Inc. | Write anywhere file-system layout method and apparatus |
US5713008A (en) * | 1995-06-08 | 1998-01-27 | Sun Microsystems | Determination of working sets by logging and simulating filesystem operations |
US5771379A (en) * | 1995-11-01 | 1998-06-23 | International Business Machines Corporation | File system and method for file system object customization which automatically invokes procedures in response to accessing an inode |
US5956507A (en) * | 1996-05-14 | 1999-09-21 | Shearer, Jr.; Bennie L. | Dynamic alteration of operating system kernel resource tables |
US5875444A (en) * | 1996-12-10 | 1999-02-23 | International Business Machines Corporation | Computer file system check and repair utility |
US6654772B1 (en) * | 1999-04-28 | 2003-11-25 | Emc Corporation | Multi-volume extent based file system |
US6556998B1 (en) * | 2000-05-04 | 2003-04-29 | Matsushita Electric Industrial Co., Ltd. | Real-time distributed file system |
US6530038B1 (en) * | 1999-09-16 | 2003-03-04 | International Business Machines Corporation | Streamlined initialization and refresh of file system directory limits |
US6782389B1 (en) * | 2000-09-12 | 2004-08-24 | Ibrix, Inc. | Distributing files across multiple, permissibly heterogeneous, storage devices |
US6868417B2 (en) * | 2000-12-18 | 2005-03-15 | Spinnaker Networks, Inc. | Mechanism for handling file level and block level remote file accesses using the same server |
US6643654B1 (en) * | 2001-06-25 | 2003-11-04 | Network Appliance, Inc. | System and method for representing named data streams within an on-disk structure of a file system |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US7313720B1 (en) * | 2004-02-12 | 2007-12-25 | Network Appliance, Inc. | Technique for increasing the number of persistent consistency point images in a file system |
US7293154B1 (en) * | 2004-11-18 | 2007-11-06 | Symantec Operating Corporation | System and method for optimizing storage operations by operating only on mapped blocks |
US20060206484A1 (en) * | 2005-03-14 | 2006-09-14 | Hitachi, Ltd. | Method for preserving consistency between worm file attributes and information in management servers |
US7865462B2 (en) * | 2006-01-03 | 2011-01-04 | Hitachi, Ltd. | Apparatus and method for replicating data in file system |
US7769719B2 (en) * | 2006-01-05 | 2010-08-03 | International Business Machines Corporation | File system dump/restore by node numbering |
US7930508B2 (en) * | 2006-03-07 | 2011-04-19 | Apple Inc. | File systems for data processing systems |
US8260831B2 (en) * | 2006-03-31 | 2012-09-04 | Netapp, Inc. | System and method for implementing a flexible storage manager with threshold control |
US7945726B2 (en) * | 2006-05-08 | 2011-05-17 | Emc Corporation | Pre-allocation and hierarchical mapping of data blocks distributed from a first processor to a second processor for use in a file system |
US20080183988A1 (en) * | 2007-01-30 | 2008-07-31 | Yanling Qi | Application Integrated Storage System Volume Copy and Remote Volume Mirror |
-
2008
- 2008-06-24 JP JP2008163998A patent/JP4907605B2/ja not_active Expired - Fee Related
- 2008-06-25 US US12/145,923 patent/US20080320052A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2009064417A (ja) | 2009-03-26 |
US20080320052A1 (en) | 2008-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4907605B2 (ja) | inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム | |
US8285967B1 (en) | Method for on-demand block map generation for direct mapped LUN | |
US10175894B1 (en) | Method for populating a cache index on a deduplicated storage system | |
US9697219B1 (en) | Managing log transactions in storage systems | |
US7035881B2 (en) | Organization of read-write snapshot copies in a data storage system | |
US9779023B1 (en) | Storing inline-compressed data in segments of contiguous physical blocks | |
US9727452B2 (en) | Distributing metadata across multiple different disruption regions within an asymmetric memory system | |
US7206915B2 (en) | Virtual space manager for computer having a physical address extension feature | |
US6401181B1 (en) | Dynamic allocation of physical memory space | |
JP4176857B2 (ja) | リファレンスされたオブジェクトを管理するための3状態リファレンスの使用 | |
US5899994A (en) | Flexible translation storage buffers for virtual address translation | |
US10248623B1 (en) | Data deduplication techniques | |
CN107402889B (zh) | 检索数据方法、存储数据方法和重复数据删除模块 | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
US20030149836A1 (en) | Storage device and method for data sharing | |
US6002866A (en) | Partitioning within a partition in a disk file storage system | |
US20100287356A1 (en) | Large memory pages for shared libraries | |
JP2008052730A (ja) | 可変の論理ストレージブロックサイズを有するファイルシステム | |
GB2265734A (en) | Free memory cell management system | |
US20070156763A1 (en) | Storage management system and method thereof | |
US10678704B2 (en) | Method and apparatus for enabling larger memory capacity than physical memory size | |
US7152069B1 (en) | Zero copy writes through use of mbufs | |
US20220035546A1 (en) | Base and compressed difference data deduplication | |
US8904128B2 (en) | Processing a request to restore deduplicated data | |
US7177980B2 (en) | Cache storage system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
LAPS | Cancellation because of no payment of annual fees | ||
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |