Ext4 online defrag実装に関する研究開発

Similar documents
計算機概論

マニュアル訂正連絡票

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

スライド 1

10-vm1.ppt

Microsoft PowerPoint - OS08.pptx

目次 背景 スナップショットの概要及び実装例 ext3 スナップショットの実現動機 ext3 スナップショットの実現方針 ffs スナップショットの概要 ext3 ファイルシステムのジャーナル機能の概要 ext3 スナップショットの設計 現時点の実装とその評価 今後の課題 2005/06/01 Li

PowerPoint プレゼンテーション

ファイルシステム

Arcserve Backup r16 新機能 テープブロックサイズの拡張 効果実測 Arcserve Japan 1.5 版

Data-Add User Manual.book

(Microsoft Word - WhitePaper_EvaluationAvanceNVBU__rev2_\203t\203H\201[\203\200\211\374\222\371\224\305_.doc)

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

Microsoft PowerPoint - dev1.ppt

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

CLUSTERPRO MC StorageSaver 2.2 for Linux リリースメモ 2017(Apr) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

PowerPoint プレゼンテーション

Linuxのベンチマーク評価 とボトルネック解析

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

Logical Volume Manger (LVM) の制限に関する情報

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

FIT2015( 第 14 回情報科学技術フォーラム ) RC-003 ファイル格納位置制御による Hadoop MapReduce ジョブの性能の向上 藤島永太山口実靖 工学院大学大学院工学研究科電気 電子工学専攻工学院大学工学部情報通信工学科 1. はじめに近年, 世界中の情報量が爆発的に増加し

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

TFTP serverの実装

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

Operating System 仮想記憶

今さら聞けない!? Oracle入門 ~前編~

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2015/03/31 Page 2 NEC Corporation 2015

フォーマット/メンテナンスガイド

vdi_service_details

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

C言語におけるファイル入出力の高速化

PowerPoint Presentation

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2013/03/ OverAction と DiskStallAction の値変更 (ActionNone ServiceCmdDisable ProcessOfRdmstatKillEnable ServiceCmdEnable)

本仕様はプロダクトバージョン Ver 以降に準じています

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - os ppt [互換モード]

目次 はじめに Introduction Analyzing Big Data Vectorwise and Hadoop Environments Vectorwise Hadoop Connector Perform

アドバンスト・フォーマットディスクのパフォーマンス

Microsoft PowerPoint - install_NGSsokushu_windows(ver2.1).pptx

PowerPoint プレゼンテーション

ISM BoxOne 動作環境 サーバー OS エディションサービスパッククライアント RCコンソールシステムサーバーログサーバー RCサーバー Linux(x64) CentOS 6 Mac OS X (IntelCPU) Windows(x86) XP Home SP2 P

フォーマット(初期化)について

MMUなしプロセッサ用Linuxの共有ライブラリ機構

SP-H6-KC Saison Information Systems CO.,LTD

CLUSTERPRO MC RootDiskMonitor 1.1 for Linux リリースメモ 2013(Sep) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

本仕様はプロダクトバージョン Ver 以降に準じています

フォーマット/メンテナンスガイド

使用する前に

lc2005-nilfs-1.05.sxi

SVF Ver 環境設定 パッチについて

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

 

Microsoft PowerPoint - yamagata.ppt

CLUSTERPRO MC RootDiskMonitor 2.3 for Linux HW-RAID 監視機能 リリースメモ 2018(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

今さら聞けない!? Oracle入門 ~後編~

ブート ~OS が起動されるまで~

CLUSTERPRO MC StorageSaver 1.1 for Linux リリースメモ 2015(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

MIRACLE System Savior による Red Hat Storage 2.1 on HP ProLiant SL4540 Gen8 バックアップ / リストア検証報告書 ミラクル リナックス株式会社 作成者 : エンタープライズビジネス本部 青山雄一

Microsoft PowerPoint - kougi8.ppt

Microsoft PowerPoint - sp ppt [互換モード]

POSIXプログラミング Pthreads編

OS

Arcserve Replication/High Availability 製品の仕組み

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS09.pptx

IceWall Remote Configuration Managerのご紹介

MAGNIA Storage Server Configuration Guide

1. 主な機能追加項目 以下の検索項目をサポートしました 書誌 全文検索コマンド検索 国内 査定日 最新の査定日 ( 登録査定日または拒絶査定日 ) を検索します 査定種別 最新の登録 拒絶査定 または査定なしを検索します 審査最終処分日 最新の審査最終処分日を検索します 審査最終処分種別 最新の審

内容環境... 3 対応 OS の変更... 3 関連アプリケーションの追加... 4 機能追加... 5 グラフ機能... 5 稼働率... 8 サービス一括削除 自動復旧エスカレーションコマンド AWS カスタムメトリックス監視 NRPE 任意監視... 11

Microsoft Word - 楽天㇯ㅩ㇦ㅛIaaSㇵㅼã…fiã‡¹ä»Łæ§Ÿ.doc

インテル® キャッシュ・アクセラレーション・ソフトウェア (インテル® CAS) Linux* 版 v2.8 (GA)

Microsoft Word - amp_setup.doc

04-process_thread_2.ppt

<4C696E A B835E A CC8A D20838A B835E B838982CC8EC08CB

Microsoft Word - nvsi_060132jp_datadomain_restoreDRAFT4.doc

スライド 1

Futaba File System Utility T12K/T14SG/FX-22/T12FG/T8FG/FX-20 用ファイルシステムユーティリティ説明書 (Version 7. x) T12K/T14SG/FX-22/T12FG/T8FG/FX-20 はモデルデータを SD カードに保存する

CLUSTERPRO MC ProcessSaver 2.1 for Linux リリースメモ 2016(Mar) NEC Corporation ライセンス パッケージのインスト ル セットアップ マニュアル 障害発生時の手順 補足事項 注意事項

2-3- 基 Linux のシステム管理に関する知識 1 独立行政法人情報処理推進機構

NEC 製PC サーバ『Express5800 R120f-1E』とSanDisk『ioMemory SX /SX 』検証報告書

Microsoft Word - MOPatch-1.doc

Rational Roseモデルの移行 マニュアル

fse7_time_sample

April 2014 Flash-aware MySQL フラッシュが MySQL を変える Takeshi Hasegawa Senior Sales Engineer APAC Japan Fusion-io

WSUS Quick Package

bitvisor_summit.pptx

イントラネット仮想ホスティング Linux 仮想マシン初期利用ガイド ご参考資料 2015 年 06 月 29 日 Version 1.0 bit- drive Version1.0 イントラネット仮想ホスティグ Linux 仮想マシン初期利用ガイド ご参考資料 1/14

<4D F736F F D2091B28BC68CA48B8695F18D908F912E646F63>

HULFT8 for Windows/UNIX/Linux/zLinux の機能で発生する不具合について

ホワイト ペーパー EMC VFCache により Microsoft SQL Server を高速化 EMC VFCache EMC VNX Microsoft SQL Server 2008 VFCache による SQL Server のパフォーマンスの大幅な向上 VNX によるデータ保護 E

Microsoft PowerPoint - No6note.ppt

Sharing the Development Database

PN-T321

電子紊品チェックシステム利用マニュアル

本文ALL.indd

<4D F736F F F696E74202D208C7997CA89BB8E9E8AD491AA92E B2E B8CDD8AB B83685D>

要求受付機能 管理番号内容対象バージョン 314 トレースログに重複してメッセージが出力される場合がある 6.3.2~ 大量のファイルトリガ情報が登録されている状態でファイルトリガプロセスを起動するとファイルトリガプロセスが停止する場合がある 7.2.0~7.3.1 ユーティリティ

まう不具合を解消 Windows10 バージョン1803で ディスプレイのサイズを125% 150% にすると STORM VのTOP 画面がズレてしまう不具合を解消しました 6. 動画 + 音声 コンテンツをインポートすると再編集出来なくなる不具合を解消 スライド+ 動画 + 音声 コンテンツをイ

Transcription:

ext4 オンラインデフラグ実装に関する研究開発 藤田朗佐藤尚 NECソフトウェア東北株式会社 概要 ext3 は Linux の標準ファイルシステムとして広く利用されてきたが 年々増加傾向にあるデータサイズに対応しきれなくなってきた ext3 が抱える諸般の問題を解消する目的で 次世代ファイルシステムの ext4 が開発された ext4 はできるだけ連続した領域のブロックを割り当てるよう考慮されているが 並列書き込み時や空き容量が少ない場合 フラグメントが発生しやすく システム停止をせずにフラグメントを解消する方法がなかった そこで我々は オンラインでフラグメントを解消する方法を考案し 実装した 本論文では linux-2.6.31 の rc( リリース候補 ) 版に含まれた ext4 オンラインデフラグ機能の実装とフラグメント解消による性能向上について述べる 1. はじめにファイルシステムを長く運用している場合 それまでの書き込み 削除によりファイルデータのブロックがディスク上離れた領域に格納され フラグメントが発生する ファイルの読み込み時に複数箇所のブロックを検索するため ハードディスクの無駄なシークが発生し 連続した領域に対するアクセスに比べ I/O 性能が悪化する さらに 度重なるハードディスクのシークにより 駆動部分の耐久性が低下し ひいてはハードディスク故障によるシステムの信頼性の低下にもつながる フラグメントが I/O 性能に及ぼす影響を図 1に示す フラグメントが発生した 1GB のファイルを読み込んだ場合 どのファイルシステム種別でも読み込み性能が劣化している 図 1 フラグメントによる読み込み性能劣化 評価環境カーネル : 2.6.31-rc3, アーキテクチャ : i386, CPU: Xeon 3.0GHz, メモリ : 1GB 先進的なファイルシステムでは 発生したフラグメントを解消し性能劣化を改善す - 1 -

るためデフラグ機能に対応している ( 表 1) しかし Linux の標準ファイルシステムである ext3 ではデフラグ機能に対応していない つまり ext3 ではシステム停止をせずにフラグメントを解消する方法がなかった ext4 がデフラグ機能に対応しない場合 Linux ユーザが ext4 採用を敬遠することも考えられる さらに デフラグ機能などの管理ツールが充実していないことは Windows から Linux への移行を検討する際の障害にもなりかねない しかし デフラグ機能を実装し フラグメントを解消することでハードディスクの I/O 性能が向上し システム全体のスループットの改善も見込める そこで我々は ext4 オンラインデフラグ機能を開発し Linux コミュニティへ提案した 表 1 主要ファイルシステム (FS) のデフラグ機能対応状況 FS 種別デフラグ対応状況 ext3 ext4 JFS NTFS XFS Btrfs : 対応 : 未対応上記は執筆時点の最新版である linux-2.6.31-rc3 を参考にした ext4 は我々が行った開発により デフラグ機能に対応した 2. ext4 の研究開発の動向 ext4 は機能強化と諸元拡大する目的として Theodore Ts o 氏を中心に開発が進めら れた ext4 では 最大ファイルサイズが ext3 の 8 倍になり ( 表 2) ブロックアロケーショ ン機能の強化がなされている ( 表 3) 表 2 ext3 ext4 の諸元比較 最大ファイル FS 種別 最大 FSサイズ サイズ ext3 2TB 16TB ext4 16TB 1EB 表 3 ext4 の主要機能 機能 効果 ファイルサイズ ファイル Extents システムサイズ拡大 ブロックの検索高速化 Delayed 連続ブロック割り当て allocation Multi-block allocation Flex_bg, Uninit_bg Journal checksumming 連続ブロックでのブロック割当て効率化ファイルシステム異常時の復旧時間の短縮化ジャーナルの性能と信頼性の向上 ext4 オンラインデフラグに関係する機能 間接ブロック管理とエクステント管理 ext4 で扱えるファイルサイズが大きくな ったのに伴い 新しいファイル管理方式が 導入された ext4 では ext3 で用いられてきた従来の 間接ブロック管理 ( 図 2) のほか 標準機能と してエクステント形式でのファイルブロッ ク管理 ( 図 3) をサポートしている 間接ブロック管理では 0-11 のブロック は直接ブロックであり 12,13,14 番目のブ ロックはそれぞれ 1 段 2 段 3 段の間接ブ - 2 -

ロックである ファイルサイズが大きくなるにつれて 多くの間接ブロックを参照する必要があり 大きいファイルを扱うのには向いていない データ データ データ ブロック ブロック ブロック トが悪化し エクステント数が増加すると間接ブロック管理と同様に非効率なアクセスとなってしまう 表 4は ext3, ext4 上に 1GB のファイルを作成した際のフラグメント数による読み込み時間の性能劣化を示す ext3 と比べ ext4 のフラグメント数は減少しているが ブロック管理の方法に関係なく フラグメントが読み込み速度に影響していることがわかる 表 4 フラグメントによる性能劣化 データブロック データブロック FS ( 管理方法 ) ext3( 間接 ) フラグ読み込メントみ ( 秒 ) 9 14.697 251 15.894 性能劣化 -8.1% 0 1 11 12 13 14 ext4( 間接 ) 5 15.554 123 17.246-10.9% 直接ブロック 間接ブロック 図 2 間接ブロック管理 ext4( エク 6 14.901-3.4% ステント ) 125 15.404 フラグメントの作成方法 :dd コマンドを 10 並列で実行 読み込み ( 秒 ) は cat コマンドを実行した 5 回分の平均時間 フラグメント ext4 ではサポートできる最大ファイルサイズの拡大に伴い データ書き込み時に連続した領域にデータを格納できるようにするため 以下の2つの機能をサポートし フラグメントの発生を抑制している Delayed allocation 図 3 エクステント形式での管理エクステント形式では連続ブロックを領域として管理する フラグメントが少ない場合 大きなファイルでもアクセス時間の低下は発生しにくい ただし フラグメン ディスクへのデータの書き込みを遅延させ ブロック割り当てのリクエストをまとめることで連続した領域にデータを書き込む Multi-block allocation 1 度のブロック割り当て処理で連続した複数のブロックを割り当てる - 3 -

実際の運用時には 複数プロセスによる並列書き込み 空き容量の減少によりフラグメントが大量に発生しやすくなる フラグメントによる I/O 性能の低下は システム運用において軽視できるものではない ext4 は標準で大きなサイズを扱えるエクステント形式のファイルをサポートしている 従来の間接ブロック管理のファイルは互換性を維持するために利用可能となっているが ファイルサイズの諸元も小さいことから ext4 ではあまり利用されないことが見込まれる そのため ext4 オンラインデフラグ機能は エクステント形式のファイルをサポートしている file( データ交換用ファイル ) の作成 連続ブロックの割当てをユーザ空間で行うよう変更した ここでは ext4 オンラインデフラグ ver. 2.0 の実装について述べる 3-1 e4defrag コマンドでのブロック交換 e4defrag コマンドによるユーザ空間からみたブロック交換処理を説明する 1 ユーザ空間で新規に donor_file を作成する 作成した donor_file に unlink システムコールを呼び出し ファイルのリンク数を 0 にする 3. ext4 オンラインデフラグ実装方式 ext4 オンラインデフラグは新規に考案したユーザ空間プログラムの e4defrag コマンドとカーネル空間の EXT4_IOC_MOVE_EXTENT ioctl により実現される機能である ext4 オンラインデフラグ機能は 2006 年後半からLinuxコミュニティに提案活動を行ってきた 1 2 約 3 年間におよびコミュニティで議論 [3] [4] [5] [6] を繰り返した結果 2009 年 6 月にリリースしたver. 2.0 が正式にLinuxに含まれることになった [7] [8] 開発当初の ext4 オンラインデフラグは デフラグに特化した ioctl を実装していた コミュニティとの議論により ioctl を汎用的にし カーネル空間で行っていた donor 1 Linuxファイルシステム開発用のメーリングリストのアーカイブ, http://marc.info/?l=linux-fsdevel&r=1&w=2 2 ext4 開発用のメーリングリストのアーカイブ, http://marc.info/?l=linux-ext4&r=1&w=2 図 4 donor_file の作成 2 fallocate システムコール 3 を用いて donor_fileに対して orig_file( デフラグ対象ファイル ) と同じ数の連続したブロックを割り当てる 3 fallocateシステムコール開始オフセットからバイト分を指定し 領域を対象ファイルに割り当てるシステムコール 割り当てられた領域にはデータを書き込まないため 高速に処理が終了する デフラグではこのシステムコールを用い あらかじめ連続したブロックをファイルに割り当て 後に呼ばれる EXT4_IOC_MOVE_EXTENT でデータを書き込む - 4 -

トが少ない連続したブロックを保持することになる 図 5 fallocate によるブロック割り当て 3 FS_IOC_FIEMAP ioctl 4 を呼び出し donor_fileのエクステント数を算出する 2で割り当てたブロックのエクステント数 (= フラグメント数 ) がorig_fileより少ない つまりデフラグによりフラグメントの改善が見込めることを確認する 図 7 ブロック交換 5 ブロック交換後の donor_file は必要ないため 後処理として close システムコールを呼び出す リンク数が 0 である donor_file は削除される 図 6 エクステント数の比較 図 8 donor_file の削除 4 donor_file のエクステント 1 個ごとに EXT4_IOC_MOVE_EXTENT ioctl を呼び orig_file donor_file 間でデータブロックを交換する この結果 orig_file と donor_file が指す物理ブロックが交換され orig_file はフラグメン 4 FS_IOC_FIEMAP ioctl 指定したファイルの論理オフセット 物理オフセット ブロック長などのエクステント情報を取得する ioctl 取得したエクステント数はフラグメント数に等しいため e4defrag コマンドでは orig_file, donor_file のフラグメント数を比較し 改善が見込める場合のみ処理を継続する 3-2 EXT4_IOC_MOVE_EXTENT EXT4_IOC_MOVE_EXTENT は指定した 2 つのファイル間でブロックを交換する ioctl である move_extent 構造体 ( 図 9) を入出力引数とし ファイルの論理オフセット orig_start から len ブロック分をデフラグ対象ファイル (orig_file) とデータ交換用の一時ファイル (donor_file) 間で交換する - 5 -

#define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent) struct move_extent { u32 reserved; /* should be zero */ u32 donor_fd; /* donor file descriptor */ u64 orig_start; /* logical start offset in block for orig */ u64 donor_start; /* logical start offset in block for donor */ u64 len; /* block length to be moved */ u64 moved_len; /* moved block length */ }; 図 9 EXT4_IOC_MOVE_EXTENT と move_extent 構造体 EXT4_IOC_MOVE_EXTENT ioctl のカ ーネル内部で行うブロック交換処理について説明する 1 move_extent 構造体に設定された値を元に orig inode のデータを交換する論理オフセットの範囲を決定する 図 11 ページキャッシュ読み込み 3 データブロック交換用に orig inode, donor inode ともにエクステントを複製する 図 10 ブロック交換範囲の設定 上記の例では orig inode の先頭ブロックから 150 ブロック目までの 151 ブロックを対象とする 4 ブロック交換処理はページサイズごとに行うため 複製したエクステントを1 ページサイズ分に整形する 2 指定された論理オフセットに該当する orig inode のファイルデータをページキャッシュに読み込む 図 12 エクステントの複製とサイズ調整 5 整形したエクステントを orig inode の - 6 -

同じ論理オフセットに該当するエクステントへ上書きする これにより orig のエクステントが指すブロックが変更される 図 13 ブロック交換 6 4 5で行った処理を今度は orig inode から donor inode へ実行する これによりお互いのブロックがページサイズ分交換される 7 ページキャッシュ上の変更されたデータをディスクへ書き出す orig inode のデータが donor inode のブロックへ書き出される 2-5の処理を1ページごとに実施し 1で算出した範囲 ( 例では先頭から 150 ブロック目まで ) を実施するまで繰り返す 3-3 ファイルアクセスの排他オンラインでデフラグを実施するために カーネル空間では inode 構造体の mutex ロック (i_mutex) と ext4_inode_info 構造体のセマフォ (i_data_sem) を利用する i_mutex は他プロセスからの truncate を防ぐために取得され カーネル空間での処理が終了するまで保持する i_data_sem はブロックを参照する処理では読み込みセマフォ データブロックの割り当て 削除を行う処理では書き込みセマフォを局所的に取得 解放する XFS のデフラグコマンドの xfs_fsr はデフラグ実行中にファイルが変更された場合は処理が失敗となってしまうが ext4 オンラインデフラグではこれらを用いた排他により 他のプロセスが占有しているファイルに対してもデフラグが実行可能となっている 3-4 性能改善結果 ext4 上に作成した 2GB のファイルに対し ext4 オンラインデフラグ実行前後のフラグメント数と読み込み時間の改善具合を表 5に示す デフラグの実行により読み込み時間が約 16% 改善している 図 14 ページキャッシュ書出し - 7 -

表 5 デフラグによる性能改善フラグデフラグ読み込み ( 秒 ) 改善メント前 257 39.893 15.6% 後 24 33.653 評価環境カーネル : 2.6.31-rc3, アーキテクチャ : i386, CPU: Xeon 3.0GHz, メモリ : 1GB 性能測定方法 :dd コマンドを 10 並列で実行し作成した 2GB のファイルに対し ext4 オンラインデフラグ実行前後での cat コマンドの読み込み時間を測定 表 5 は 5 回測定した平均値 4. 今後の課題 ext4 オンラインデフラグ機能を実装することにより ファイル単位のデフラグが可能となった 今後は アプリケーションの性能向上 連続空きブロックが少ない状態でのデフラグを可能にするため 以下の 2 つの機能の追加を計画している 1. 指定したディレクトリ配下のファイルを物理的に近い領域に配置する 2. ファイルシステムの空きが少ない状態でも指定したファイルのフラグメントを優先的に解消する 1はアプリケーションが同時にアクセスするファイルを近隣に配置し アプリケーションの性能向上を図る機能である 2は連続した空きブロックが少ない状態でも デフラグ非対象ファイルを別の領域に移動することで連続した空き領域を作成し そこにデフラグ対象ファイルを格納する機能である これにより ext4 上に十分な連続空きブロックがない状態でも アク セス頻度が高いファイルなどに対し 優先的にデフラグを実行することが可能となる これら 2 つの機能をext4 オンラインデフラグに追加するためには 既存のext4 のブロックアロケーションをより柔軟で高機能なものにしなければならない そのため 我々はLinuxコミュニティへブロックアロケーション制御機能の提案を実施した [9] ブロックアロケーション制御機能は ext4 上の指定した領域への優先的なブロック割り当て または特定の領域をブロックアロケートから保護することを可能にする 現在 ファーストリリースに対して得られた Linux コミュニティからの意見を反映し 次のリリースに向けての開発を行っている 5. まとめ ext4 ファイルシステムのフラグメントを解消する方法として ext4 オンラインデフラグ機能を考案し 実装評価した結果 フラグメント解消による性能向上を実現した 継続的な提案活動と Linuxコミュニティの協力もあり ext4 オンラインデフラグ機能は 2009 年 6 月に linux-2.6.31-rc1 にマージされた 5 今後問題がなければ次のバージョンでLinuxの本流へ取りこまれる予定である また ユーザ空間プログラムの e4defrag コマンドも 2009 年 7 月に e2fsprogs-1.41.8 に含まれた 6 5 Linuxに取り込まれたパッチのcommit log, http://git.kernel.org/?p=linux/kernel/git/torvalds/ linux-2.6.git;a=commit;h=748de6736c1e482e111 f9d1b5a5d5b1787600cad 6 e2fsprogsに取り込まれたパッチのcommit log, http://e2fsprogs.git.sourceforge.net/git/gitweb.cg i?p=e2fsprogs;a=commit;h=4836459a3fe8ff208a 7bf21e28e4648bddc76440-8 -

カーネル コマンドともに正式なバージョンに含まれたことにより 今後多くの利用者からのフィードバックが得られ より品質やユーザビリティの強化が図られることが期待される 今後も ext4 への新機能の提案や開発 品質向上の活動を通じて Linux コミュニティに貢献していきたい 参考文献 [1] Takashi Sato. ext4 online defragmentation. In Ottawa Linux Symposium (2007) https://ols2006.108.redhat.com/2007/repri nts/sato-reprint.pdf [2] Daniel P. Bovet, Marco Cesati. 詳解 LINUX カーネル第 3 版 (2007), ISBN 978-4873113135 [3] Akira Fujita. [RFC][PATCH 0/3] ext4: online defrag (ver http://marc.info/?l=linux-ext4&m=1233759 29109850&w=2 [7] Akira Fujita. [RFC][PATCH 0/3]ext4: online defrag (ver 2.0), http://marc.info/?l=linux-ext4&m=1242975 98014251&w=2 [8] Theodore Ts o. Re: [RFC][PATCH 1/3] Add EXT4_IOC_MOVE_EXT ioctl and related functions, http://marc.info/?l=linux-ext4&m=1244899 32017806&w=2 [9] Akira Fujita. [RFC][PATCH 0/7]ext4: Block allocation restriction and inode preferred range of blocks for ext4, http://www.spinics.net/lists/linux-ext4/msg 13790.html 1.0), http://marc.info/?l=linux-ext4&m=1233295 94919001&w=2 [4] Chris Mason. Re: [RFC][PATCH 0/3] ext4: online defrag (ver 1.0), http://marc.info/?l=linux-ext4&m=1233346 55401020&w=2 [5] Greg Freemyer. Re: [RFC][PATCH 0/3] ext4: online defrag (ver 1.0), http://marc.info/?l=linux-ext4&m=1233354 84515745&w=2 [6] Theodore Ts o. Re: [RFC][PATCH 1/3] ext4: Add EXT4_IOC_DEFRAG ioctl and basic defrag functions, - 9 -