ITPro¤ÎLinux¥Á¥å¡¼¥Ë¥ó¥°¤Îµ»ö¤¬¤Ò¤É¤¤»ö¤Ë¤Ê¤Ã¤Æ¤¤¤ë·ï¤Ë¤Ä¤¤¤Æ
http://mkosaki.blog46.fc2.com/blog-entry-535.html
¤È¤¤¤¦¿ôËÜÁ°¤Îµ»ö¤Ë¤Ä¤¤¤Æ¡¢id:shiumachi¤µ¤ó¤¬Äɻ¤Æ¤¯¤ì¤Þ¤·¤¿¡£
¤Ä¡¡http://d.hatena.ne.jp/shiumachi/20080605
¤à¤à¤à¡¢¤¹¤Ð¤é¤·¤¤¤Ç¤¹¡£
ÆÃ¤Ërelatime¤Î¤¢¤¿¤ê¤¬½¨°ï¤Ç¤¹¡£relatime¤ÎÀǽ¬Äê¤Ã¤ÆÂ¾¤Ë¤¢¤ó¤Þ¤ê¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤·¤é¡£
Ê£¿ô¤ÎÊý¤«¤é¤´»ØÅ¦¤¤¤¿¤À¤¤¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢noatime¤Ï¤¢¤Îµ»ö¤Î¤Ê¤«¤Ç¿ô¾¯¤Ê¤¤¡¢¸½ºß¤Ç¤â°ÕÌ£¤Î¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
¤»¤Ã¤«¤¯¤Ê¤Î¤Ç¡¢¤ªÎ餬¤Æ¤é¡¢relatime¤Ë¤Ä¤¤¤Æ¤Á¤ç¤¤¤ÈÄɵ¤·¤Æ¤ß¤Þ¤¹¡£
¤Þ¤º¡¢atime¤Þ¤ï¤ê¤Î¥ª¥×¥·¥ç¥ó¤Î°ÕÌ£¤«¤é
nodiratime¤Èrelatime¤ÏξÊý¤È¤ânoatime¤ÎÉûºîÍѤò·Ú¸º¤¹¤ë¤¿¤á¤ËÄɲ䵤줿µ¡Ç½¤Ç¤¹¡£
¤³¤ÎÉûºîÍѤòÀâÌÀ¤¹¤ë¤Ë¤¢¤¿¤Ã¤Æ¡¢atime¤È¤Ï²¿¤«¡¢¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤Þ¤º¡¢atime¤È¤Ï(Access TIME)¤Îά¤Ç¤½¤Î̾¤Î¤È¤ª¤ê¡¢¥¢¥¯¥»¥¹¤·¤¿»þ´Ö¤òɽ¤·¤Þ¤¹¡£
¤¦¡¼¤ó¡¢ÀâÌÀ¤Ë¤Ê¤Ã¤Æ¤Ê¤¤¡£
¤³¤¤¤Ä¤¬¤Ê¤¼¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÍî¤È¤¹¤«¤È¤¤¤¦¤È
atime¹¹¿· ¡á inode¾ðÊó¤Î¹¹¿· ¡á ¥Ç¥£¥¹¥¯½ñ¤¹þ¤ß¤ÎɬÍפ¬È¯À¸
¤È¤¤¤¦Ï¢º¿¤ò°ú¤µ¯¤³¤¹¤«¤é¤Ç¤¹¡£
¤µ¤é¤Ë°¤¤¤³¤È¤Ë¡¢inode¾ðÊó¤Ï¤¿¤¤¤Æ¤¤¥Ç¡¼¥¿ËÜÂΤȤϥǥ£¥¹¥¯¤ÎʪÍýŪ¤Ê°ÌÃÖ¤¬Î¥¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ÌµÂ̤ʥ·¡¼¥¯¤¬Í¶È¯¤µ¤ì¤Þ¤¹¡£
¤¿¤¤¤Æ¤¤¤Î¥Ç¥£¥¹¥¯·Ï¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ï¥·¡¼¥¯²ó¿ô¤Ç¾¡É餬·è¤¹¤ë¤Î¤Ç¡¢¤³¤ì¤¬¥Ù¥ó¥Á¤ÇÀǽ¤¬¤è¤¯¸«¤¨¤ë¸¶°ø¤Ç¤¹¡£
¤¢¤È¡¢ITpro¤Îµ»ö¤Ë
¤È¤¤¤¦µ½Ò¤â¤¢¤ë¤±¤É¡¢¤³¤ì¤Ï´Ö°ã¤¤¡£
atime¤¬¹¹¿·¤µ¤ì¤ë¤Î¤Ï¡¢¤À¤¤¤¿¤¤
£±¡¥read¤·¤¿¤È¤
£²¡¥readdir¤·¤¿¤È¤
£³¡¥readlink¤·¤¿¤È¤¡Êopen¤ÎÉûºîÍѤˤè¤ë°ÅÌۤΥê¥ó¥¯¥ª¡¼¥×¥ó¤â´Þ¤à¡Ë
£´¡¥mmap¤·¤¿¤È¤
¤Î£´¥±¡¼¥¹¤Ç¡¢write¤ÏºÇ½é¤«¤éÆþ¤Ã¤Æ¤Ê¤¤¡£
¤Ç¡¢ÏäòÌ᤹¤Ènoatime¤¬Èó¾ï¤Ë¸ú¤¯¤Î¤Ï°Ê²¼¤Î£²¤Ä¤Î¥±¡¼¥¹¡£
£±¡¥find¤ä¥á¡¼¥é¡¼¤Ê¤É¡¢»³¤Û¤É¥Õ¥¡¥¤¥ë¤ò³«¤¤Þ¤¯¤ë¥±¡¼¥¹
£²¡¥¥Ù¥ó¥Á¥Þ¡¼¥¯¥½¥Õ¥È¤Ê¤É¡¢¤¢¤ó¤Þ¤êÂ礤¯¤Ê¤¤¥Ð¥Ã¥Õ¥¡¤ò¤Ò¤¿¤¹¤éread¤·¤Þ¤¯¤ë¥±¡¼¥¹
¤Ç¡¢atime¤Ê¤ó¤Æstat(2)¤¢¤¿¤ê¤Ç¥¢¥×¥ê¤¬ÌÀ¼¨Åª¤Ë¥Á¥§¥Ã¥¯¤·¤Ê¤¤¸Â¤ê°ÕÌ£¤Ê¤¤¤ó¤À¤«¤é¡¢
ÆÃÄꥢ¥×¥ê¤·¤«»È¤ï¤Ê¤¤¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ë´Ø¤·¤Æ¤Ï¡¢atime¤òµÏ¿¤·¤Ê¤¯¤Æ¤âÂç¾æÉפʤϤº¤À¤è¤Í¡¼
¤È¤¤¤¦¥¢¥¤¥Ç¥¢¤¬½Ð¤Æ¤¯¤ë¡£¤È¡£
¤Ç¡¢nodiratime¤Èrelatime ¤ÏξÊý¤È¤ânoatime¤ÎÉûºîÍѤò´ËϤ¹¤ë¤¿¤á¤Ë³«È¯¤µ¤ì¤¿¤â¤Î¤Ç
relatime¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤ò¥Õ¥¡¥¤¥ë¤·¤Æ¤¤¤Æ¡¢
mtime¤Èatime¤òÈæ³Ó¤·¤Æmtime¤Î¤Û¤¦¤¬¿·¤·¤±¤ì¤Ð¡¢¡Ö狼¤¬²¶¤¬ÆÉ¤ó¤À¸å¤Ë¹¹¿·¤·¤¿¡×
¤È¤ß¤Ê¤·¤Æ¤â¤¦°ìÅÙÆÉ¤ß¤Ë¤¤¤¯¤ï¤±¡£
¤À¤«¤é¡¢mtime¤¬¿·¤·¤¤¤È¤¤Ïatime¤Î¹¹¿·¤Ë°ÕÌ£¤¬¤¢¤ë¤±¤É¡¢mtime¤¬¸Å¤¤¤È¤¤Ï
¤½¤ì°Ê¾åatime¤ò¹¹¿·¤·¤Æ¤âï¤â¤¦¤ì¤·¤¯¤Í¡¼¤¼¡£
¤È¤¤¤¦¡¢¤Ê¤ó¤È¤¤¤¦¤«mutt¤òinotify¤ËÂбþ¤µ¤»¤í¤è¡£¤È¤«Æ¬¤¬¤è¤®¤ë¤è¤¦¤Ê
¥¹¥Æ¥work around¡¡¼ÂÁõ¡£
nodiratime¤Ï¡¢¥Õ¥¡¥¤¥ë¤Îatime¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤è¤¯¤¢¤ë¤¬¡Ê¥á¡¼¥é¤È¤«¡Ë
¥Ç¥£¥ì¥¯¥È¥ê¤Îatime¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ê¤ó¤Æ¤Ê¤¤¤ó¤¸¤ã¤Í¡©
¤È¤¤¤¦»×Áۤǥǥ£¥ì¥¯¥È¥ê¤À¤±µÏ¿¤ò¾Ê¤¤¤Æ¤ß¤¿¡£
¤È¤¤¤¦¤ä¤Ã¤Ñ¤ê·è¤á¤¦¤Á´¶¤¢¤Õ¤ì¤ëwork around.
¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤¿¤Ö¤ó¡¢relatime¤Ç£¹£¹¡ó¤Î¿Í¤¬¥Ï¥Ã¥Ô¡¼¤Ë¤Ê¤ì¤ë¤Î¤Ç¡¢¥Ó¥¸¥Í¥¹¤Çlinux¤ò»È¤Ã¤Æ¤¤¤ë¿Í¤Ï¡¢
¥Ç¥£¥¹¥È¥ê¤Ë¥Ð¥Ã¥¯¥Ý¡¼¥È¤ò°ÍÍꤹ¤ë¤È¥Ï¥Ã¥Ô¡¼¤Ë¤Ê¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¡ôÆÃ¤Ë¤·¤«¤¿¤Ê¤¯noatime¤ò»È¤Ã¤Æ¤¤¤ë¿Í¤Ë¤È¤Ã¤Æ¤Ï¡£
¤ó¤Ç¡¢¤³¤³¤«¤é¤¬¾ÜºÙ¡£
¤Þ¤È¤áµ»ö¤È¤·¤Æ¤Ï¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¢kerneltrap¤¬½¨°ï
http://kerneltrap.org/node/14148
¥Ñ¥Ã¥Á¼«ÂΤϰʲ¼¡¢Ä¶Ã»¤¯¤ÆÊ¬¤«¤ê¤ä¤¹¤¤
http://lkml.org/lkml/2006/8/25/381
ºÇ¶á¤Î¥«¡¼¥Í¥ë¤À¤È¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤µ¤ì¤¿·ë²Ì¡¢¾åµ¥Ñ¥Ã¥ÁÅê¹Æ»þ¤È´Ø¿ô¤Î¤Ä¤¯¤ê¤¬¼ã´³ÊѤï¤Ã¤Æ¤ë¤Î¤Ç¡¢´Ø¿ôÁ´ÂΤâ¤Î¤»¤È¤¯
¸«¤Æ¤Î¤È¤ª¤ê¡¢Ä¶Ã±½ã¤Ç¡¢atime¤¬¹¹¿·¤µ¤ì¤ë¤è¤¦¤Ê¥±¡¼¥¹¤Ç¡¢mtime, ctime¤è¤ê¤â¿·¤·¤«¤Ã¤¿¤é̵»ë¡£
¤È¤¤¤¦¤À¤±¡£
¤Æ¤æ¡¼¤«¡¢¤¢¤ó¤Þ¤ê®ÅÙ¤¬Íî¤Á¤ë²ÄǽÀ¤¬¤¢¤ë¥³¡¼¥É¤Ë¸«¤¨¤Ê¤¤¤Ê¡¼
¤µ¤é¤Ë¸Ä¿ÍŪ¤Ê¥ì¥¹
¤³¤Î¥Æ¥¹¥È¼ê½ç¤Ç¤Ï¡¢¤è¤¦¤¹¤ë¤Ëfind¤ò»È¤Ã¤Æ¡¢readdir¤·¤Þ¤¯¤ë¤Ã¤Æ¥Æ¥¹¥È¤Ê¤Î¤Ç¡¢
°ì²óÌܤÏdcache¤Èicache¤¬¶õ¤Ê¤Î¤Ç¡¢Á´Éô¥Ç¥£¥¹¥¯¾å¤«¤éÆÉ¤Þ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£
¤À¤±¤É¡¢Æó²óÌܰʹߤϥá¥â¥êÁàºî¤Ç¤¹¤à¤«¤é¤À¤È»×¤¦¡£
ÁêÂÐŪ¤ÊÂç¾®¤¬½ÅÍפǤ¹¡ª¡¡¥é¥ó¥¥ó¥°¡ª
http://mkosaki.blog46.fc2.com/blog-entry-535.html
¤È¤¤¤¦¿ôËÜÁ°¤Îµ»ö¤Ë¤Ä¤¤¤Æ¡¢id:shiumachi¤µ¤ó¤¬Äɻ¤Æ¤¯¤ì¤Þ¤·¤¿¡£
¤Ä¡¡http://d.hatena.ne.jp/shiumachi/20080605
¤à¤à¤à¡¢¤¹¤Ð¤é¤·¤¤¤Ç¤¹¡£
ÆÃ¤Ërelatime¤Î¤¢¤¿¤ê¤¬½¨°ï¤Ç¤¹¡£relatime¤ÎÀǽ¬Äê¤Ã¤ÆÂ¾¤Ë¤¢¤ó¤Þ¤ê¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤·¤é¡£
Ê£¿ô¤ÎÊý¤«¤é¤´»ØÅ¦¤¤¤¿¤À¤¤¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢noatime¤Ï¤¢¤Îµ»ö¤Î¤Ê¤«¤Ç¿ô¾¯¤Ê¤¤¡¢¸½ºß¤Ç¤â°ÕÌ£¤Î¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
¤»¤Ã¤«¤¯¤Ê¤Î¤Ç¡¢¤ªÎ餬¤Æ¤é¡¢relatime¤Ë¤Ä¤¤¤Æ¤Á¤ç¤¤¤ÈÄɵ¤·¤Æ¤ß¤Þ¤¹¡£
¤Þ¤º¡¢atime¤Þ¤ï¤ê¤Î¥ª¥×¥·¥ç¥ó¤Î°ÕÌ£¤«¤é
¥Ç¥Õ¥©¥ë¥È¡§¡¡¡¡¡¡¾ï¤Ëatime¤ò¹¹¿·¤¹¤ë
noatime¡§¡¡¡¡¡¡¡¡¾ï¤Ëatime¤ò¹¹¿·¤·¤Ê¤¤
nodiratime¡§ Âоݤ¬¥Õ¥¡¥¤¥ë¤Î¤È¤¤Ï¾ï¤Ë¹¹¿·¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î»þ¤Ï¾ï¤Ë¹¹¿·¤·¤Ê¤¤
relatime¡§¡¡¡¡¡¡ inode¾å¤Çatime¤¬mtime¤äctime¤è¤ê¤â¸Å¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿»þ¤À¤±¹¹¿·
nodiratime¤Èrelatime¤ÏξÊý¤È¤ânoatime¤ÎÉûºîÍѤò·Ú¸º¤¹¤ë¤¿¤á¤ËÄɲ䵤줿µ¡Ç½¤Ç¤¹¡£
¤³¤ÎÉûºîÍѤòÀâÌÀ¤¹¤ë¤Ë¤¢¤¿¤Ã¤Æ¡¢atime¤È¤Ï²¿¤«¡¢¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤Þ¤º¡¢atime¤È¤Ï(Access TIME)¤Îά¤Ç¤½¤Î̾¤Î¤È¤ª¤ê¡¢¥¢¥¯¥»¥¹¤·¤¿»þ´Ö¤òɽ¤·¤Þ¤¹¡£
¤¦¡¼¤ó¡¢ÀâÌÀ¤Ë¤Ê¤Ã¤Æ¤Ê¤¤¡£
¤³¤¤¤Ä¤¬¤Ê¤¼¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÍî¤È¤¹¤«¤È¤¤¤¦¤È
atime¹¹¿· ¡á inode¾ðÊó¤Î¹¹¿· ¡á ¥Ç¥£¥¹¥¯½ñ¤¹þ¤ß¤ÎɬÍפ¬È¯À¸
¤È¤¤¤¦Ï¢º¿¤ò°ú¤µ¯¤³¤¹¤«¤é¤Ç¤¹¡£
¤µ¤é¤Ë°¤¤¤³¤È¤Ë¡¢inode¾ðÊó¤Ï¤¿¤¤¤Æ¤¤¥Ç¡¼¥¿ËÜÂΤȤϥǥ£¥¹¥¯¤ÎʪÍýŪ¤Ê°ÌÃÖ¤¬Î¥¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ÌµÂ̤ʥ·¡¼¥¯¤¬Í¶È¯¤µ¤ì¤Þ¤¹¡£
¤¿¤¤¤Æ¤¤¤Î¥Ç¥£¥¹¥¯·Ï¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ï¥·¡¼¥¯²ó¿ô¤Ç¾¡É餬·è¤¹¤ë¤Î¤Ç¡¢¤³¤ì¤¬¥Ù¥ó¥Á¤ÇÀǽ¤¬¤è¤¯¸«¤¨¤ë¸¶°ø¤Ç¤¹¡£
¤¢¤È¡¢ITpro¤Îµ»ö¤Ë
°ìÊý¡¤½ñ¤½Ð¤·Àǽ¤Ï¤Û¤È¤ó¤ÉÊѲ½¤·¤Æ¤¤¤Ê¤¤¡£¤³¤ì¤Ïnoatime¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¤¤Æ¤â¡¤¥Õ¥¡¥¤¥ë¤Î½ñ¤½Ð¤·»þ¤Ë¤Ïatime¤¬¹¹¿·¤µ¤ì¤ë¤¿¤á¤Ç¤¢¤ë¡£
¤È¤¤¤¦µ½Ò¤â¤¢¤ë¤±¤É¡¢¤³¤ì¤Ï´Ö°ã¤¤¡£
atime¤¬¹¹¿·¤µ¤ì¤ë¤Î¤Ï¡¢¤À¤¤¤¿¤¤
£±¡¥read¤·¤¿¤È¤
£²¡¥readdir¤·¤¿¤È¤
£³¡¥readlink¤·¤¿¤È¤¡Êopen¤ÎÉûºîÍѤˤè¤ë°ÅÌۤΥê¥ó¥¯¥ª¡¼¥×¥ó¤â´Þ¤à¡Ë
£´¡¥mmap¤·¤¿¤È¤
¤Î£´¥±¡¼¥¹¤Ç¡¢write¤ÏºÇ½é¤«¤éÆþ¤Ã¤Æ¤Ê¤¤¡£
¤Ç¡¢ÏäòÌ᤹¤Ènoatime¤¬Èó¾ï¤Ë¸ú¤¯¤Î¤Ï°Ê²¼¤Î£²¤Ä¤Î¥±¡¼¥¹¡£
£±¡¥find¤ä¥á¡¼¥é¡¼¤Ê¤É¡¢»³¤Û¤É¥Õ¥¡¥¤¥ë¤ò³«¤¤Þ¤¯¤ë¥±¡¼¥¹
£²¡¥¥Ù¥ó¥Á¥Þ¡¼¥¯¥½¥Õ¥È¤Ê¤É¡¢¤¢¤ó¤Þ¤êÂ礤¯¤Ê¤¤¥Ð¥Ã¥Õ¥¡¤ò¤Ò¤¿¤¹¤éread¤·¤Þ¤¯¤ë¥±¡¼¥¹
¤Ç¡¢atime¤Ê¤ó¤Æstat(2)¤¢¤¿¤ê¤Ç¥¢¥×¥ê¤¬ÌÀ¼¨Åª¤Ë¥Á¥§¥Ã¥¯¤·¤Ê¤¤¸Â¤ê°ÕÌ£¤Ê¤¤¤ó¤À¤«¤é¡¢
ÆÃÄꥢ¥×¥ê¤·¤«»È¤ï¤Ê¤¤¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ë´Ø¤·¤Æ¤Ï¡¢atime¤òµÏ¿¤·¤Ê¤¯¤Æ¤âÂç¾æÉפʤϤº¤À¤è¤Í¡¼
¤È¤¤¤¦¥¢¥¤¥Ç¥¢¤¬½Ð¤Æ¤¯¤ë¡£¤È¡£
¤Ç¡¢nodiratime¤Èrelatime ¤ÏξÊý¤È¤ânoatime¤ÎÉûºîÍѤò´ËϤ¹¤ë¤¿¤á¤Ë³«È¯¤µ¤ì¤¿¤â¤Î¤Ç
relatime¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤ò¥Õ¥¡¥¤¥ë¤·¤Æ¤¤¤Æ¡¢
mtime¤Èatime¤òÈæ³Ó¤·¤Æmtime¤Î¤Û¤¦¤¬¿·¤·¤±¤ì¤Ð¡¢¡Ö狼¤¬²¶¤¬ÆÉ¤ó¤À¸å¤Ë¹¹¿·¤·¤¿¡×
¤È¤ß¤Ê¤·¤Æ¤â¤¦°ìÅÙÆÉ¤ß¤Ë¤¤¤¯¤ï¤±¡£
¤À¤«¤é¡¢mtime¤¬¿·¤·¤¤¤È¤¤Ïatime¤Î¹¹¿·¤Ë°ÕÌ£¤¬¤¢¤ë¤±¤É¡¢mtime¤¬¸Å¤¤¤È¤¤Ï
¤½¤ì°Ê¾åatime¤ò¹¹¿·¤·¤Æ¤âï¤â¤¦¤ì¤·¤¯¤Í¡¼¤¼¡£
¤È¤¤¤¦¡¢¤Ê¤ó¤È¤¤¤¦¤«mutt¤òinotify¤ËÂбþ¤µ¤»¤í¤è¡£¤È¤«Æ¬¤¬¤è¤®¤ë¤è¤¦¤Ê
¥¹¥Æ¥work around¡¡¼ÂÁõ¡£
nodiratime¤Ï¡¢¥Õ¥¡¥¤¥ë¤Îatime¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤è¤¯¤¢¤ë¤¬¡Ê¥á¡¼¥é¤È¤«¡Ë
¥Ç¥£¥ì¥¯¥È¥ê¤Îatime¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ê¤ó¤Æ¤Ê¤¤¤ó¤¸¤ã¤Í¡©
¤È¤¤¤¦»×Áۤǥǥ£¥ì¥¯¥È¥ê¤À¤±µÏ¿¤ò¾Ê¤¤¤Æ¤ß¤¿¡£
¤È¤¤¤¦¤ä¤Ã¤Ñ¤ê·è¤á¤¦¤Á´¶¤¢¤Õ¤ì¤ëwork around.
¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤¿¤Ö¤ó¡¢relatime¤Ç£¹£¹¡ó¤Î¿Í¤¬¥Ï¥Ã¥Ô¡¼¤Ë¤Ê¤ì¤ë¤Î¤Ç¡¢¥Ó¥¸¥Í¥¹¤Çlinux¤ò»È¤Ã¤Æ¤¤¤ë¿Í¤Ï¡¢
¥Ç¥£¥¹¥È¥ê¤Ë¥Ð¥Ã¥¯¥Ý¡¼¥È¤ò°ÍÍꤹ¤ë¤È¥Ï¥Ã¥Ô¡¼¤Ë¤Ê¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¡ôÆÃ¤Ë¤·¤«¤¿¤Ê¤¯noatime¤ò»È¤Ã¤Æ¤¤¤ë¿Í¤Ë¤È¤Ã¤Æ¤Ï¡£
¤ó¤Ç¡¢¤³¤³¤«¤é¤¬¾ÜºÙ¡£
¤Þ¤È¤áµ»ö¤È¤·¤Æ¤Ï¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¢kerneltrap¤¬½¨°ï
http://kerneltrap.org/node/14148
¥Ñ¥Ã¥Á¼«ÂΤϰʲ¼¡¢Ä¶Ã»¤¯¤ÆÊ¬¤«¤ê¤ä¤¹¤¤
http://lkml.org/lkml/2006/8/25/381
ºÇ¶á¤Î¥«¡¼¥Í¥ë¤À¤È¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤µ¤ì¤¿·ë²Ì¡¢¾åµ¥Ñ¥Ã¥ÁÅê¹Æ»þ¤È´Ø¿ô¤Î¤Ä¤¯¤ê¤¬¼ã´³ÊѤï¤Ã¤Æ¤ë¤Î¤Ç¡¢´Ø¿ôÁ´ÂΤâ¤Î¤»¤È¤¯
/**
* touch_atime - update the access time
* @mnt: mount the inode is accessed on
* @dentry: dentry accessed
*
* Update the accessed time on an inode and mark it for writeback.
* This function automatically handles read only file systems and media,
* as well as the "noatime" flag and inode specific "noatime" markers.
*/
void touch_atime(struct vfsmount *mnt, struct dentry *dentry)
{
struct inode *inode = dentry->d_inode;
struct timespec now;
if (mnt && mnt_want_write(mnt))
return;
if (inode->i_flags & S_NOATIME)
goto out;
if (IS_NOATIME(inode))
goto out;
if ((inode->i_sb->s_flags & MS_NODIRATIME) && S_ISDIR(inode->i_mode))
goto out;
/*
* We may have a NULL vfsmount when coming from NFSD
*/
if (mnt) {
if (mnt->mnt_flags & MNT_NOATIME)
goto out;
if ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode))
goto out;
if (mnt->mnt_flags & MNT_RELATIME) {
/*
* With relative atime, only update atime if the
* previous atime is earlier than either the ctime or
* mtime.
*/
if (timespec_compare(&inode->i_mtime,
&inode->i_atime) < 0 &&
timespec_compare(&inode->i_ctime,
&inode->i_atime) < 0)
goto out;
}
}
now = current_fs_time(inode->i_sb);
if (timespec_equal(&inode->i_atime, &now))
goto out;
inode->i_atime = now;
mark_inode_dirty_sync(inode);
out:
if (mnt)
mnt_drop_write(mnt);
}
EXPORT_SYMBOL(touch_atime);
¸«¤Æ¤Î¤È¤ª¤ê¡¢Ä¶Ã±½ã¤Ç¡¢atime¤¬¹¹¿·¤µ¤ì¤ë¤è¤¦¤Ê¥±¡¼¥¹¤Ç¡¢mtime, ctime¤è¤ê¤â¿·¤·¤«¤Ã¤¿¤é̵»ë¡£
¤È¤¤¤¦¤À¤±¡£
¤Æ¤æ¡¼¤«¡¢¤¢¤ó¤Þ¤ê®ÅÙ¤¬Íî¤Á¤ë²ÄǽÀ¤¬¤¢¤ë¥³¡¼¥É¤Ë¸«¤¨¤Ê¤¤¤Ê¡¼
¤µ¤é¤Ë¸Ä¿ÍŪ¤Ê¥ì¥¹
²ó¿ô real user sys
1 80.533 1.031 2.370
2 0.741 0.345 0.396
3 0.719 0.325 0.394
¤³¤Î¤è¤¦¤Ë¡¢Æ±°ìµ¯Æ°»þ¤ËÊ£¿ô²ó¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢2²óÌܰʹߤμ¹Իþ´Ö¤Ï¶Ëü¤Ëû¤¯¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¤ª¤½¤é¤¯¥¥ã¥Ã¥·¥å¤òÆÉ¤ß¹þ¤ó¤Ç¤ë¤¿¤á¤À¤È»×¤ï¤ì¤Þ¤¹¤¬¡¢¾Ü¤·¤¤Æ°ºî¤Ï¤ï¤«¤ê¤Þ¤»¤ó¡£
(ÃΤäƤë¿Í¤¬¤¤¤¿¤é¶µ¤¨¤Æ¤Û¤·¤¤)
¤³¤Î¥Æ¥¹¥È¼ê½ç¤Ç¤Ï¡¢¤è¤¦¤¹¤ë¤Ëfind¤ò»È¤Ã¤Æ¡¢readdir¤·¤Þ¤¯¤ë¤Ã¤Æ¥Æ¥¹¥È¤Ê¤Î¤Ç¡¢
°ì²óÌܤÏdcache¤Èicache¤¬¶õ¤Ê¤Î¤Ç¡¢Á´Éô¥Ç¥£¥¹¥¯¾å¤«¤éÆÉ¤Þ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£
¤À¤±¤É¡¢Æó²óÌܰʹߤϥá¥â¥êÁàºî¤Ç¤¹¤à¤«¤é¤À¤È»×¤¦¡£
ÁêÂÐŪ¤ÊÂç¾®¤¬½ÅÍפǤ¹¡ª¡¡¥é¥ó¥¥ó¥°¡ª ÌäÂê¤Îµ»ö¤ÎÉ®¼Ô¤Ç¤¹¡£¼«Ê¬¤Ç¤âÈæ³ÓŪ¥Þ¥·¤È»×¤Ã¤Æ¤¿Éôʬ¤Ë¤â¤³¤ó¤Ê½ÅÂç¤Ê¥ß¥¹¤¬¤¢¤ë¤È¤Ï¡Ä
write»þ¤Îatime¤Ë¤Ä¤¤¤Æ¤Ïº£¤Ë»ê¤ë¤Þ¤Ç´°Á´¤Ë¸í²ò¤·¤Æ¤Þ¤·¤¿
¤¤Á¤ó¤È¥³¡¼¥É¤ò¸«¤ÆÍý²ò¤·¤Ê¤¤¤È¥À¥á¤Ç¤¹¤Í¡£È¿¾Ê¤Ç¤¹
write»þ¤Îatime¤Ë¤Ä¤¤¤Æ¤Ïº£¤Ë»ê¤ë¤Þ¤Ç´°Á´¤Ë¸í²ò¤·¤Æ¤Þ¤·¤¿
¤¤Á¤ó¤È¥³¡¼¥É¤ò¸«¤ÆÍý²ò¤·¤Ê¤¤¤È¥À¥á¤Ç¤¹¤Í¡£È¿¾Ê¤Ç¤¹
2008-06-09 ·î 13:07:40 |
URL |
Ëö°ÂÂÙ»° #- [ ÊÔ½¸]
´ÉÍý¿Í¤Ç¤¹¡£¤É¤â¤É¤â
£´£°£´ £Â£ì£ï£ç £Î£ï£ô¡¡£Æ£ï£õ£î£ä¤µ¤ó¤¬Èó¾ï¤Ë¶½Ì£¿¼¤¤µ»ö¤ò¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤·¤Æ¤¯¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¹ç¤ï¤»¤ÆÆÉ¤à¤Î¤¬¥ª¥¹¥¹¥á¤Ç¤¹¡£
ÊÙ¶¯¤Ë¤Ê¤ê¤Þ¤¹¡£
£´£°£´ £Â£ì£ï£ç £Î£ï£ô¡¡£Æ£ï£õ£î£ä¤µ¤ó¤¬Èó¾ï¤Ë¶½Ì£¿¼¤¤µ»ö¤ò¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤·¤Æ¤¯¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¹ç¤ï¤»¤ÆÆÉ¤à¤Î¤¬¥ª¥¹¥¹¥á¤Ç¤¹¡£
ÊÙ¶¯¤Ë¤Ê¤ê¤Þ¤¹¡£
2008-06-09 ·î 18:55:30 |
URL |
kosaki #- [ ÊÔ½¸]
°Ê²¼¤ËÂФ·¤Æ¡¢
Linux¥Á¥å¡¼¥Ë¥ó¥°¡¡Âè1ÉôÂè1²ó¡¡¥Õ¥¡¥¤¥ë¡¦¥¢¥¯¥»¥¹¤ò¹â®²½¡§ITpro
³×Ì¿¤ÎÆü¡¹¡ª ITPro¤ÎLinux¥Á¥å¡¼¥Ë¥ó¥°¤Îµ»ö¤¬¤Ò¤É¤¤»ö¤Ë¤Ê¤Ã¤Æ¤¤¤ë·ï¤Ë¤Ä¤¤¤Æ
¤¢¤Þ¤ê¤Ë¹ó¤¤¤Î¤Çdis¤ëµ»ö¤ò½ñ¤³¤¦¤«¤È»×¤Ã¤¿¤é¡¢ËöÈø¤Ë¾®¤µ¤¯
½Ðŵ¡§Æü·ÐLinux 2002ǯ4·î¹...
¡Ú2008-06-09 Mon 15:47:30¡Û | 404 Blog Not Found
¡Ú2008-06-09 Mon 15:47:30¡Û | 404 Blog Not Found
404 Blog Not Found ¤µ¤ó¤¬¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤¯¤ì¤Æ¤ë¤ß¤¿¤¤¤À¡£
¤¹¤Ð¤é¤·¤¤¤Þ¤È¤áµ»ö¤ò¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤»¤Ã¤«¤¯¤Ê¤Î¤Ç¤ªÎ餬¤Æ¤é¡¢¥È¥é¥Ð...
¡Ú2008-06-09 Mon 18:47:51¡Û | ³×Ì¿¤ÎÆü¡¹¡ª
¡Ú2008-06-09 Mon 18:47:51¡Û | ³×Ì¿¤ÎÆü¡¹¡ª