fsync

Autres langues

Langue: ja

Version: 2006-04-28 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

fsync - ¥á¥â¥ê¾å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò¥¹¥È¥ì¡¼¥¸¥Ç¥Ð¥¤¥¹¾å¤Î¤â¤Î¤ÈƱ´ü¤µ¤»¤ë

½ñ¼°

#include <unistd.h>

int fsync(int fd);

int fdatasync(int fd);

ÀâÌÀ

fsync() ¤Ï¥Õ¥¡¥¤¥ëµ­½Ò»Ò fd ¤Ç»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¡¢½¤Àµ¤µ¤ì¤¿ÆâÉô¤Ç»ý¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿ (¤Ä¤Þ¤ê¡¢½¤Àµ¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¥­¥ã¥Ã¥·¥å¥Ú¡¼¥¸)¤ò¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¤¬Â°¤¹¤ë¥Ç¥£¥¹¥¯¥Ç¥Ð¥¤¥¹(¤Þ¤¿¤Ï¤½¤Î¾¤Î±Ê³¥¹¥È¥ì¡¼¥¸¥Ç¥Ð¥¤¥¹)¤Ë žÁ÷(¡Ö¥Õ¥é¥Ã¥·¥å¡×)¤¹¤ë¡£ ¤³¤Î¸Æ¤Ó½Ð¤·¤ÏžÁ÷¤¬½ª¤ï¤Ã¤¿¤È¥Ç¥Ð¥¤¥¹¤¬Êó¹ð¤¹¤ë¤Þ¤Ç¥Ö¥í¥Ã¥¯¤¹¤ë¡£ ¤Þ¤¿¥Õ¥¡¥¤¥ë¤Ë·ë¤Ó¤Ä¤¤¤¿¥á¥¿¥Ç¡¼¥¿¾ðÊó( stat(2) »²¾È)¤â¥Õ¥é¥Ã¥·¥å¤¹¤ë¡£

fsync() ¤Î¸Æ¤Ó½Ð¤·¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¨¥ó¥È¥ê¤¬¥Ç¥£¥¹¥¯¤Ø ½ñ¤­¹þ¤Þ¤ì¤¿¤³¤È¤òÊݾڤ¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ Êݾڤ¹¤ë¤¿¤á¤Ë¤ÏÌÀ¼¨Åª¤Ë¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ËÂФ·¤Æ¤â fsync() ¤¹¤ëɬÍפ¬¤¢¤ë¡£

fdatasync() ¤Ï fsync() ¤ÈƱÍͤǤ¢¤ë¤¬¡¢ °ú¤­Â³¤¯¥Ç¡¼¥¿Æɤ߹þ¤ß¤òÀµ¤·¤¯°·¤¦¤¿¤á¤Ë¤½¤Î¥á¥¿¥Ç¡¼¥¿¤¬É¬Íפˤʤé¤Ê¤¤¸Â¤ê¡¢ Êѹ¹¤µ¤ì¤¿¥á¥¿¥Ç¡¼¥¿¤ò¥Õ¥é¥Ã¥·¥å¤·¤Ê¤¤¡£ Î㤨¤Ð¡¢ st_atime ¤ä st_mtime (¤½¤ì¤¾¤ìºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¡¢ºÇ½ª½¤Àµ»þ¹ï; stat(2) »²¾È) ¤ÎÊѹ¹¤Ï¥Õ¥é¥Ã¥·¥å¤òɬÍפȤ·¤Ê¤¤¡£ ¤Ê¤¼¤Ê¤é¤³¤ì¤é¤Ï°ú¤­Â³¤¯¥Ç¡¼¥¿Æɤ߹þ¤ß¤òÀµ¤·¤¯°·¤¦¤¿¤á¤Ë ɬÍפǤϤʤ¤¤«¤é¤Ç¤¢¤ë¡£ °ìÊý¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º( ftruncate(2) ¤Ç¤Ï st_size )¤ÎÊѹ¹¤Ï¥á¥¿¥Ç¡¼¥¿¤Î¥Õ¥é¥Ã¥·¥å¤¬É¬ÍפǤ¢¤ë¡£ fdatasync(2) ¤ÎÁÀ¤¤¤Ï¡¢Á´¤Æ¤Î¥á¥¿¥Ç¡¼¥¿¤ò¥Ç¥£¥¹¥¯¤ÈƱ´ü¤¹¤ëɬÍפΤʤ¤ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ·¤Æ¡¢¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤ò¸º¤é¤¹¤³¤È¤Ç¤¢¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢¥¼¥í¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EBADF
fd ¤¬½ñ¤­¹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Ç¤Ê¤¤¡£
EIO
Ʊ´üÁàºî¤Î´Ö¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
EROFS, EINVAL
fd ¤¬Æ±´üÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤Ê¤¤Æüì¤Ê¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë¡£

½àµò

4.3BSD, POSIX.1-2001

Ãí°Õ

´ðÁäȤʤë¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î½ñ¤­¹þ¤ß¥­¥ã¥Ã¥·¥å¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ fsync() / fdatasync() ¤«¤éÌá¤Ã¤Æ¤­¤¿¤È¤·¤Æ¤â¡¢¼ÂºÝ¤Ë¤Ï±Ê³Ū¤Êµ­²±ÇÞÂÎ¤Ë ÃÖ¤«¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤ì¤Ê¤¤¡£

ext2 ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬ sync ¥ª¥×¥·¥ç¥ó¤Ä¤­¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ fsync() ¤Ç¥Ç¥£¥ì¥¯¥È¥ê¡¦¥¨¥ó¥È¥ê¤â°ÅÌۤΤ¦¤Á¤ËƱ´ü¤¹¤ë¡£

2.4 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤ÏµðÂç¤Ê¥Õ¥¡¥¤¥ë¤Ë fsync() ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¸úΨ¤¬°­¤¤¾ì¹ç¤¬¤¢¤ë¡£ Ê̤ÎÊýË¡¤È¤·¤Æ open(2) ¤ÎºÝ¤Ë O_SYNC ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤¬Îɤ¤¤«¤â¤·¤ì¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

bdflush(2), open(2), sync(2), sync_file_range(2), hdparm(8), mount(8), sync(8), update(8)