From 0b00e8a1ad2baaff7e17981803e369cece9a4674 Mon Sep 17 00:00:00 2001 From: Masanori Kobayasi Date: Sat, 12 May 2012 15:39:56 +0900 Subject: [PATCH] Release docs/kernel-docs-2.6/filesystems/ext4.txt [JF:20086] --- docs/kernel-docs-2.6/filesystems/ext4.txt | 701 ++++++++++++++++++++----- docs/kernel-docs-2.6/filesystems/ext4.txt.info | 4 +- www/news.m4 | 3 + 3 files changed, 565 insertions(+), 143 deletions(-) diff --git a/docs/kernel-docs-2.6/filesystems/ext4.txt b/docs/kernel-docs-2.6/filesystems/ext4.txt index 09e63c8..40eb119 100644 --- a/docs/kernel-docs-2.6/filesystems/ext4.txt +++ b/docs/kernel-docs-2.6/filesystems/ext4.txt @@ -1,9 +1,9 @@ ========================================================= ¤³¤ì¤Ï¡¢ -Linux-2.6.31.1/Documentation/filesystems/ext4.txt ¤ÎÏÂÌõ +linux-3.3/Documentation/filesystems/ext4.txt ¤ÎÏÂÌõ ¤Ç¤¹¡£ ËÝÌõÃÄÂΡ§ JF ¥×¥í¥¸¥§¥¯¥È < http://www.linux.or.jp/JF/ > -¹¹¿·Æü ¡§ 2009/07/25 +¹¹¿·Æü ¡§ 2012/05/11 ËÝÌõ¼Ô ¡§ Seiji Kaneko < skaneko at mbn dot or dot jp > ººÆÉ¼Ô : Hiroshi Suzuki ========================================================= @@ -35,14 +35,14 @@ ext4 #Note: More extensive information for getting started with ext4 can be # found at the ext4 wiki site at the URL: # http://ext4.wiki.kernel.org/index.php/Ext4_Howto -Ãíµ­: ext4 ¤ò¤Ï¤¸¤á¤ë¤ËÅö¤¿¤Ã¤Æ¤Î¤µ¤é¤Ë¾ÜºÙ¤ÊÀâÌÀ¤Ï¡¢²¼µ­ URL ¤Î ext4 Wiki - ¥µ¥¤¥È¤Ë¤¢¤ê¤Þ¤¹¡£ +Ãíµ­: ext4 ÍøÍѤò¤Ï¤¸¤á¤ë¤ËÅö¤¿¤Ã¤Æ¤Î¤µ¤é¤Ë¾ÜºÙ¤ÊÀâÌÀ¤Ï¡¢²¼µ­ URL ¤Î ext4 + Wiki ¥µ¥¤¥È¤Ë¤¢¤ê¤Þ¤¹¡£ http://ext4.wiki.kernel.org/index.php/Ext4_Howto # - Compile and install the latest version of e2fsprogs (as of this # writing version 1.41.3) from: - - ºÇ¿·¤Î e2fsprogs (¸½ºß¥Ð¡¼¥¸¥ç¥ó 1.41.3) ¤ò°Ê²¼¤«¤éÆþ¼ê¤·¡¢¥³¥ó¥Ñ¥¤¥ë¡¦ - ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ + - ºÇ¿·¤Î e2fsprogs (ËÜʸ½ñ¼¹É®»þÅÀ¤Ç¤Ï¥Ð¡¼¥¸¥ç¥ó 1.41.3) ¤ò°Ê²¼¤«¤éÆþ¼ê + ¤·¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ http://sourceforge.net/project/showfiles.php?group_id=2406 @@ -62,8 +62,8 @@ ext4 # you will need to merge your changes with the version from e2fsprogs # 1.41.x. - e2fsprogs 1.41.x ¥½¡¼¥¹ÉÕ°¤Î mke2fs.conf ¥Õ¥¡¥¤¥ë¤ò /etc/mke2fs.conf - ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï¤È¤Æ¤â½ÅÍפǤ¹¡£¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¢¤ë - /etc/mke2fs.conf ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ç¤ËÊÔ½¸¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢e2fsprogs 1.41.x + ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤È¤Æ¤â½ÅÍפǤ¹¡£¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¢¤ë + /etc/mke2fs.conf ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ç¤ËÊÔ½¸¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢e2fsprogs 1.41.x ¤ÎÈǤΤâ¤Î¤Ë´û¸¤Î½¤Àµ¤ò¥Þ¡¼¥¸¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ # - Create a new filesystem using the ext4 filesystem type: @@ -71,16 +71,16 @@ ext4 # mke2fs -t ext4 /dev/hda1 -# Or to configure an existing ext3 filesystem to support extents: - ¤Þ¤¿¤Ï¡¢´û¸¤Î ext3 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¨¥¯¥¹¥Æ¥ó¥È¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦Àß - Äꤷ¤Þ¤¹¡£ +# Or to configure an existing ext3 filesystem to support extents: + ¤Þ¤¿¤Ï¡¢´û¸¤Î ext3 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¡¢¥¨¥¯¥¹¥Æ¥ó¥È¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è + ¤¦ÀßÄꤷ¤Þ¤¹¡£ # tune2fs -O extents /dev/hda1 # If the filesystem was created with 128 byte inodes, it can be # converted to use 256 byte for greater efficiency via: ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ 128 ¥Ð¥¤¥È inode ¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¸úΨ¤Î¤¿¤á - 256 ¥Ð¥¤¥È¤ò»ÈÍѤ¹¤ë¤è¤¦°Ê²¼¤Î¤è¤¦¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡£ + 256 ¥Ð¥¤¥È (¤Þ¤¿¤Ï¤½¤ì°Ê¾å) ¤ò»ÈÍѤ¹¤ë¤è¤¦°Ê²¼¤Î¤è¤¦¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡£ # tune2fs -I 256 /dev/hda1 @@ -106,23 +106,23 @@ ext4 # '-o barriers=[0|1]' mount option for both ext3 and ext4 filesystems # for a fair comparison. When tuning ext3 for best benchmark numbers, # it is often worthwhile to try changing the data journaling mode; '-o -# data=writeback,nobh' can be faster for some workloads. (Note -# however that running mounted with data=writeback can potentially -# leave stale data exposed in recently written files in case of an -# unclean shutdown, which could be a security exposure in some -# situations.) Configuring the filesystem with a large journal can -# also be helpful for metadata-intensive workloads. +# data=writeback' can be faster for some workloads. (Note however that +# running mounted with data=writeback can potentially leave stale data +# exposed in recently written files in case of an unclean shutdown, +# which could be a security exposure in some situations.) Configuring +# the filesystem with a large journal can also be helpful for +# metadata-intensive workloads. - ¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤ÎÀ­Ç½Èæ³Ó¤ÎºÝ¤Ï¡¢Ê£¿ô¤ÎÉé²Ù´Ä¶­¤Ç»î¤¹¤³¤È¤¬¾ï¤Ë ½ÅÍפǤ¹¡£¥ï¡¼¥¯¥í¡¼¥É¥Ñ¥é¥á¡¼¥¿¤Î¤ï¤º¤«¤ÊÊѹ¹¤¬¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤ÎÈæ³Óɾ²Á¤Å¤±¤ò¤Þ¤Ã¤¿¤¯ÊѤ¨¤Æ¤·¤Þ¤¦¤³¤È¤¬ÉÑÈˤ˵¯¤³ - ¤ê¤Þ¤¹¡£ÆÃ¤Ë ext3 ¤È¤ÎÈæ³Ó¤Î¾ì¹ç¤Ï¡¢ext4 ¤¬½ñ¤­¹þ¤ß¥Ð¥ê¥¢¤òɸ½à¤ÇÍ­¸ú + ¤ê¤Þ¤¹¡£ÆÃ¤Ë ext3 ¤È¤ÎÈæ³Ó¤Î¾ì¹ç¤Ï¡¢ext4 ¤¬¥é¥¤¥È¥Ð¥ê¥¢¤òɸ½à¤ÇÍ­¸ú ²½¤·¤Æ¤ª¤ê¡¢ext3 ¤Ïɸ½à¤Ç¤Ï¥é¥¤¥È¥Ð¥ê¥¢¤òÍ­¸ú¤Ë¤·¤Æ¤Ï¤¤¤Ê¤¤¤³¤È¤Ëα°Õ ¤·¤Æ¤¯¤À¤µ¤¤¡£½¾¤Ã¤Æ¡¢¸øÊ¿¤ÊÈæ³Ó¤Î¤¿¤á¤Ë¤Ï¥é¥¤¥È¥Ð¥ê¥¢¤ÎÍ­¸ú¡¦Ìµ¸ú¤òÌÀ ¼¨Åª¤Ë¡¢ext3 ¤È ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤â '-o barriers=[0|1]' ¤ò»È¤Ã¤Æ »ØÄꤹ¤ë¤Î¤¬Ìò¤ËΩ¤Ä¤Ç¤·¤ç¤¦¡£ext4 ¤òºÇ¹â¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯·ë²Ì¤È¤Ê¤ë¤è¤¦ ¤Ë¥Á¥å¡¼¥Ë¥ó¥°¤¹¤ë¾ì¹ç¡¢¥Ç¡¼¥¿¥¸¥ã¡¼¥Ê¥ê¥ó¥°¥â¡¼¥É¤ÎÊѹ¹¤ò»î¤¹¤³¤È¤Ë¤Ï - ²ÁÃͤ¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢°ìÉô¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ç¤Ï - '-o data=writeback,nobh' ¤Ï¾¤è¤ê¹â®¤È¤Ê¤ë¤Ç¤·¤ç¤¦ (Ãí°Õ¤È¤·¤Æ¡¢ + ²ÁÃͤ¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢°ìÉô¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ç¤Ï + '-o data=writeback' ¤Ï¾¤è¤ê¹â®¤È¤Ê¤ë¤Ç¤·¤ç¤¦ (Ãí°Õ¤È¤·¤Æ¡¢ data=writeback ¥â¡¼¥É¤Ç¥Þ¥¦¥ó¥È±¿ÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¥¯¥ê¡¼¥ó¤Ç¤Ê¤¤¥·¥ã¥Ã ¥È¥À¥¦¥ó¤ÇľÁ°¤Ë½ñ¤¤¤¿¥Ç¡¼¥¿¤¬¥´¥ß¤È¤·¤Æ»Ä¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢¾õ¶·¤Ë¤è ¤Ã¤Æ¤Ï¥»¥­¥å¥ê¥Æ¥£Ì̤ǤξðÊóϳ±Ì¤Î²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹)¡£¥¸¥ã¡¼¥Ê¥ë¤òÂ礭 @@ -155,7 +155,7 @@ ext4 #* Inode allocation using large virtual block groups via flex_bg #* delayed allocation #* large block (up to pagesize) support -#* efficent new ordered mode in JBD2 and ext4(avoid using buffer head to force +#* efficient new ordered mode in JBD2 and ext4(avoid using buffer head to force # the ordering) * 16TB Ķ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÍøÍÑ (e2fsprogs ¤Ç¤Ï¤Þ¤À¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó) * ¥á¥¿¥Ç¡¼¥¿¥ª¡¼¥Ð¥Ø¥Ã¥É (RAM, ¥¢¥¯¥»¥¹ I/O, ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó) ¤ò¸º¤é¤¹¥¨¥¯ @@ -182,15 +182,15 @@ ext4 #[1] Filesystems with a block size of 1k may see a limit imposed by the #directory hash tree having a maximum depth of two. -[1] ¥Ö¥í¥Ã¥¯¥µ¥¤¥º 1k ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¥Ï¥Ã¥·¥å¥Ä¥ê¡¼¤¬ºÇÂç -¿¼¤µ 2 ¤Ç¤¢¤ë¤³¤È¤«¤éÍè¤ëÀ©¸Â¤ËÀ©Ì󤵤ì¤Þ¤¹¡£ +[1] ¥Ö¥í¥Ã¥¯¥µ¥¤¥º 1k ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¥Ï¥Ã¥·¥å¥Ä¥ê¡¼¤¬ +ºÇÂ翼¤µ 2 ¤Ç¤¢¤ë¤³¤È¤«¤éÍè¤ëÀ©¸Â¤ËÀ©Ì󤵤ì¤Þ¤¹¡£ #2.2 Candidate features for future inclusion 2.2 ¾­ÍèÄɲøõÊä¤Ëµó¤¬¤Ã¤Æ¤¤¤ëµ¡Ç½ #* Online defrag (patches available but not well tested) * ¥ª¥ó¥é¥¤¥ó¥Ç¥Õ¥é¥° (¥Ñ¥Ã¥Á¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢½½Ê¬¤Ë¤Ï¥Æ¥¹¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó) -#* reduced mke2fs time via lazy itable initialization in conjuction with +#* reduced mke2fs time via lazy itable initialization in conjunction with # the uninit_bg feature (capability to do this is available in e2fsprogs # but a kernel thread to do lazy zeroing of unused inode table blocks # after filesystem is first mounted is required for safety) @@ -203,15 +203,15 @@ ext4 #partly a function of how much time everyone has to work on them. Features like #metadata checksumming have been discussed and planned for a bit but no patches #exist yet so I'm not sure they're in the near-term roadmap. -¤³¤ì°Ê³°¤Ë¤â´ö¤Ä¤«¤Îµ¡Ç½¤¬¡¢ÁȤ߹þ¤ß¤Ë´Ø¤·¤ÆµÄÏÀÃæ¤Ç¤¹¡£µÄÏÀ¤Î·ë²Ì¤Ï¤½¤Îµ¡Ç½¤Ç -¤³¤ì¤«¤éɬÍפʺî¶È»þ´Ö (¤Î¸«Ä̤·) ¤Ë°Í¸¤¹¤ë¤Ç¤·¤ç¤¦¡£¥á¥¿¥Ç¡¼¥¿¥Á¥§¥Ã¥¯¥µ¥à¤Î -¤è¤¦¤Êµ¡Ç½¤ÏµÄÏÀ¤µ¤ì¤Æ¿¾¯¤Î·×²è¤â¤¢¤ê¤Þ¤¹¤¬¡¢¸½»þÅÀ¤Ç¤Ï¥Ñ¥Ã¥Á¤¬¤Ê¤¯¡¢¶á¤¤¾­Íè -¤Î¥í¡¼¥É¥Þ¥Ã¥×¤Ë¸½¤ï¤ì¤ë¤«¤É¤¦¤«¤ÏÄ꤫¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +¤³¤ì°Ê³°¤Ë¤â¡¢´ö¤Ä¤«¤Îµ¡Ç½¤ÎÁȤ߹þ¤ß¤Ë´Ø¤·¤ÆµÄÏÀÃæ¤Ç¤¹¡£µÄÏÀ¤Î·ë²Ì¤Ï¤½¤Îµ¡ +ǽ¤Ç¤³¤ì¤«¤éɬÍפʺî¶È»þ´Ö (¤Î¸«Ä̤·) ¤Ë°Í¸¤¹¤ë¤Ç¤·¤ç¤¦¡£¥á¥¿¥Ç¡¼¥¿¥Á¥§¥Ã +¥¯¥µ¥à¤Î¤è¤¦¤Êµ¡Ç½¤ÏµÄÏÀ¤µ¤ì¤Æ¿¾¯¤Î·×²è¤â¤¢¤ê¤Þ¤¹¤¬¡¢¸½»þÅÀ¤Ç¤Ï¥Ñ¥Ã¥Á¤¬¤Ê +¤¯¡¢¶á¤¤¾­Íè¤Î¥í¡¼¥É¥Þ¥Ã¥×¤Ë¸½¤ï¤ì¤ë¤«¤É¤¦¤«¤ÏÄ꤫¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ #The big performance win will come with mballoc, delalloc and flex_bg #grouping of bitmaps and inode tables. Some test results available here: ¥Ó¥Ã¥È¥Þ¥Ã¥×¤È inode ¥Æ¡¼¥Ö¥ë¤Ëmballoc¡¢delalloc ¤È¡¢flex_bg ¥°¥ë¡¼¥Ô¥ó¥° -¤òƳÆþ¤·¤¿¤³¤È¤Ë¤è¤êÂ礭¤ÊÀ­Ç½²þÁ±¤¬¼Â¸½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£À­Ç½Â¬Äê·ë²Ì¤Î°ìÉô¤Ï +¤òƳÆþ¤·¤¿¤³¤È¤Ë¤è¤ëÂ礭¤ÊÀ­Ç½²þÁ±¤¬¼Â¸½¸«¹þ¤ß¤Ç¤¹¡£À­Ç½Â¬Äê·ë²Ì¤Î°ìÉô¤Ï °Ê²¼¤Ç¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-write-2.6.27-rc1.html @@ -234,8 +234,8 @@ ext4 # writes to the filesystem. ro ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ç¥Þ¥¦¥ó¥È¤¹¤ë¡£ext4 ¤Ï¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ç¥Þ¥¦¥ó¥È¤·¤¿¾ì¹ç¤Ë¤â¥¸¥ã¡¼¥Ê¥ë¤Î¥ê - ¥×¥ì¥¤¤ò¹Ô¤¦ (½¾¤Ã¤Æ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë½ñ¤­¹þ¤ß¤ò¹Ô¤¦) - ¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó + ¥×¥ì¥¤¤ò¹Ô¤¦ (½¾¤Ã¤Æ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë½ñ¤­¹þ¤ß¤ò¹Ô¤¦) + ¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó "ro,noload" ¤ò¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ø¤Î½ñ¤­¹þ¤ß¤òÁ˻ߤ¹ ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ @@ -274,21 +274,25 @@ journal_dev=devnum »ØÄꤷ¤Þ¤¹¡£¥¸¥ã¡¼¥Ê¥ë¥Ç¥Ð¥¤¥¹¤Ï devnum ·Á¼°¤Ç¥¨¥ó¥³ ¡¼¥É¤µ¤ì¤¿ major/minor ÈÖ¹æ¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£ -#noload Don't load the journal on mounting. Note that -# if the filesystem was not unmounted cleanly, +#norecovery Don't load the journal on mounting. Note that +#noload if the filesystem was not unmounted cleanly, # skipping the journal replay will lead to the # filesystem containing inconsistencies that can # lead to any number of problems. -noload ¥Þ¥¦¥ó¥È»þ¤Ë¥¸¥ã¡¼¥Ê¥ë¤ò¥í¡¼¥É¤·¤Þ¤»¤ó¡£¤â¤·¥Õ¥¡¥¤¥ë¥·¥¹ - ¥Æ¥à¤¬¥¯¥ê¡¼¥ó¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¥¸ - ¥ã¡¼¥Ê¥ë¥ê¥×¥ì¥¤¤òÈô¤Ð¤¹¤³¤È¤Ë¤è¤ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÉÔÀ° - ¹ç¤¬È¯À¸¤¹¤ë¤Ç¤·¤ç¤¦¤·¡¢¤½¤Î·ë²ÌÍÍ¡¹¤ÊÌäÂ꤬µ¯¤­¤ë¤Ç¤·¤ç - ¤¦¡£ +norecovery ¥Þ¥¦¥ó¥È»þ¤Ë¥¸¥ã¡¼¥Ê¥ë¤ò¥í¡¼¥É¤·¤Þ¤»¤ó¡£¤â¤·¥Õ¥¡¥¤ +noload ¥ë¥·¥¹¥Æ¥à¤¬¥¯¥ê¡¼¥ó¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿ + ¾ì¹ç¤Ë¤Ï¡¢¥¸¥ã¡¼¥Ê¥ë¥ê¥×¥ì¥¤¤òÈô¤Ð¤¹¤³¤È¤Ë¤è¤ê¥Õ¥¡ + ¥¤¥ë¥·¥¹¥Æ¥à¤ËÉÔÀ°¹ç¤¬È¯À¸¤¹¤ë¤Ç¤·¤ç¤¦¤·¡¢¤½¤Î·ë²Ì + ÍÍ¡¹¤ÊÌäÂ꤬µ¯¤­¤ë¤Ç¤·¤ç¤¦¡£ #data=journal All data are committed into the journal prior to being -# written into the main file system. +# written into the main file system. Enabling +# this mode will disable delayed allocation and +# O_DIRECT support. data=journal Á´¥Ç¡¼¥¿¤Ï¡¢¥á¥¤¥ó¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë½ñ¤­¹þ¤àÁ°¤Ë¡¢ - ¥¸¥ã¡¼¥Ê¥ë¤Ë¥³¥ß¥Ã¥È¤µ¤ì¤Þ¤¹¡£ + ¥¸¥ã¡¼¥Ê¥ë¤Ë¥³¥ß¥Ã¥È¤µ¤ì¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤òÍ­¸ú²½¤· + ¤¿¾ì¹ç¡¢ÃÙ±ä³ä¤êÅö¤Æ¤È O_DIRECT ¥µ¥Ý¡¼¥È¤Ï̵¸ú²½¤µ + ¤ì¤Þ¤¹¡£ #data=ordered (*) All data are forced directly out to the main file # system prior to its metadata being committed to the @@ -353,61 +357,40 @@ nobarrier ¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Â¾¤Î ext4 ¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¤È¤Î°ì´Ó À­°Ý»ý¤Î¤¿¤áÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -#inode_readahead=n This tuning parameter controls the maximum +#inode_readahead_blks=n This tuning parameter controls the maximum # number of inode table blocks that ext4's inode # table readahead algorithm will pre-read into # the buffer cache. The default value is 32 blocks. -inode_readahead=n ¤³¤Î¥Á¥å¡¼¥Ë¥ó¥°¥Ñ¥é¥á¡¼¥¿¤Ï¡¢ext4 inode ¥Æ¡¼¥Ö¥ëÀèÆÉ - ¤ß¥¢¥ë¥´¥ê¥º¥à¤¬¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤ËÀèÆɤߤ¹¤ë¡¢inode - ¥Æ¡¼¥Ö¥ë¥Ö¥í¥Ã¥¯¤Î¿ô¤ÎºÇÂçÃͤòÀ©¸æ¤·¤Þ¤¹¡£´ûÄêÃÍ¤Ï 32 +inode_readahead_blks=n ¤³¤Î¥Á¥å¡¼¥Ë¥ó¥°¥Ñ¥é¥á¡¼¥¿¤Ï¡¢ext4 inode ¥Æ¡¼¥Ö¥ëÀèÆÉ + ¤ß¥¢¥ë¥´¥ê¥º¥à¤¬¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¤ËÀèÆɤߤ¹¤ë¡¢inode + ¥Æ¡¼¥Ö¥ë¥Ö¥í¥Ã¥¯¤Î¿ô¤ÎºÇÂçÃͤòÀ©¸æ¤·¤Þ¤¹¡£´ûÄêÃÍ¤Ï 32 ¥Ö¥í¥Ã¥¯¤Ç¤¹¡£ -#orlov (*) This enables the new Orlov block allocator. It is -# enabled by default. -orlov (*) ¿·¤·¤¤¡¢Orlov ¥Ö¥í¥Ã¥¯¥¢¥í¥±¡¼¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¥Õ - ¥©¥ë¥È¤ÇÍ­¸ú¤Ç¤¹¡£ - -#oldalloc This disables the Orlov block allocator and enables -# the old block allocator. Orlov should have better -# performance - we'd like to get some feedback if it's -# the contrary for you. -oldalloc Orlov ¥Ö¥í¥Ã¥¯¥¢¥í¥±¡¼¥¿¤ò̵¸ú¤Ë¤·¤Æ¡¢¸Å¤¤¥Ö¥í¥Ã¥¯¥¢ - ¥í¥±¡¼¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£Orlov ¤ÎÊý¤¬À­Ç½¤¬Îɤ¤¤Ï¤º¤Ç¤¹¤¬¡¢ - ¤â¤·¡¢µÕ¸ú²Ì¤Ê¤é¡¢ÃΤ餻¤Æ¤¯¤À¤µ¤¤¡£ - -#user_xattr Enables Extended User Attributes. Additionally, you -# need to have extended attribute support enabled in the -# kernel configuration (CONFIG_EXT4_FS_XATTR). See the -# attr(5) manual page and http://acl.bestbits.at/ to -# learn more about extended attributes. -user_xattr POSIX ³Èĥ°À­¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£Í­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¤µ¤é¤Ë¥«¡¼ - ¥Í¥ëÀßÄê¤Ç³Èĥ°À­¤Î¥µ¥Ý¡¼¥È (CONFIG_EXT4_FS_XATTR) ¤ò - ÁȤ߹þ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£ - POSIX ³Èĥ°À­¤Î¾ÜºÙ¤ò³Ø¤Ö¤Ë¤Ï¡¢attr(5) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼ - ¥¸¤È http://acl.bestbits.at ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ - -#nouser_xattr Disables Extended User Attributes. +#nouser_xattr Disables Extended User Attributes. If you have extended +# attribute support enabled in the kernel configuration +# (CONFIG_EXT4_FS_XATTR), extended attribute support +# is enabled by default on mount. See the attr(5) manual +# page and http://acl.bestbits.at/ for more information +# about extended attributes. nouser_xattr POSIX ³Èĥ°À­ ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ - -#acl Enables POSIX Access Control Lists support. -# Additionally, you need to have ACL support enabled in -# the kernel configuration (CONFIG_EXT4_FS_POSIX_ACL). -# See the acl(5) manual page and http://acl.bestbits.at/ -# for more information. -acl POSIX ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È (POSIX ACL) ¥µ¥Ý¡¼¥È¤òÍ­¸ú¤Ë - ¤·¤Þ¤¹¡£Í­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¤µ¤é¤Ë¥«¡¼¥Í¥ëÀßÄê¤Ç ACL ¤Î¥µ¥Ý - ¡¼¥È (CONFIG_EXT4_FS_POSIX_ACL) ¤òÁȤ߹þ¤àɬÍפ¬¤¢¤ê - ¤Þ¤¹¡£ - ACL ¤Î¾ÜºÙ¤Ï¡¢acl(5) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤È - http://acl.bestbits.at ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ + ¤â¤·¡¢³Èĥ°À­¥µ¥Ý¡¼¥È¤¬¥«¡¼¥Í¥ëÀßÄê + (CONFIG_EXT4_FS_XATTR) ¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ACL + ¤Ï¥Þ¥¦¥ó¥È»þ¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ + POSIX ³Èĥ°À­¤Î¾ÜºÙ¤ò³Ø¤Ö¤Ë¤Ï¡¢attr(5) ¤Î¥Þ¥Ë¥å¥¢ + ¥ë¥Ú¡¼¥¸¤È http://acl.bestbits.at ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ #noacl This option disables POSIX Access Control List -# support. -noacl POSIX ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È(POSIX ACL) ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ - -reservation - -noreservation +# support. If ACL support is enabled in the kernel +# configuration (CONFIG_EXT4_FS_POSIX_ACL), ACL is +# enabled by default on mount. See the acl(5) manual +# page and http://acl.bestbits.at/ for more information +# about acl. +noacl POSIX ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È(POSIX ACL) ¥µ¥Ý¡¼¥È¤ò̵¸ú + ¤Ë¤·¤Þ¤¹¡£¤â¤·¡¢ACL ¥µ¥Ý¡¼¥È¤¬¥«¡¼¥Í¥ëÀßÄê + (CONFIG_EXT4_FS_POSIX_ACL) ¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ + ACL ¤Ï¥Þ¥¦¥ó¥È»þ¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ + acl ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï acl(5) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ä¡¢ + ¥¦¥§¥Ö¥µ¥¤¥È http://acl.bestbits.at/ ¤ò»²¾È¤¯¤À¤µ¤¤¡£ #bsddf (*) Make 'df' act like BSD. #minixdf Make 'df' act like Minix. @@ -449,59 +432,75 @@ data_err=abort #grpid Give objects the same group ID as their creator. #bsdgroups -grpid ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë¡¢ºîÀ®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥°¥ë¡¼¥× -bsdgroups ID ¤òÍ¿¤¨¤Þ¤¹¡£ +grpid ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë¡¢ºîÀ®Àè¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥° +bsdgroups ¥ë¡¼¥× ID ¤òÍ¿¤¨¤Þ¤¹¡£ #nogrpid (*) New objects have the group ID of their creator. #sysvgroups nogrpid (*) ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®»þ¤Ë¡¢ºîÀ®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë setgid ¥Ó sysvgroups ¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ºîÀ®¥×¥í¥»¥¹¤ÈƱ¤¸¥°¥ë¡¼¥× ID ¤òÍ¿¤¨¤Þ¤¹¡£ºîÀ®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Ë setgid ¥Ó¥Ã¥È¤¬¥»¥Ã - ¥È¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢ºîÀ®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥× ID ¤È - ºîÀ®¤µ¤ì¤¿¤Î¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï setgid ¥Ó¥Ã¥È - ¤¬°ú¤­·Ñ¤¬¤ì¤Þ¤¹¡£ + ¥È¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢ºîÀ®Àè¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥× + ID ¤¬°ú¤­·Ñ¤¬¤ì¡¢¹¹¤ËºîÀ®¤µ¤ì¤¿¤Î¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢ + ¤Ã¤¿¾ì¹ç¤Ë¤Ï setgid ¥Ó¥Ã¥È¤â°ú¤­·Ñ¤¬¤ì¤Þ¤¹¡£ #resgid=n The group ID which may use the reserved blocks. -resgid=n ͽÌó¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ¹¤ë¥°¥ë¡¼¥× ID ¤Ç¤¹¡£ +resgid=n ͽÌó¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ·¤Æ¤è¤¤¥°¥ë¡¼¥× ID ¤Ç¤¹¡£ #resuid=n The user ID which may use the reserved blocks. -resuid=n ͽÌó¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ¹¤ë¥æ¡¼¥¶ ID ¤Ç¤¹¡£ +resuid=n ͽÌó¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ·¤Æ¤è¤¤¥æ¡¼¥¶ ID ¤Ç¤¹¡£ #sb=n Use alternate superblock at this location. sb=n ¤³¤Î°ÌÃÖ¤ÎÂåÂØ¥¹¡¼¥Ñ¡¼¥Ö¥í¥Ã¥¯¤ò»È¤¤¤Þ¤¹¡£ -quota -noquota -grpquota -usrquota - -#bh (*) ext4 associates buffer heads to data pages to -#nobh (a) cache disk block mapping information -# (b) link pages into transaction to provide -# ordering guarantees. -# "bh" option forces use of buffer heads. -# "nobh" option tries to avoid associating buffer -# heads (supported only for "writeback" mode). -bh (*) ext4 ¤Ï¥Ð¥Ã¥Õ¥¡ÀèƬ¤ò°Ê²¼¤Î¾ðÊó¤Ë´ØÏ¢¤Å¤±¤Þ¤¹¡£ -nobh (a) ¥­¥ã¥Ã¥·¥å¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¥Þ¥Ã¥×¾ðÊó - (b) ½ç½øÊݾڤΤ¿¤á¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥óÆâ¤Î¥ê¥ó¥¯¥Ú¡¼¥¸ - bh ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¥Ð¥Ã¥Õ¥¡¥Ø¥Ã¥É¤ÎÍøÍѤò¶¯À©¤·¡¢nobh - ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¥Ð¥Ã¥Õ¥¡ÀèƬ¤È¤Î´ØÏ¢¤Å¤±¤òÈò¤±¤Þ¤¹ - (writeback ¥â¡¼¥É¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹)¡£ +#quota These options are ignored by the filesystem. They +#noquota are used only by quota tools to recognize volumes +#grpquota where quota should be turned on. See documentation +#usrquota in the quota-tools package for more details +# (http://sourceforge.net/projects/linuxquota). +quota ¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì +noquota ¤Þ¤¹¡£¤³¤ì¤é¥Õ¥é¥°¤Ï Quota ¤òÍ­¸ú¤Ë¤¹¤Ù¤­¾ì¹ç¤Ë¡¢Quota +grpquota ¥Ä¡¼¥ë¤Ç¥Ü¥ê¥å¡¼¥à¤òǧ¼±¤¹¤ë¤¿¤á¤Ë¤Î¤ßÍøÍѤµ¤ì¤Þ¤¹¡£ +usrquota ¾Ü¤·¤¯¤Ï quota-tools ¥Ñ¥Ã¥±¡¼¥¸Æ±º­¤Îʸ½ñ¤ò»²¾È¤¯¤À¤µ¤¤¡£ + (http://sourceforge.net/projects/linuxquota). + +#jqfmt= These options tell filesystem details about quota +#usrjquota= so that quota information can be properly updated +#grpjquota= during journal replay. They replace the above +# quota options. See documentation in the quota-tools +# package for more details +# (http://sourceforge.net/projects/linuxquota). +jqfmt= ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¥¸¥ã¡¼¥Ê¥ë¥ê¥×¥ì¥¤»þ¤Ë Quota ¾ðÊó +usrjquota= ¤¬Àµ¤·¤¯¹¹¿·¤µ¤ì¤ë¤è¤¦¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë Quota ¤Î¾Ü +grpjquota= ºÙ¤ò»ØÄꤹ¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£¤³¤ì¤é¤Ï¾åµ­¤Î quota ¥ª¥× + ¥·¥ç¥ó¤òÃÖ¤­´¹¤¨¤Þ¤¹¡£ + ¾Ü¤·¤¯¤Ï quota-tools ¥Ñ¥Ã¥±¡¼¥¸Æ±º­¤Îʸ½ñ¤ò»²¾È¤¯¤À¤µ¤¤¡£ + (http://sourceforge.net/projects/linuxquota). #stripe=n Number of filesystem blocks that mballoc will try # to use for allocation size and alignment. For RAID5/6 # systems this should be the number of data # disks * RAID chunk size in file system blocks. -#delalloc (*) Deferring block allocation until write-out time. -#nodelalloc Disable delayed allocation. Blocks are allocation -# when data is copied from user to page cache. stripe=n mballoc ¤¬¥¢¥í¥±¡¼¥·¥ç¥óñ°Ì¤È¥¢¥é¥¤¥ó¤Ë»ÈÍѤ·¤è¤¦¤È ¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ö¥í¥Ã¥¯¿ô¤Ç¤¹¡£RAID5/6 ¤Ç¤Ï¡¢¤³ ¤ÎÃͤϥǡ¼¥¿¥Ç¥£¥¹¥¯¿ô¤È¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ö¥í¥Ã¥¯¤Î RAID ¥Á¥ã¥ó¥¯¥µ¥¤¥º¤È¤ÎÀѤˤ¹¤Ù¤­¤Ç¤¹¡£ -delalloc (*) ½ñ¤­¹þ¤ß»þ¤Þ¤Ç¥Ö¥í¥Ã¥¯³ä¤êÅö¤Æ¤òÃٱ䤵¤»¤Þ¤¹¡£ -nodelalloc ÃÙ±ä³ä¤êÅö¤Æ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£¥Ç¡¼¥¿¤¬¥æ¡¼¥¶¤«¤é¥Ú¡¼¥¸ + +#delalloc (*) Defer block allocation until just before ext4 +# writes out the block(s) in question. This +# allows ext4 to better allocation decisions +# more efficiently. +#nodelalloc Disable delayed allocation. Blocks are allocated +# when the data is copied from userspace to the +# page cache, either via the write(2) system call +# or when an mmap'ed page which was previously +# unallocated is written for the first time. +delalloc (*) ext4 ¤¬Âоݥ֥í¥Ã¥¯¤ò½ñ¤­¹þ¤àľÁ°¤Þ¤Ç¥Ö¥í¥Ã¥¯³ä¤êÅö + ¤Æ¤òÃٱ䤵¤»¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢ext4 ¤Î³ä¤êÅö¤ÆȽÃǤ¬ + ²þÁ±¤«¤Ä¸úΨ²½¤µ¤ì¤Þ¤¹¡£ +nodelalloc ÃÙ±ä³ä¤êÅö¤Æ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£write(2) ¥·¥¹¥Æ¥à¥³¡¼¥ë¡¢ + ¤Þ¤¿¤Ï̤³ä¤êÅö¤Æ¤À¤Ã¤¿ mmap ¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤¬ºÇ½é¤Ë + ½ñ¤­¹þ¤Þ¤ì¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥Ç¡¼¥¿¤¬¥æ¡¼¥¶¤«¤é¥Ú¡¼¥¸ ¥­¥ã¥Ã¥·¥å¤Ë½ñ¤­¹þ¤Þ¤ì¤¿»þÅÀ¤Ç¥Ö¥í¥Ã¥¯³ä¤êÅö¤Æ¤¬¹Ô¤Ê ¤ï¤ì¤Þ¤¹¡£ @@ -536,11 +535,11 @@ max_batch_time=usec ext4 ¤ë»þ´Ö (Ê¿¶Ñ»þ´Ö) ¤ò¬Äꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥Ç¥£¥¹¥¯Â®ÅÙ¤Ë ºÇŬ²½¤¹¤ë¤è¤¦À߷פµ¤ì¤¿¤â¤Î¤Ç¤¹¡£¤³¤³¤Ç¾åµ­¤Î¡Ö¥³¥ß¥Ã ¥È´°Î»¤ËÍפ¹¤ë»þ´Ö¡×¤ò ¡ÉCommit time" ¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ - ¤¹¡£¤â¤·¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Æ¤¤¤ë»þ´Ö¤¬ Commit + ¤¹¡£¤â¤·¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Æ¤¤¤ë»þ´Ö¤¬ Commit time ¤è¤ê¾®¤µ¤¤¤Ê¤é¤Ð¡¢ext4 ¤Ï Commit time ¤À¤±¥¹¥ê¡¼ ¥×¤·¤Æ¾¤Î½èÍý¤¬¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ë¹çή¤Ç¤­¤ë¤«¤É¤¦¤«¤ò Ä´¤Ù¤Þ¤¹¡£¤³¤Î Commit time ¤Ï max_batch_time ¤Ë¤è¤ê - ¾å¸Â¤¬»ØÄꤵ¤ì¤Þ¤¹¡£max_batch_time ¤Îɸ½àÃÍ¤Ï + ¾å¸Â¤¬»ØÄꤵ¤ì¤Þ¤¹¡£max_batch_time ¤Îɸ½àÃÍ¤Ï 15000us (15ms) ¤Ç¤¹¡£max_batch_time ¤ò 0 ¤È»ØÄꤹ¤ë ¤³¤È¤Ç¡¢¤³¤ÎºÇŬ²½¤ò´°Á´¤Ë̵¸ú²½¤Ç¤­¤Þ¤¹¡£ @@ -551,7 +550,7 @@ max_batch_time=usec ext4 # multi-threaded, synchronous workloads on very # fast disks, at the cost of increasing latency. min_batch_time=usec ¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï commit time (¾åµ­»²¾È) ¤¬¡¢¾¯¤Ê¤¯¤È¤â - min_batch_time °Ê¾å¤Ç¤¢¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£É¸½àÃÍ¤Ï 0 + min_batch_time °Ê¾å¤Ç¤¢¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£É¸½àÃÍ¤Ï 0 ms ¤Ç¤¹¡£¤³¤Î¥Ñ¥é¥á¡¼¥¿¤òÁý¤ä¤·¤¿¾ì¹ç¡¢¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ç Ʊ´ü¤ò»È¤¦½èÍýÉé²Ù¤ò¹â®¤Ê¥Ç¥£¥¹¥¯¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ì ¥¤¥Æ¥ó¥·¥£¤ÎÁý²Ã¤Î¥³¥¹¥È¤òÂå½þ¤Ë¥¹¥ë¡¼¥×¥Ã¥È¤¬²þÁ±¤·¤Þ¤¹¡£ @@ -564,10 +563,10 @@ min_batch_time=usec # priority. journal_ioprio=prio kjournald2 ¤¬¡¢¥³¥ß¥Ã¥È½èÍýÃæ¤Ëȯ¹Ô¤¹¤ë I/O ½èÍý¤ÇÍѤ¤ ¤ë I/O ¥×¥é¥¤¥ª¥ê¥Æ¥£ (0 ¤«¤é 7 ¤Ç¡¢0 ¤¬ºÇ¹â¤Î¥×¥é¥¤¥ª - ¥ê¥Æ¥£¤Ç¤¹) ¤ò»ØÄꤷ¤Þ¤¹¡£É¸½àÃÍ¤Ï 3 ¤Ç¡¢¤³¤ì¤ÏÄ̾ï¤Î + ¥ê¥Æ¥£¤Ç¤¹) ¤ò»ØÄꤷ¤Þ¤¹¡£É¸½àÃÍ¤Ï 3 ¤Ç¡¢¤³¤ì¤ÏÄ̾ï¤Î I/O ¥×¥é¥¤¥ª¥ê¥Æ¥£¤è¤ê¾¯¤·¹â¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -#auto_da_alloc(*) Many broken applications don't use fsync() when +#auto_da_alloc(*) Many broken applications don't use fsync() when #noauto_da_alloc replacing existing files via patterns such as # fd = open("foo.new")/write(fd,..)/close(fd)/ # rename("foo.new", "foo"), or worse yet, @@ -586,8 +585,8 @@ journal_ioprio=prio kjournald2 # blocks are forced to disk. auto_da_alloc(*) ¿¤¯¤Î²õ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢fd = open("foo.new")/ noauto_da_alloc write(fd,..)/close(fd)/rename("foo.new", "foo") ¤Ê - ¤É¤Î¥Ñ¥¿¡¼¥ó¡¢¤¢¤ë¤¤¤Ï¤½¤ì¤è¤ê¼Ù°­¤Ê - fd = open("foo", O_TRUNC)/write(fd,..)/close(fd) + ¤É¤Î¥Ñ¥¿¡¼¥ó¡¢¤¢¤ë¤¤¤Ï¤½¤ì¤è¤ê¼Ù°­¤Ê + fd = open("foo", O_TRUNC)/write(fd,..)/close(fd) ¥Ñ¥¿¡¼¥ó¤Ç¡¢fsync() ¤ò»È¤ï¤Ê¤¤¤Ç´û¸¤Î¥Õ¥¡¥¤¥ë¤òÆþ¤ì Âؤ¨¤Þ¤¹¡£auto_da_alloc ¤¬Í­¸ú¤Ê¾ì¹ç¡¢ext4 ¤Ï¤³¤Î¥ê ¥Í¡¼¥à¤Ë¤è¤ë¥Õ¥¡¥¤¥ë¤ÎÆþ¤ìÂؤ¨¤È truncate ¤Ë¤è¤ë¥Õ¥¡ @@ -600,6 +599,106 @@ noauto_da_alloc write(fd,..)/close(fd)/rename("foo.new", "foo") ¤ëÁ°¤Ë¥·¥¹¥Æ¥à¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¾ì¹ç¤Î¡ÖŤµ 0 ¤Ë¤Ê¤ë¡× ÌäÂê¤ò (ƱÄøÅÙ¤Ë) ²óÈò¤Ç¤­¤Þ¤¹¡£ +#noinit_itable Do not initialize any uninitialized inode table +# blocks in the background. This feature may be +# used by installation CD's so that the install +# process can complete as quickly as possible; the +# inode table initialization process would then be +# deferred until the next time the file system +# is unmounted. +noinit_itable ½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤ inode ¥Æ¡¼¥Ö¥ë¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É + ¤Ç½é´ü²½¤·¤Þ¤»¤ó¡£¤³¤Îµ¡Ç½¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë CD Åù¤Ç + ²Äǽ¤Ê¸Â¤ê®¤¯¥¤¥ó¥¹¥È¡¼¥ë¤ò½ªÎ»¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ëºÝ + ¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£inode ¥Æ¡¼¥Ö¥ë¤Î½é´ü²½½èÍý¤Ï + ¼¡¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ unmount ¤µ¤ì¤ë¤Þ¤Ç±ä´ü¤µ¤ì¤Þ¤¹¡£ + +#init_itable=n The lazy itable init code will wait n times the +# number of milliseconds it took to zero out the +# previous block group's inode table. This +# minimizes the impact on the systme performance +# while file system's inode table is being initialized. +init_itable=n itable ¤ÎÃÙ±ä½é´ü²½¥³¡¼¥É¤Ï¡¢Á°¤Î inode ¥Æ¡¼¥Ö¥ë¥Ö¥í + ¥Ã¥¯¤Î 0 ¥¯¥ê¥¢¸å¡¢n ¥ß¥êÉÃÂԤäƼ¡¤Î½é´ü²½¤ò¼Â¹Ô¤·¤Þ + ¤¹¡£¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î inode ¥Æ¡¼¥Ö¥ë¤Î½é´ü²½½è + Íý¤¬¥·¥¹¥Æ¥à¤ÎÀ­Ç½¤ËÍ¿¤¨¤ë±Æ¶Á¤òºÇ¾®¸Â¤ËÍÞ¤¨¤Þ¤¹¡£ + +#discard Controls whether ext4 should issue discard/TRIM +#nodiscard(*) commands to the underlying block device when +# blocks are freed. This is useful for SSD devices +# and sparse/thinly-provisioned LUNs, but it is off +# by default until sufficient testing has been done. +discard ext4 ¤¬ discard/TRIM ¥³¥Þ¥ó¥É¤òȯ¹Ô¤¹¤ë¤«Èݤ«¤òÀ©¸æ +nodiscard(*) ¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¥Ö¥í¥Ã¥¯³«Êü»þ¤Ë²¼°Ì¤Î¥Ç¥Ð¥¤¥¹ + ¤ËÂФ·¤Æȯ¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï SSD ¥Ç¥Ð¥¤¥¹¤ä¡¢¥¹¥Ñ¡¼ + ¥¹¤Þ¤¿¤Ï¥·¥ó¥×¥í¥Ó¥¸¥ç¥Ë¥ó¥°¤òÍѤ¤¤¿ LUN ¤ÇÌò¤ËΩ¤Á + ¤Þ¤¹¤¬¡¢¸½ºß½½Ê¬¤Ê¥Æ¥¹¥È¤¬¤Ê¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢É¸½àÃÍ + ¤Ï off ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ + +#nouid32 Disables 32-bit UIDs and GIDs. This is for +# interoperability with older kernels which only +# store and expect 16-bit values. +nouid32 32-bit UID ¤È GID ¤ò»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢ + 16 bit ÃͤΤߤò½ñ¤­¹þ¤ß¡¢ÍøÍѤ¹¤ë¸Å¤¤¥«¡¼¥Í¥ë¤È¤Î¸ß + ´¹À­¤Î¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ + +#resize Allows to resize filesystem to the end of the last +# existing block group, further resize has to be done +# with resize2fs either online, or offline. It can be +# used only with conjunction with remount. +resize ºÇ½ª¤Î»ÈÍѺѤߤΥ֥í¥Ã¥¯¥°¥ë¡¼¥×¤Ø¤Î¥ê¥µ¥¤¥º¤òµö¤· + ¤Þ¤¹¡£¤³¤ì°Ê¾å¤Î¥ê¥µ¥¤¥º¤Ï¡¢¥ª¥ó¥é¥¤¥ó¤Þ¤¿¤Ï¥ª¥Õ¥é + ¥¤¥ó¤Ç resize2fs¤òÍѤ¤¤Æ¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¥ê¥µ¥¤ + ¥º¸å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï remount ¸å¤ËÍøÍѲÄǽ¤Ë¤Ê¤ê + ¤Þ¤¹¡£ + +#block_validity This options allows to enables/disables the in-kernel +#noblock_validity facility for tracking filesystem metadata blocks +# within internal data structures. This allows multi- +# block allocator and other routines to quickly locate +# extents which might overlap with filesystem metadata +# blocks. This option is intended for debugging +# purposes and since it negatively affects the +# performance, it is off by default. +block_validity ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥«¡¼¥Í¥ëÆâ¤ÎÆâÉô¥Ç¡¼¥¿¹½Â¤¤ËÁÈ¤ß +noblock_validity ¹þ¤Þ¤ì¤¿¥á¥¿¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤ÎÄÉÀ×µ¡Ç½¤ò¡¢Í­¸ú/̵¸ú¤Ë + ¤¹¤ë¤â¤Î¤Ç¤¹¡£¤³¤ÎÄÉÀ×µ¡Ç½¤Ï¡¢Ê£¿ô¥Ö¥í¥Ã¥¯¤Î¥¢¥í¥± + ¡¼¥¿¤Ê¤É¤Î½èÍý¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥á¥¿¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯ + ¤È½Å¤Ê¤ë²ÄǽÀ­¤Î¤¢¤ëÎΰè¤Ë¤¢¤ë¥¨¥¯¥¹¥Æ¥ó¥È¤òÁÇÁ᤯ + ¸«¤Ä¤±¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ + ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Ð¥Ã¥°ÍѤÎÌÜŪ¤Î¤â¤Î¤Ç¡¢À­Ç½¤ËÉé + ¤Î±Æ¶Á¤òÍ¿¤¨¤Þ¤¹¡£É¸½à¤Ç¤Ï¥ª¥Õ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ + +#dioread_lock Controls whether or not ext4 should use the DIO read +#dioread_nolock locking. If the dioread_nolock option is specified +# ext4 will allocate uninitialized extent before buffer +# write and convert the extent to initialized after IO +# completes. This approach allows ext4 code to avoid +# using inode mutex, which improves scalability on high +# speed storages. However this does not work with +# data journaling and dioread_nolock option will be +# ignored with kernel warning. Note that dioread_nolock +# code path is only used for extent-based files. +# Because of the restrictions this options comprises +# it is off by default (e.g. dioread_lock). +dioread_lock ext4 ¤¬ DIO ¥ê¡¼¥É¥í¥Ã¥¯¤ò»È¤¦¤«¤É¤¦¤«¤òÀ©¸æ¤·¤Þ¤¹¡£ +dioread_nolock ¤â¤· dioread_nolock ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç + ¤Ï¡¢ext4 ¤Ï¥Ð¥Ã¥Õ¥¡¥é¥¤¥ÈÁ°¤Ë̤½é´ü²½¾õÂ֤Υ¨¥¯¥¹¥Æ + ¥ó¥È¤ò³ä¤êÅö¤Æ¡¢IO ½ªÎ»¸å¤Ë¥¨¥¯¥¹¥Æ¥ó¥È¤ò½é´ü²½¾õÂÖ + ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤Î¼ê½ç¤Ë¤è¤ê¡¢ext4 ¤Ç inode mutex + ¤ò»È¤ï¤Ê¤¤¤ÇºÑ¤à¤è¤¦¤Ë¤Ê¤ë¤¿¤á¡¢¹â®¤Ê¥¹¥È¥ì¡¼¥¸¤ò + »È¤Ã¤¿¾ì¹ç¤Î¥·¥¹¥Æ¥à¤Î³ÈÄ¥À­¤¬¸þ¾å¤·¤Þ¤¹¡£¤¿¤À¤·¡¢ + ¤³¤Îµ¡Ç½¤Ï¥Ç¡¼¥¿¥¸¥ã¡¼¥Ê¥ê¥ó¥°¤È¶¦¤Ë¤Ï»È¤¨¤º¡¢¥Ç¡¼ + ¥¿¥¸¥ã¡¼¥Ê¥ê¥ó¥°¤¬Í­¸ú¤Ê¾ì¹ç¤Ë¤Ï dioread_nolock ¥ª + ¥×¥·¥ç¥ó¤Ï¥«¡¼¥Í¥ë·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ̵»ë¤µ¤ì¤ë + ¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î dioread_nolock ¥³¡¼¥É½èÍý¤Ï¥¨ + ¥¯¥¹¥Æ¥ó¥È¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¤Ç¤Î¤ßÍѤ¤¤é¤ì¤ë¤³¤È¤Ëα + °Õ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ëȼ¤¦À©Ìó¤Î¤¿¤á¡¢É¸½à¤Ç + ¤Ï¥ª¥Õ (¤Ä¤Þ¤ê dioread_lock ¥â¡¼¥É) ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +#i_version Enable 64-bit inode version support. This option is +# off by default. +i_version 64-bit inode ¥Ð¡¼¥¸¥ç¥ó¤Î¥µ¥Ý¡¼¥È¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ + ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢É¸½à¤Ç¤Ï¥ª¥Õ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ + #Data Mode #========= ¥Ç¡¼¥¿¥â¡¼¥É @@ -613,22 +712,22 @@ noauto_da_alloc write(fd,..)/close(fd)/rename("foo.new", "foo") #mode - metadata journaling. A crash+recovery can cause incorrect data to #appear in files which were written shortly before the crash. This mode will #typically provide the best ext4 performance. -* ¥é¥¤¥È¥Ð¥Ã¥¯¥â¡¼¥É +* ¥é¥¤¥È¥Ð¥Ã¥¯¥â¡¼¥É (writeback mode) data=writeback ¥â¡¼¥É¤Î¤È¤­¡¢ext4 ¤Ï¥Ç¡¼¥¿¤òÁ´¤¯¥¸¥ã¡¼¥Ê¥ë¤·¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢XFS, JFS, ReiserFS ¤Î¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É (¥á¥¿¥Ç¡¼¥¿¥¸¥ã¡¼¥Ê¥ê¥ó¥°) ¤È Ʊ¥ì¥Ù¥ë¤Î¥¸¥ã¡¼¥Ê¥ê¥ó¥°¤òÄ󶡤·¤Þ¤¹¡£ -¥¯¥é¥Ã¥·¥å + ¥ê¥«¥Ð¥ê ¤Ç¡¢¥¯¥é¥Ã¥·¥åľÁ°¤Ë½ñ¤­¹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤ËÉÔÀµ¥Ç¡¼¥¿ -¤¬¸½¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£Ä̾盧¤Î¥â¡¼¥É¤ÏºÇ¹â¤Î ext4 ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ÆÀ¤é¤ì¤Þ -¤¹¡£ +¥¯¥é¥Ã¥·¥å + ¥ê¥«¥Ð¥ê ¤Ç¡¢¥¯¥é¥Ã¥·¥åľÁ°¤Ë½ñ¤­¹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤ËÉÔÀµ¥Ç¡¼ +¥¿¤¬¸½¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£Ä̾盧¤Î¥â¡¼¥É¤Ë¤è¤êºÇ¹â¤Î ext4 ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ +ÆÀ¤é¤ì¤Þ¤¹¡£ #* ordered mode #In data=ordered mode, ext4 only officially journals metadata, but it logically #groups metadata information related to data changes with the data blocks into a #single unit called a transaction. When it's time to write the new metadata #out to disk, the associated data blocks are written first. In general, -#this mode performs slightly slower than writeback but significantly faster than -journal mode. -* ¥ª¡¼¥À¡¼¥É¥â¡¼¥É +#this mode performs slightly slower than writeback but significantly faster +#than journal mode. +* ¥ª¡¼¥À¡¼¥É¥â¡¼¥É (ordered mode) data=ordered ¥â¡¼¥É¤Î¤È¤­¡¢ext4 ¤Ï¸ø¼°¤Ë¤Ï¥á¥¿¥Ç¡¼¥¿¤Î¤ß¤ò¥¸¥ã¡¼¥Ê¥ë¤·¤Þ¤¹ ¤¬¡¢¤³¤ÎºÝ¤Ë¥á¥¿¥Ç¡¼¥¿¤È¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤È¸Æ¤Ð¤ì¤ë 1 ¤Ä¤Îñ °Ì¤Ë¡¢ÏÀÍýŪ¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£¥Ç¥£¥¹¥¯¤Ë¿·¤·¤¤¥á¥¿¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤à»þ¤¬ @@ -642,16 +741,336 @@ data=ordered #In the event of a crash, the journal can be replayed, bringing both data and #metadata into a consistent state. This mode is the slowest except when data #needs to be read from and written to disk at the same time where it -#outperforms all others modes. Currently ext4 does not have delayed -#allocation support if this data journalling mode is selected. -* ¥¸¥ã¡¼¥Ê¥ë¥â¡¼¥É +#outperforms all others modes. Enabling this mode will disable delayed +#allocation and O_DIRECT support. +* ¥¸¥ã¡¼¥Ê¥ë¥â¡¼¥É (journal mode) data=journal ¥â¡¼¥É¤Ï¡¢¥Ç¡¼¥¿¤È¥á¥¿¥Ç¡¼¥¿¤Î´°Á´¤Ê¥¸¥ã¡¼¥Ê¥ê¥ó¥°¤òÈ÷¤¨¤Þ¤¹¡£ -¤¹¤Ù¤Æ¤Î¿·¤·¤¤¥Ç¡¼¥¿¤Ï¡¢Àè¤Ë¥¸¥ã¡¼¥Ê¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¡¢¤½¤Î¸å¤Ë½êÄê¤Î°ÌÃ֤ؽñ¤­ -¤³¤Þ¤ì¤Þ¤¹¡£¥¯¥é¥Ã¥·¥å¤ÎºÝ¡¢¥¸¥ã¡¼¥Ê¥ë¤Ï¥ê¥×¥ì¥¤¤µ¤ì¡¢¥Ç¡¼¥¿¤È¥á¥¿¥Ç¡¼¥¿¤ÎξÊý -¤ÏÌ·½â¤Î̵¤¤¾õÂ֤˲óÉü¤µ¤ì¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤Ï¤â¤Ã¤È¤âÃÙ¤¤¤Ç¤¹¤¬¡¢¥Ç¥£¥¹¥¯¤Ø¤Î -¥Ç¡¼¥¿¤ÎÆɤߤÀ¤·¤È½ñ¤­¹þ¤ß¤òƱ»þ¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ë»þ¤Ï¡¢Â¾¤Î¥â¡¼¥É¤è¤ê¹âÀ­Ç½¤Ç -¤¹¡£¸½ºß¤Î ext4 ¤Ç¤Ï¡¢¤³¤Î¥Ç¡¼¥¿¥¸¥ã¡¼¥Ê¥ê¥ó¥°¥â¡¼¥É¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤È¤­¡¢ -Ãٱ䥢¥í¥±¡¼¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ +¤¹¤Ù¤Æ¤Î¿·¤·¤¤¥Ç¡¼¥¿¤Ï¡¢Àè¤Ë¥¸¥ã¡¼¥Ê¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¡¢¤½¤Î¸å¤Ë½êÄê¤Î°ÌÃ֤ؽñ +¤­¤³¤Þ¤ì¤Þ¤¹¡£¥¯¥é¥Ã¥·¥å¤ÎºÝ¡¢¥¸¥ã¡¼¥Ê¥ë¤Ï¥ê¥×¥ì¥¤¤µ¤ì¡¢¥Ç¡¼¥¿¤È¥á¥¿¥Ç¡¼¥¿ +¤ÎξÊý¤ÏÌ·½â¤Î̵¤¤¾õÂ֤˲óÉü¤µ¤ì¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤ÏÄ̾ï¤Ï¤â¤Ã¤È¤âÃÙ¤¤¤â¤Î¤Ç +¤¹¤¬¡¢¥Ç¥£¥¹¥¯¤Ø¤Î¥Ç¡¼¥¿¤ÎÆɤߤÀ¤·¤È½ñ¤­¹þ¤ß¤òƱ»þ¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ë»þ¤Ï¡¢Â¾ +¤Î¥â¡¼¥É¤è¤ê¹âÀ­Ç½¤Ç¤¹¡£¤³¤Î¥â¡¼¥É¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢Ãٱ䥢¥í¥±¡¼¥·¥ç¥ó¤È +O_DIRECT ¥µ¥Ý¡¼¥È¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ + + +#/proc entries +#============= +/proc ¥¨¥ó¥È¥ê +============== + +#Information about mounted ext4 file systems can be found in +#/proc/fs/ext4. Each mounted filesystem will have a directory in +#/proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or +#/proc/fs/ext4/dm-0). The files in each per-device directory are shown +#in table below. +¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ðÊó¤Ï /proc/fs/ext4 ¤«¤é¼èÆÀ¤Ç +¤­¤Þ¤¹¡£¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î³Æ¡¹¤ËÂбþ¤·¤¿¡¢¥Ç¥Ð¥¤¥¹Ì¾¤ò¸µ +¤Ë¤·¤¿Ì¾¾Î¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬ /proc/fs/ext4 °Ê²¼¤ËºîÀ®¤µ¤ì¤Þ¤¹ (Î㤨¤Ð +/proc/fs/ext4/hdc ¤ä /proc/fs/ext4/dm-0)¡£³Æ¥Ç¥Ð¥¤¥¹¤´¤È¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î +¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤Î¤È¤ª¤ê¤Ç¤¹¡£ + +#Files in /proc/fs/ext4/ +/proc/fs/ext4/ ¤Î¥Õ¥¡¥¤¥ë +.............................................................................. +# File Content +# mb_groups details of multiblock allocator buddy cache of free blocks + ¥Õ¥¡¥¤¥ë ÆâÍÆ + mb_groups ¥Õ¥ê¡¼¥Ö¥í¥Ã¥¯¤Î buddy ¥­¥ã¥Ã¥·¥å¤Î¥Þ¥ë¥Á¥Ö¥í¥Ã¥¯¥¢¥í¥± + ¡¼¥¿¤Î¾ÜºÙ¾ðÊó +.............................................................................. + +#/sys entries +#============ +/sys ¥¨¥ó¥È¥ê +============= + +#Information about mounted ext4 file systems can be found in +#/sys/fs/ext4. Each mounted filesystem will have a directory in +#/sys/fs/ext4 based on its device name (i.e., /sys/fs/ext4/hdc or +#/sys/fs/ext4/dm-0). The files in each per-device directory are shown +#in table below. +¥Þ¥¦¥ó¥È¤µ¤ì¤¿ ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ðÊó¤Ï /sys/fs/ext4 ¤«¤é¼èÆÀ¤Ç¤­¤Þ¤¹¡£ +¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î³Æ¡¹¤ËÂбþ¤·¤Æ¡¢¥Ç¥Ð¥¤¥¹Ì¾¤ò¸µ¤Ë¤·¤¿Ì¾ +¾Î¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬ /sys/fs/ext4 °Ê²¼¤ËºîÀ®¤µ¤ì¤Þ¤¹ (Î㤨¤Ð +/sys/fs/ext4/hdc ¤ä /sys/fs/ext4/dm-0)¡£³Æ¥Ç¥Ð¥¤¥¹¤´¤È¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î +¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤Î¤È¤ª¤ê¤Ç¤¹¡£ + + +#Files in /sys/fs/ext4/ +#(see also Documentation/ABI/testing/sysfs-fs-ext4) +/sys/fs/ext4/ ¤Î¥Õ¥¡¥¤¥ë + (Documentation/ABI/testing/sysfs-fs-ext4 ¤â¸«¤Æ¤¯¤À¤µ¤¤) +.............................................................................. +# File Content + ¥Õ¥¡¥¤¥ë ÆâÍÆ + +# delayed_allocation_blocks This file is read-only and shows the number of +# blocks that are dirty in the page cache, but +# which do not have their location in the +# filesystem allocated yet. + delayed_allocation_blocks ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ç¡¢¥Ú¡¼¥¸¥­¥ã¥Ã + ¥·¥åÆâ¤Î¥À¡¼¥Æ¥£¤Ç¡¢¤«¤Ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Ë + ¤Þ¤ÀÎΰ褬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Ê¤¤¥Ú¡¼¥¸¤Î¿ô¤ò¼¨ + ¤·¤Þ¤¹¡£ + +# inode_goal Tuning parameter which (if non-zero) controls +# the goal inode used by the inode allocator in +# preference to all other allocation heuristics. +# This is intended for debugging use only, and +# should be 0 on production systems. + inode_goal ¥Á¥å¡¼¥Ë¥ó¥°¥Ñ¥é¥á¡¼¥¿¤Ç¤¢¤ê¡¢inode ¥¢¥í¥±¡¼ + ¥¿¤ÇÍѤ¤¤ë goal inode ¤ÎµóÆ°¤ò¾¤Î¥¢¥í¥±¡¼¥· + ¥ç¥óÀïά¤ËÍ¥À褷¤Æ (0 °Ê³°¤Î¾ì¹ç¤Ë) À©¸æ¤¹¤ë + ¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ + ¤³¤ì¤Ï¥Ç¥Ð¥Ã¥°¤Î¤ß¤ÇÍøÍѤ¹¤ë¤³¤È¤ò°Õ¿Þ¤·¤Æ¤ª + ¤ê¡¢Ä̾ﱿÍÑ»þ¤Ï 0 ¤Ë¤·¤Æ¤ª¤¯¤Ù¤­¤Ç¤¹¡£ + +# inode_readahead_blks Tuning parameter which controls the maximum +# number of inode table blocks that ext4's inode +# table readahead algorithm will pre-read into +# the buffer cache + inode_readahead_blks ¥Á¥å¡¼¥Ë¥ó¥°¥Ñ¥é¥á¡¼¥¿¤Ç¤¢¤ê¡¢ext4 ¤Î inode + ¥Æ¡¼¥Ö¥ëÀèÆɤߥ¢¥ë¥´¥ê¥º¥à¤¬¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥· + ¥å¤ËÀèÆɤߤ¹¤ë inode ¥Æ¡¼¥Ö¥ë¤Î¥Ö¥í¥Ã¥¯¿ô¤ò + »ØÄꤷ¤Þ¤¹¡£ + +# lifetime_write_kbytes This file is read-only and shows the number of +# kilobytes of data that have been written to this +# filesystem since it was created. + lifetime_write_kbytes ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ç¡¢ºîÀ®¤µ¤ì¤Æ¤« + ¤é°Ê¹ß¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë½ñ¤­¤³¤Þ¤ì¤¿¥Ç¡¼¥¿¤ò + ¥­¥í¥Ð¥¤¥Èñ°Ì¤Ç¼¨¤·¤Þ¤¹¡£ + +# max_writeback_mb_bump The maximum number of megabytes the writeback +# code will try to write out before move on to +# another inode. + max_writeback_mb_bump ¥é¥¤¥È¥Ð¥Ã¥¯¥³¡¼¥É¤¬¼¡¤Î inode ¤Ë¿Ê¤àÁ°¤Ë½ñ + ¤­¤³¤ß¤ò»î¤ß¤ë¥µ¥¤¥º¤ÎºÇÂçÃͤò¥á¥¬¥Ð¥¤¥Èñ°Ì + ¤Ç»ØÄꤷ¤Þ¤¹¡£ + +# mb_group_prealloc The multiblock allocator will round up allocation +# requests to a multiple of this tuning parameter if +# the stripe size is not set in the ext4 superblock + mb_group_prealloc ¥Þ¥ë¥Á¥Ö¥í¥Ã¥¯¥¢¥í¥±¡¼¥¿¤Ï¡¢ext4 ¥¹¡¼¥Ñ¡¼¥Ö + ¥í¥Ã¥¯Æâ¤Ë¥¹¥È¥é¥¤¥×¥µ¥¤¥º¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤ + ¾ì¹ç¡¢¥¢¥í¥±¡¼¥·¥ç¥óÍ×µá¤ò¤³¤Î¥Á¥å¡¼¥Ë¥ó¥°¥Ñ + ¥é¥á¡¼¥¿¤ÎÀ°¿ôÇܤËÀÚ¤ê¾å¤²¤Þ¤¹¡£ + +# mb_max_to_scan The maximum number of extents the multiblock +# allocator will search to find the best extent + mb_max_to_scan ¥Þ¥ë¥Á¥Ö¥í¥Ã¥¯¥¢¥í¥±¡¼¥¿¤¬ºÇŬ¤Ê¥¨¥¯¥¹¥Æ¥ó¥È + ¤òõ¤¹ºÝ¤Ëõº÷¤¹¤ë¥¨¥¯¥¹¥Æ¥ó¥È¤ÎºÇÂçÃͤò»ØÄê + ¤·¤Þ¤¹¡£ + +# mb_min_to_scan The minimum number of extents the multiblock +# allocator will search to find the best extent + mb_min_to_scan ¥Þ¥ë¥Á¥Ö¥í¥Ã¥¯¥¢¥í¥±¡¼¥¿¤¬ºÇŬ¤Ê¥¨¥¯¥¹¥Æ¥ó¥È + ¤òõ¤¹ºÝ¤Ëõº÷¤¹¤ë¥¨¥¯¥¹¥Æ¥ó¥È¤ÎºÇ¾®Ãͤò»ØÄê + ¤·¤Þ¤¹¡£ + +# mb_order2_req Tuning parameter which controls the minimum size +# for requests (as a power of 2) where the buddy +# cache is used + mb_order2_req buddy ¥­¥ã¥Ã¥·¥å»ÈÍÑ»þ¤Ë¥ê¥¯¥¨¥¹¥È¤ÎºÇ¾®¥µ¥¤ + ¥º¤ò 2 ¤Î¤Ù¤­¾è¤Ç»ØÄꤹ¤ë¥Á¥å¡¼¥Ë¥ó¥°¥Ñ¥é¥á¡¼ + ¥¿¤Ç¤¹¡£ + +# mb_stats Controls whether the multiblock allocator should +# collect statistics, which are shown during the +# unmount. 1 means to collect statistics, 0 means +# not to collect statistics + mb_stats ¥Þ¥ë¥Á¥Ö¥í¥Ã¥¯¥¢¥í¥±¡¼¥¿¤¬ unmount »þ¤Ëɽ¼¨¤¹ + ¤ë¤¿¤á¤ÎÅý·×¾ðÊó¤ò½¸¤á¤ë¤«Èݤ«¤òÀ©¸æ¤·¤Þ¤¹¡£ + 1 ¤ÏÅý·×¾ðÊó¤ò½¸¤á¤ë¤³¤È¤ò¡¢0 ¤Ï½¸¤á¤Ê¤¤¤³¤È + ¤ò°ÕÌ£¤·¤Þ¤¹¡£ + +# mb_stream_req Files which have fewer blocks than this tunable +# parameter will have their blocks allocated out +# of a block group specific preallocation pool, so +# that small files are packed closely together. +# Each large file will have its blocks allocated +# out of its own unique preallocation pool. + mb_stream_req ¤³¤ì¤Ï¥Á¥å¡¼¥Ë¥ó¥°¥Ñ¥é¥á¡¼¥¿¤Ç¤¢¤ê¡¢¤³¤Î¥Ñ¥é + ¥á¡¼¥¿°Ê²¼¤Î¥Ö¥í¥Ã¥¯¿ô¤Î³ä¤êÅö¤Æ¤Î¾ì¹ç¤Ë¤Ï¡¢ + ¥Ö¥í¥Ã¥¯¥°¥ë¡¼¥×Ê̤λöÁ°³ä¤êÅö¤Æ¥×¡¼¥ë¤«¤é¥Ö + ¥í¥Ã¥¯¤ò³ä¤êÅö¤Æ¤ë¤è¤¦¤Ë¤·¡¢¾®¤µ¤¤¥Õ¥¡¥¤¥ë¤¬ + ¶á¤¯¤Ë¥Ñ¥Ã¥¯¤µ¤ì¤Æ½¸¤á¤é¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ + Â礭¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢Â礭¤Ê¥Õ¥¡¥¤¥ëÍѤλöÁ°³ä¤ê + Åö¤Æ¥×¡¼¥ë¤«¤é¥Ö¥í¥Ã¥¯¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ + +# session_write_kbytes This file is read-only and shows the number of +# kilobytes of data that have been written to this +# filesystem since it was mounted. + session_write_kbytes ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ç¡¢¥Þ¥¦¥ó¥È¤µ¤ì + ¤Æ¤«¤é¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë½ñ¤­¤³¤Þ¤ì¤¿¥Ç¡¼¥¿¤ò + ¥­¥í¥Ð¥¤¥Èñ°Ì¤Ç¼¨¤·¤Þ¤¹¡£ +.............................................................................. + +Ioctls +====== + +#There is some Ext4 specific functionality which can be accessed by applications +#through the system call interfaces. The list of all Ext4 specific ioctls are +#shown in the table below. +¥·¥¹¥Æ¥à¥³¡¼¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤è¤ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥¢¥¯¥»¥¹²Äǽ¤Ê ext4 +¸ÇÍ­¤Îµ¡Ç½¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£ext4 ¸ÇÍ­¤Î ioctl ¤Î°ìÍ÷¤ò°Ê²¼¤Îɽ¤Ë¼¨¤·¤Þ¤¹¡£ + +#Table of Ext4 specific ioctls +ext4 ¸ÇÍ­¤Î ioctl ¤Îɽ +.............................................................................. +# Ioctl Description + Ioctl ÀâÌÀ +# EXT4_IOC_GETFLAGS Get additional attributes associated with inode. +# The ioctl argument is an integer bitfield, with +# bit values described in ext4.h. This ioctl is an +# alias for FS_IOC_GETFLAGS. + EXT4_IOC_GETFLAGS inode ¤Ë´Ø·¸¤¹¤ëÄɲ墥ȥê¥Ó¥å¡¼¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£ + ¤³¤Î ioctl ¤Î°ú¿ô¤Ï¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ç¡¢³Æ bit + ¤Î°ÕÌ£¤Ï ext4.h ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î ioctl + ¤Ï FS_IOC_GETFLAG ¤ÎÊÌ̾¤Ë¤Ê¤ê¤Þ¤¹¡£ + +# EXT4_IOC_SETFLAGS Set additional attributes associated with inode. +# The ioctl argument is an integer bitfield, with +# bit values described in ext4.h. This ioctl is an +# alias for FS_IOC_SETFLAGS. + EXT4_IOC_SETFLAGS inode ¤Ë´Ø·¸¤¹¤ëÄɲ墥ȥê¥Ó¥å¡¼¥È¤òÀßÄꤷ¤Þ¤¹¡£ + ¤³¤Î ioctl ¤Î°ú¿ô¤Ï¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ç¡¢³Æ bit + ¤Î°ÕÌ£¤Ï ext4.h ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î ioctl + ¤Ï FS_IOC_SETFLAG ¤ÎÊÌ̾¤Ë¤Ê¤ê¤Þ¤¹¡£ + + EXT4_IOC_GETVERSION + EXT4_IOC_GETVERSION_OLD +# Get the inode i_generation number stored for +# each inode. The i_generation number is normally +# changed only when new inode is created and it is +# particularly useful for network filesystems. The +# '_OLD' version of this ioctl is an alias for +# FS_IOC_GETVERSION. + ³Æ inode ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë inode ¤Î + i_generation ÈÖ¹æ¤ò¼èÆÀ¤·¤Þ¤¹¡£i_generation + ÈÖ¹æ¤ÏÄ̾￷¤·¤¤ inode ¤¬ºîÀ®¤µ¤ì¤ë¾ì¹ç¤Ë¤Î¤ß + Êѹ¹¤µ¤ì¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÇÆäËÍ­ÍѤǤ¹¡£ + _OLD ¤ÎÉÕ¤¯ÈǤΠioctl ¤Ï FS_IOC_GETVERSION ¤Î + ÊÌ̾¤Ç¤¹¡£ + + EXT4_IOC_SETVERSION + EXT4_IOC_SETVERSION_OLD +# Set the inode i_generation number stored for +# each inode. The '_OLD' version of this ioctl +# is an alias for FS_IOC_SETVERSION. + ³Æ inode ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë inode ¤Î + i_generation ÈÖ¹æ¤òÀßÄꤷ¤Þ¤¹¡£ + _OLD ¤ÎÉÕ¤¯ÈǤΠioctl ¤Ï FS_IOC_SETVERSION ¤Î + ÊÌ̾¤Ç¤¹¡£ + +# EXT4_IOC_GROUP_EXTEND This ioctl has the same purpose as the resize +# mount option. It allows to resize filesystem +# to the end of the last existing block group, +# further resize has to be done with resize2fs, +# either online, or offline. The argument points +# to the unsigned logn number representing the +# filesystem new block count. + EXT4_IOC_GROUP_EXTEND ¤³¤Î ioctl ¤Ï resize mount ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸ÌÜ + Ū¤ò»ý¤Á¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢ºÇ½ª¤Î»ÈÍÑºÑ¤ß¤Î¥Ö + ¥í¥Ã¥¯¥°¥ë¡¼¥×¤Ø¤Î¥ê¥µ¥¤¥º¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ + ¤³¤ì°Ê¾å¤Î¥ê¥µ¥¤¥º¤Ï¡¢resize2fs¤òÍѤ¤¤Æ¹Ô¤¦É¬ + Íפ¬¤¢¤ê¤Þ¤¹¡£°ú¿ô¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¿·¤·¤¤ + ¥Ö¥í¥Ã¥¯¿ô¤ò¼¨¤¹ÌµÉä¹æ long ·¿À°¿ô¤ò»Ø¤·¤Þ¤¹¡£ + +# EXT4_IOC_MOVE_EXT Move the block extents from orig_fd (the one +# this ioctl is pointing to) to the donor_fd (the +# one specified in move_extent structure passed +# as an argument to this ioctl). Then, exchange +# inode metadata between orig_fd and donor_fd. +# This is especially useful for online +# defragmentation, because the allocator has the +# opportunity to allocate moved blocks better, +# ideally into one contiguous extent. + EXT4_IOC_MOVE_EXT orig_fd (ioctl ¤Î»Ø¤¹°ÌÃÖ) ¤Î¥Ö¥í¥Ã¥¯¥¨¥¯¥¹¥Æ + ¥ó¥È¤ò doner_fd (ioctl ¤Ø¤Î°ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì + ¤ë move_extent ¹½Â¤ÂΤǻØÄꤵ¤ì¤¿°ÌÃÖ) ¤Ë°ÜÆ° + ¤·¡¢orig_fd ¤È doner_fd ¤Î inode ¥á¥¿¥Ç¡¼¥¿¤ò + ¸ò´¹¤·¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢°ÜÆ°¤µ¤ì¤ë¥Ö¥í¥Ã¥¯¤Î³ä + ¤êÅö¤Æ¤ò²þÁ±¤Ç¤­¤ë (Î㤨¤Ð¤Ò¤È¤Ä¤ÎÎÙÀܤ¹¤ë¥¨¥¯ + ¥¹¥Æ¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤ì¤ÐÍýÁÛŪ¤Ç¤¹) ²ÄǽÀ­¤¬ + ¤¢¤ë¤¿¤á¡¢Æä˥ª¥ó¥é¥¤¥ó¥Ç¥Õ¥é¥°¤ÇÊØÍø¤Ç¤¹¡£ + +# EXT4_IOC_GROUP_ADD Add a new group descriptor to an existing or +# new group descriptor block. The new group +# descriptor is described by ext4_new_group_input +# structure, which is passed as an argument to +# this ioctl. This is especially useful in +# conjunction with EXT4_IOC_GROUP_EXTEND, +# which allows online resize of the filesystem +# to the end of the last existing block group. +# Those two ioctls combined is used in userspace +# online resize tool (e.g. resize2fs). + EXT4_IOC_GROUP_ADD ´û¸¤Þ¤¿¤Ï¿·µ¬¤Î¥°¥ë¡¼¥×¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Ö¥í¥Ã¥¯ + ¤Ë¿·¤·¤¤¥°¥ë¡¼¥×¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÄɲä·¤Þ¤¹¡£¿· + ¤·¤¤¥°¥ë¡¼¥×¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¡¢¤³¤Î ioctl ¤Î°ú + ¿ô¤È¤·¤ÆÅϤµ¤ì¤ë ext4_new_group_input ¹½Â¤ÂÎ¤Ë + µ­ºÜ¤µ¤ì¤Þ¤¹¡£ + ¤³¤Îµ¡Ç½¤ÏºÇ½ª¤Î»ÈÍѺѤߤΥ֥í¥Ã¥¯¥°¥ë¡¼¥×¤Ø¤Î + ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ª¥ó¥é¥¤¥ó¥ê¥µ¥¤¥º¤ò¹Ô¤¦ + EXT4_IOC_GROUP_EXTEND µ¡Ç½¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¦¤È + ÊØÍø¤Ç¤¹¡£¤³¤Î 2 ¤Ä¤Î ioctl ¤Ï¥æ¡¼¥¶¶õ´Ö¥ª¥ó¥é + ¥¤¥ó¥ê¥µ¥¤¥º¥Ä¡¼¥ë (¤Ä¤Þ¤ê resize2fs) ¤ÇÁȤ߹ç + ¤ï¤»¤Æ»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ + +# EXT4_IOC_MIGRATE This ioctl operates on the filesystem itself. +# It converts (migrates) ext3 indirect block mapped +# inode to ext4 extent mapped inode by walking +# through indirect block mapping of the original +# inode and converting contiguous block ranges +# into ext4 extents of the temporary inode. Then, +# inodes are swapped. This ioctl might help, when +# migrating from ext3 to ext4 filesystem, however +# suggestion is to create fresh ext4 filesystem +# and copy data from the backup. Note, that +# filesystem has to support extents for this ioctl +# to work. + EXT4_IOC_MIGRATE ¤³¤Î ioctl ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¼«ÂΤòÁàºî¤·¤Þ¤¹¡£ + ¤³¤ì¤Ï¡¢ext3 ¤Î´ÖÀÜ¥Ö¥í¥Ã¥¯¥Þ¥Ã¥×¤µ¤ì¤¿ inode + ¤ò ext4 ¤Î¥¨¥¯¥¹¥Æ¥ó¥È¥Þ¥Ã¥×¤µ¤ì¤¿ inode ¤Ë¡¢ + ¸µ¤Î inode ¤Î´ÖÀÜ¥Ö¥í¥Ã¥¯¥Þ¥Ã¥×¤ò¼ê·«¤Ã¤ÆÎÙÀÜ + ¥Ö¥í¥Ã¥¯ÈϰϤËÊÑ´¹¤·¤Æ¹¹¤Ë°ì»þ inode ¤Î ext4 + ¥¨¥¯¥¹¥Æ¥ó¥È¤ËÊÑ´¹¡¢¤½¤Î¤¢¤È inode ¤ò¸ò´¹¤¹¤ë + ¤³¤È¤Ë¤è¤êÊÑ´¹¤·¤Æ°Ü¹Ô¤·¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ï ext3 + ¤«¤é ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ø¤Î°Ü¹Ô»þ¤ËÍøÍѲÄǽ + ¤Ç¤¹¤¬¡¢ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¿·µ¬¤Ëºî¤Ã¤Æ¤½ + ¤³¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤«¤é¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤¹¤ëÊý¤¬¤è¤ê + Îɤ¤¤ä¤êÊý¤Ç¤¹¡£¤³¤Î ioctl ¤ÎÆ°ºî¤Î¤¿¤á¤Ë¤Ï¥Õ + ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥¨¥¯¥¹¥Æ¥ó¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë + ɬÍפ¬¤¢¤ë¤³¤È¤Ëα°Õ¤¯¤À¤µ¤¤¡£ + +# EXT4_IOC_ALLOC_DA_BLKS Force all of the delay allocated blocks to be +# allocated to preserve application-expected ext3 +# behaviour. Note that this will also start +# triggering a write of the data blocks, but this +# behaviour may change in the future as it is +# not necessary and has been done this way only +# for sake of simplicity. + EXT4_IOC_ALLOC_DA_BLKS ÃÙ±ä³ä¤êÅö¤ÆÂоݤΥ֥í¥Ã¥¯¤ò¶¯À©Åª¤ËÁ´¤Æ³ä¤êÅö + ¤Æ¤ë¤³¤È¤Ë¤è¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¸«¤Æ ext3 + ¤ÎµóÆ°¤ÈƱ¤¸¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ë¤è¤ê + ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤Î½ñ¤­¹þ¤ß¤¬»Ï¤Þ¤ë + ¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤¿¤À¤·¡¢¤³¤Î¿¶¤ëÉñ¤¤¤Ï + ɬÍפʤâ¤Î¤Ç¤Ï¤Ê¤¯¡¢Ã±½ã²½¤Î¤¿¤á¤Ë¤ª¤³¤Ê¤ï¤ì¤Æ + ¤¤¤ë¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢¾­ÍèÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤Ï¤¢¤ê + ¤Þ¤¹¡£ + +# EXT4_IOC_RESIZE_FS Resize the filesystem to a new size. The number +# of blocks of resized filesystem is passed in via +# 64 bit integer argument. The kernel allocates +# bitmaps and inode table, the userspace tool thus +# just passes the new number of blocks. + EXT4_IOC_RESIZE_FS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¿·¤·¤¤¥µ¥¤¥º¤Ë¥ê¥µ¥¤¥º¤·¤Þ + ¤¹¡£¥ê¥µ¥¤¥º¸å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ö¥í¥Ã¥¯¿ô + ¤¬ 64-bit À°¿ôÃͤΰú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£¥«¡¼ + ¥Í¥ë¤¬¥Ó¥Ã¥È¥Þ¥Ã¥×¤È inode ¥Æ¡¼¥Ö¥ë¤ò³ä¤êÅö¤Æ + ¤ë¤¿¤á¡¢¥æ¡¼¥¶¶õ´Ö¤Î¥Ä¡¼¥ë¤Ï¿·¤·¤¤¥Ö¥í¥Ã¥¯¤Î + ¿ô¤òñ¤ËÅϤ¹¤À¤±¤Ç¤¹¡£ +.............................................................................. #References #========== diff --git a/docs/kernel-docs-2.6/filesystems/ext4.txt.info b/docs/kernel-docs-2.6/filesystems/ext4.txt.info index cdda565..f7a9f91 100644 --- a/docs/kernel-docs-2.6/filesystems/ext4.txt.info +++ b/docs/kernel-docs-2.6/filesystems/ext4.txt.info @@ -2,8 +2,8 @@ ATRB: MISC TITL: Ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à CONT: Ext4 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î²òÀâ NAME: filesystems/ext4.txt -JDAT: 2009/10/18 -BVER: 2.6.31.1 +JDAT: 2012/05/11 +BVER: 3.3 AUTH: unknown TRNS: Seiji Kaneko < skaneko at mbn dot or dot jp > ITEM: etc diff --git a/www/news.m4 b/www/news.m4 index 23ab8a1..4c9223a 100644 --- a/www/news.m4 +++ b/www/news.m4 @@ -45,6 +45,9 @@ m4_define(`_NEW_DOC',` ')
+_UPD_DOC(kernel-docs-2.6/filesystems/ext4.txt.html,2012/05/12, + `kernel-3.3 ÉÕ° filesystems/ext4.txt ¤ÎÆüËܸìÌõ') + _UPD_DOC(kernel-docs-2.6/stable_kernel_rules.txt.html,2011/08/24, `kernel-3.0 ÉÕ° stable_kernel_rules.txt ¤ÎÆüËܸìÌõ') -- 2.11.0