Revision 1501 ------------------- ¼öÁ¤ÀÏ : 2020-07-20 ¼öÁ¤ÀÚ : À¯Èñ°ï - CHG: fimngd ÀÇ internal cache »ý¼ºÀ» À§ÇÑ fd °¨½Ã On/Off Ç׸ñ °³¼± (#33112) - EXTRACT_FD_COUNT ¼³Á¤¿¡ µû¶ó fd count Á¤º¸ ÃßÃâ ±â´ÉÀ» on/off ó¸® - CHotContentInfoMap() ÇÔ¼öÀÇ À߸øµÈ º¯¼ö ¸ÊÇÎ ¹ö±× ¼öÁ¤ Revision 1382 ------------------- ¼öÁ¤ÀÏ : 2016-5-31 ¼öÁ¤ÀÚ : ³ë°æ¹Î - CHG : ¼­ºñ½º Æ®·¡ÇÈ Åë°è ÀÀ´ä ±â´É Ãß°¡ - Åë°è ¼ö½Å ¼­¹ö Á¾·á ½Ã ÀϺΠÅë°è ´©¶ô ¹ß»ý °æ¿ì¸¦ ¹æ¾îÇϱâ À§ÇØ Ãß°¡µÊ Revision 1342 ------------------- ¼öÁ¤ÀÏ : 2016-4-5 ¼öÁ¤ÀÚ : ³ë°æ¹Î - BUG : ³×Å©¿öÆ® Åë°è ÇÁ·Î¼¼½º CPU Á¡À¯ ¹®Á¦ - Àü¼ÛÇÒ Åë°è ¾øÀ» ½Ã sleep ·ÎÁ÷ ´©¶ôÀ¸·Î CPU Á¡À¯ »ó½ÂÇÔ Revision 1340 ------------------- ¼öÁ¤ÀÏ : 2016-4-4 ¼öÁ¤ÀÚ : ³ë°æ¹Î - BUG : ¸Þ¼¼ÁöÅ¥ °ü·Ã ºñÁ¤»ó Á¾·á - thread safe ÇÏÁö ¸øÇÑ ±¸Á¶ ¶§¹®ÀÓ - BUG : ¼³Á¤ÇÑ ¸Þ¼¼ÁöÅ¥ °³¼ö¸¸Å­ »ý¼ºµÇÁö ¾ÊÀ½ - ½Ã½ºÅÛ ÇѰè 500ÀÌÁö¸¸ 130°³¸¸ »ý¼ºµÊ - ½Ã½ºÅÛ ÇÑ°è ¸¸Å­ »ý¼ºµÉ ¼ö ÀÖµµ·Ï »ý¼ºÇÔ(ÇÁ·Î¼¼½º ÇѰè´Â 5000ÀÓ) - BUG : ºñÁ¤»ó Á¾·á ÈÄ Àç»ý¼º ½Ã ¸Þ¼¼ÁöÅ¥ ¹«ÇÑ »ý¼º - °ü·Ã Ŭ·¡½º clearµÇÁö ¾Ê´Â °´Ã¼ ÂüÁ¶ ¶§¹®ÀÓ - CHG : Hot Content ó¸® ·ÎÁ÷ °³¼± - SystemV message queue pop ¼Óµµº¸´Ù Hot Content ó¸® ¼Óµµ°¡ ´Ê¾î ¹ß»ýÇÏ´Â ¸Þ¸ð¸®´Ð °°Àº Çö»óÀ» °³¼±ÇÔ - BUG : ¼­ºñ½º Á¤º¸ °»½Å ÇÁ·Î¼¼½º ¸Þ¸ð¸® ´Ð - ¼­ºñ½º º° ¼öÇà Äõ¸®¿¡ ´ëÇÑ clear ¾øÀÌ Äõ¸® ¼öÇàÀ¸·Î ¸Þ¸ð¸®´Ð ¹ß»ýÇÔ - BUG : ³×Æ®¿öÅ© Åë°è ´©¶ô ¹ß»ý - ŸÀÓ ±¸°£ üũ ·ÎÁ÷¿¡¼­ ´©¶ô ¹ß»ýÇÒ ¼ö ÀÌ´Â ±¸Á¶¿´À½ - BUG : ¼­ºñ½º Á¤º¸ °»½Å ´©¶ô ¹ß»ý - ŸÀÓ ±¸°£ üũ ·ÎÁ÷¿¡¼­ ´©¶ô ¹ß»ýÇÒ ¼ö ÀÌ´Â ±¸Á¶¿´À½ Revision 1331 ------------------- ¼öÁ¤ÀÏ : 2016-1-21 ¼öÁ¤ÀÚ : ³ë°æ¹Î - CHG : Á¤»ó Á¾·á ½Ã ÀÚ½ÅÀÇ »óŸ¦ OUTÀ¸·Î ¼³Á¤ÇÔ - ¼­ºñ½º ¸ðµâ(HTTPD) ±¸µ¿ ½Ã Á¾·á µÉ °æ¿ì ÀÌÀü »óŸ¦ °è¼Ó »ç¿ëÇϱ⠶§¹® À̸¦ ¹æÁöÇϱâ À§Çؼ­ Ãß°¡ÇÔ - ºñÁ¤»ó Á¾·á(kill -9 or -KILL)¿¡ ´ëÇØ¼­´Â ÀÌ ±â´ÉÀÌ ¼öÇàµÇÁö ¾ÊÀ½ - ¿î¿µÀÚÀÇÇÑ Á¾·á ¹æ¹ýÀº ¸Å´º¾ó·Î ÀýÂ÷È­ - CHG : ºÒÇÊ¿äÇÑ Ä÷³ ÂüÁ¶ ¼öÁ¤ - delete_yn Ä÷³Àº »ç¿ëÇÏÁö ¾ÊÀ½ - CHG : ·Î±× ¼öÁ¤ - Á¤È®ÇÏÁö ¾Ê´Â ·Î±×¿¡ ´ëÇØ¼­ ¼öÁ¤ÇÔ Revision 1328 ------------------- ¼öÁ¤ÀÏ : 2016-1-19 ¼öÁ¤ÀÚ : ³ë°æ¹Î - CHG : ´Ù¸¥ ¼­ºñ½º¿¡ ´ëÇÑ µ¿ÀÏÇÑ µð·ºÅ丮 ¼³Á¤ ½Ã ¹«ÀÎÁõ ¼³Á¤µÇÁö ¾ÊÀ½ - ³»ºÎ ÀÚ·á ±¸Á¶¿¡¼­ »ç¿ëÇÏ´Â key Áߺ¹À¸·Î ¹ß»ýÇÑ ¹®Á¦ÀÓ Revision 1257 ------------------- ¼öÁ¤ÀÏ : 2015-10-06 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - MOD : ·Î±× ³»¿ë Á¤¸® - ·Î±×¿¡ ÁÖ¿äÁ¤º¸ Æ÷ÇԵǾî ÀÖ¾î Á¶Á¤ ó¸® - ·Î±×¿¡ ¼Ò½º À§Ä¡ Á¤º¸ Á¦¿ÜÇÏ¿© ·Î±×¿ë·®À» ÁÙÀÓ - Account »óÅÂÁ¤º¸ ·Î±ë Á¶Á¤ Revision 1254, 1255 ------------------- ¼öÁ¤ÀÏ : 2015-10-05 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - BUG: RCDB¿Í ºñÁ¤»ó ¿¬°áÁ¾·á Çö»ó¿¡ ´ëÇÑ ¿¹¿Üó¸® - Account, Anony Á¤º¸ °»½Å½Ã ¿¹¿Üó¸® ¹ö±× ¼öÁ¤ - AccountUpdateThread.cpp, AnonyUpdateThread.cpp ¼Ò½º ÀϺΠ¼öÁ¤Ã³¸® - ADD: ±âÁ¸ ¼­ºñ½º Áß »èÁ¦µÈ ¼­ºñ½º¿¡ ´ëÇÑ ·Î±ë ó¸® Ãß°¡ - Accout Á¤º¸ °»½Å½Ã¿¡ »èÁ¦µÈ ¼­ºñ½º¿¡ ´ëÇÑ ·Î±× Ãß°¡ Revision 1217 ------------------- ¼öÁ¤ÀÏ : 2015-09-09 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - CHG: Version 3.5 º¯°æ - fimngdÀÇ ¿ªÇÒÀÌ ¾Æ·¡¿Í °°ÀÌ Å©°Ô Á¶Á¤µÊ¿¡ µû¶ó ¹öÀüÀ» º¯°æÇÑ´Ù. - ±âÁ¸ openda-listenerÀÇ shared memory °ü·Ã±â´É ÅëÇÕ - rctsÀÇ rc_mond µ¥¸ó°ú ¿¬°èÇÏ¿© ŸFHSÀÇ »óÅ Á¤º¸¸¦ sared memory¿¡ °»½Åó¸®ÇÑ´Ù. - rctsÀÇ rc_sscd µ¥¸óÀ¸·Î Æ®·¡ÇÈ ¹× ½ºÅ丮Áö Åë°è µ¥ÀÌÅ͸¦ Àü´Þ ÇÑ´Ù. - account, ¹«ÀÎÁõ Æú´õ Á¤º¸µîÀ» RCDB·ÎºÎÅÍ °¡Á®¿Í shared memory¿¡ ¾÷µ¥ÀÌÆ® ÇÑ´Ù. - ±âÁ¸ fimngdÀÇ ±â´ÉÀÎ internal cache ±â´ÉÀº ±×´ë·Î Æ÷ÇÔÇÑ´Ù. - ±âÁ¸ fimngdÀÇ ±â´ÉÀÎ log Á¤¸® ±â´ÉÀº logmngd·Î ´ëü Çϵµ·Ï ÇÑ´Ù. - *ÁÖÀÇ* fdcnt.sh°¡ °°ÀÌ ¹èÆ÷µÇ¾î¾ß ÇÑ´Ù. Revision 1118 ------------------- ¼öÁ¤ÀÏ : 2014-11-11 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - CHG: RCDB ¿¬°áÀ» ÇÊ¿ä½Ã¸¶´Ù ¼öÇà Çϵµ·Ï ó¸® - ¼­ºñ½º Æú´õ »ý¼º½Ã RCDB Á¶È¸ ÇÒ ¶§ ÇÊ¿ä½Ã¸¶´Ù connect ó¸® - CHG: log ¿ÀŸ ¼öÁ¤ - "Caceh Replication Request Queue" --> "Internal Cache Request Queue" ·Î º¯°æ Revision 1068 ------------------- ¼öÁ¤ÀÏ : 2014-08-27 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - BUG: rcdb Á¢¼Ó½Ã password Á¤º¸ ´©¶ô - password Á¤º¸ Ãß°¡ Revision 1014 ------------------- ¼öÁ¤ÀÏ : 2014-07-24 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - DEL: Å×½ºÆ® ¼Ò½º Á¦°Å - ¼­ºñ½º Æú´õ »ý¼º Å×½ºÆ® ¼Ò½º Á¦°Å Revision 1011 ------------------- ¼öÁ¤ÀÏ : 2014-07-23 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - CHG: revision º¯°æ Revision 1009 ------------------- ¼öÁ¤ÀÏ : 2014-07-23 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - CHG: ±¸µ¿ ÁÖ±â ¹× ·Î±× ¸Þ¼¼Áö º¯°æ - ServicePathCreaterThread.cpp ³»ÀÇ ·Î±× ¸Þ¼¼Áö Á¶Á¤ - ±¸µ¿ Áֱ⸦ 3min À¸·Î Á¶Á¤ Revision 1007 ------------------- ¼öÁ¤ÀÏ : 2014-07-22 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - DEL: UDP Åë½ÅÀ» ÅëÇÑ Internal Cache Á¦°Å - MsgCacheRequest.h MsgCacheRequest.cpp Á¦°Å - DEL: Transfer Log Àü¼Û ±â´É Á¦°Å - ServiceInfoUpdaterThread.h ServiceInfoUpdaterThread.cpp Á¦°Å - TransferLogSender.h - TransferLogSender.cpp Á¦°Å - ÇØ´ç ±â´É°ú ¿¬°üµÈ config ÆÄÀÏÀÇ °ü·ÃÇ׸ñ Á¦°Å - ADD: ¼­ºñ½º °³Åü ÈÄ ¼­ºñ½º µð·ºÅ丮 »ý¼º ±â´É Ãß°¡ - ServicePathCreaterThread.h ServicePathCreaterThread.cpp Ãß°¡ - CHG: TCP/IP Åë½ÅÀ» ÅëÇÑ Internal Cache Ãß°¡ - ./coponent/BaseSocket.h ./coponent/BaseSocket.cpp Ãß°¡ - CacheGeneratorTrhead Ŭ·¡½º ¼öÁ¤ - rc_rmcd¿¡ ¼ÒÄÏ¿¬°áÀ» À§ÇÑ host,port Á¤º¸ Ãß°¡ - CHG: ¾ÆÆÄÄ¡ ·Î±× Ãß°¡ Àü¼Û ¹× ·Î±×ÆÄÀÏ »èÁ¦ ±â´É º¯°æ - ±âÁ¸ ¾ÆÆÄÄ¡ ·Î±×Àü¼ÛÀº ÀÛ¾÷ÀÏ ÇÏ·ç Àü¸¸ Àü¼Û ÈÄ Á¦°Å - ÀÛ¾÷ÀÏ ÃÖ±Ù ¿­ÈêÀ» ´ë»óÀ¸·Î ¹ÌÀü¼Û ·Î±× Àü¼Û ó¸® - ¾ÆÆÄÄ¡ ·Î±× ÃÖ±Ù ¿­ÈêÀÌÀüÀÇ ·Î±×ÆÄÀÏ¿¡ ´ëÇÑ »èÁ¦ ó¸® - LogFileCleaner, ApacheLogSender Ŭ·¡½º º¯°æ - CHG: ¹öÀü º¯°æ¿¡ µû¸¥ ¹öÀü Á¤º¸ Á¶Á¤ - Makefile »óÀÇ ¹öÀü Á¤º¸¸¦ 3.3.0.x -> 3.4.0.x ·Î º¯°æ Revision 0963 ------------------- ¼öÁ¤ÀÏ : 2014-03-10 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - DEL: Internal Cache ¹ßÇö Á¶°Ç Áß Disk Busy »óȲÀ» »ç¿ëÇÏÁö ¾Ê±â·Î °áÁ¤µÊ¿¡ µû¶ó °ü·Ã±â´ÉÀ» Á¦°Å ó¸® ÇÔ - geom, devstat ¶óÀ̺귯¸® Á¦°Å - DiskIOstatCollector.h DiskIOstatCollector.cpp ÆÄÀÏ »èÁ¦ - work.cpp, HotContentDetectorThread.cpp ¹× ProcessStatus class ºÎºÐ ¼öÁ¤ - CHG: FreeBSD 10.X±îÁö Áö¿øÇϱâ À§Çؼ­ ÄÄÆÄÀÏ·¯ optimizer ¿É¼Ç Á¶Àý - Makefile »ó¿¡¼­ -o option ·¹º§À» 3¿¡¼­ 0(zero)·Î º¯°æ ó¸®ÇÔ Revision 0839 ------------------- ¼öÁ¤ÀÏ : 2012-11-15 ¼öÁ¤ÀÚ : ³ë°æ¹Î - BUG: ¸Þ¸ð¸® ±ÞÁõ Çö»ó ¿ÏÈ­ - FHS ºÎÇϰ¡ ¹ß»ý ½Ã fstat ÀÀ´ä Áö¿¬ È®ÀεǾúÀ¸¸ç, ÀÌ·Î ÀÎÇØ¼­ ¸Þ¸ð¸® Áõ°¡ È®ÀÎµÊ - ±âÁ¸ ºÒÇÊ¿äÇÑ ·ÎÁ÷ Á¦°Å ¹× fstat ½ÇÇà ÃÖÀûÈ­ - BUG: ¾ÆÆÄÄ¡ ·Î±× Àü¼Û Áß ºñÁ¤»ó Á¾·á Çö»ó - ±¸µ¿ ½Ã°£ ´ë¿¡¼­ ±¸µ¿À» À§ÇÑ sleep ½Ã°£À» ±¸ÇÏ´Â ·ÎÁ÷¿¡¼­ Á¦·Î ³ª´©´Â °æ¿ì ¶§¹®ÀÓ - CHG: ·Î±× °´Ã¼ °¡º¯ ÀÎÀÚ Ã¼Å© ±â´É Ãß°¡ - ÀϺΠ·Î±× Áß ÀÎÀÚ ´©¶ôÀ¸·Î ÇØ´ç ºÎºÐÀ» üũÇϱâ À§Çؼ­ Ãß°¡µÊ - CHG: ·Î±× °ü·Ã ÄÄÆÄÀÏ warning Á¦°Å - º¯°æµÈ ·Î±× °´Ã¼·Î °ËÆÄÀÏ ½Ã ¹ß»ýÇÑ warning Á¦°Å - CHG: ºê·Îµå ij½ºÆ® ÁÖ¼Ò È¹µæ º¯°æ - ÁÖ¼Ò È¹µæ ½Ã NULL ¸®ÅϵǴ °æ¿ì Á¸ÀçÇÔ(¼ÒÄÏ »ç¿ë ÈÄ close È£ÃâÇÏÁö ¾Ê¾Æ¼­ ¹ß»ý) - ÁÖ¼Ò È¹µæ ½ÇÆÐ¿¡ ´ëÇÑ ·ÎÁ÷ ¹ÌÈíÇß´ø ºÎºÐ º¯°æÇÔ - CHG: unlink() ÇÔ¼ö¿¡ ´ëÇÑ ¿À·ù ó¸® ºÎºÐ ¼öÁ¤ - unlink() ÇÔ¼ö ¸®ÅÏ °ª¿¡ -1 À϶§ ÇØ´ç ¿¡·¯°¡ Ãâ·ÂµÇµµ·Ï ¼öÁ¤ÇÔ - CHG: Hot Content °¨Áö µðÆúÆ® ¼³Á¤ º¯°æ - FD_COUNT : 3 -> 10 - MIN_DISKIO_PERCENT : 50 -> 5 - CHG: ½Ã½ºÅÛ Å¥ Pop ·ÎÁ÷ º¯°æ - ½Ã½ºÅÛ Å¥¿¡¼­ ²¨³½ °ªÀ» ¹Ù·Î ´Ù¿î·Îµå Å¥¿¡¼­ »ç¿ëÇÏ´ø ±¸Á¶¸¦ º¯°æÇÔ - NEW: ÁÖ¿ä Å¥ »çÀÌÁî Ãâ·Â ±â´É Ãß°¡ - ´Ù¿î·Îµå Å¥, ij½¬ ¿äû Å¥, ·Î±× Àü¼º Å¥¸¦ ¸Å 2Ãʸ¶´Ù Ãâ·Â - DEL: ÄÚ¾î ½Ã±×³Î Ã³¸® ·ÎÁ÷ »èÁ¦ - ¼­ºñ½º 1ÆÀ ½Ã±×³Î Á¤Ã¥¿¡ µû¸¥ ·ÎÁ÷ »èÁ¦ Revision 0755 ------------------- ¼öÁ¤ÀÏ : 2012-05-03 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - BUG: GTL ·Î Àü¼ÛÁ¤º¸ Àü´Þ½Ã tran_id ´©¶ô Çö»ó - TransferLogData.cpp ÀÇ SetTranId() ¼öÁ¤ Revision 0731 ------------------- ¼öÁ¤ÀÏ : 2012-04-05 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - CHG: src/main.cpp ÀÇ Daemon »ý¼º °ü·Ã ÄÚµå ¼öÁ¤ - MakeDaemon() ÇÔ¼ö»ó¿¡ Daemon »ý¼º °ü·Ã stdin, stdout, stderr Close ó¸® ÄÚµå Ãß°¡ ( ¿ø°Ý ±âµ¿½Ã CTRL+C ó¸® ºÒÆí¿¡ µû¸¥ ¼öÁ¤) Revision 0704 ------------------- ¼öÁ¤ÀÏ : 2012-03-06 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ CHG: transfer_log_send_yn Á¤º¸ È®ÀÎ ÁÖ±â Á¶Á¤ 6sec=>300sec ·Î Á¶Á¤ - ½Å¼Ó¼ºÀ» ¿äÇÏ´Â Á¤º¸°¡ ¾Æ´Ï¹Ç·Î RCDBÀÇ ºÎÇϸ¦ ÁÙÀ̱â À§ÇÑ Á¶Ä¡. CHG: ServiceInfoUpdaterThread Ŭ·¡½º ³»ÀÇ RCDB ¼¼¼Ç °ü¸®¹æ¹ý º¯°æ - º» Ŭ·¡½º¿¡¼­ RCDB ¼¼¼ÇÀ» Á¤»óÀûÀϰæ¿ì Àç»ç¿ë ÇÒ ¼ö ÀÖµµ·Ï º¯°æ ó¸® - ServiceInfoUpdaterThread.cpp, ServiceInfoUpdaterThread.h ¼öÁ¤ Revision 0677 ------------------- ¼öÁ¤ÀÏ : 2012-02-09 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ BUG: fimngdÀÇ main.cpp ¿¡ log°´Ã¤ »ý¼º ÆÄ¶ó¸ÞÅÍ Áß log path¿¡ ´ëÇÑ ÀÎÀÚ°ªÀÌ ÇϵåÄÚµùµÇ¾îÀÖ´Â °ÍÀÌ È®ÀÎ µÊ. - main.cpp ÀÇ ¼Ò½º ¼öÁ¤ Ãß°¡ : µð¹ö±× ¸Þ¼¼Áö Ãß°¡ - ProcessStatus.cpp ¿¡ µð¹ö±× ¸Þ¼¼Áö º¸°­ Revision 0643 ------------------- ¼öÁ¤ÀÏ : 2011-12-29 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ ADD: ½Å±Ô fimngd ¼Ò½º¸¦ µî·ÏÇÑ´Ù. ¾Æ·¡ ±â´ÉÀ» Æ÷ÇÔÇϰí ÀÖ´Ù. fimngd : Hot Content °¨Áö ¹× º¹Á¦Ã³¸® ±â´É rctl : opendav¸¦ ÅëÇÑ ¿ÜºÎ ¿äû³»¿ªÀ» gtl·Î ½Ç½Ã°£ Àü¼ÛÇÏ´Â ±â´É log_rotator : httpd ÀÇ access ·Î±×¿Í error ·Î±×¸¦ ·Î±×¹é¾÷ ¼­¹ö·Î Àü¼ÛÇÏ´Â ±â´É. µ¥¸ó ÇüŰ¡ ¾Æ´Ô /etc/crontab ¿¡ µî·ÏµÇ¾î ±¸µ¿. FHS ³»ÀÇ °¢ Application ÀÇ ·Î±× Á¤¸® ±â´ÉÀ» ½Å±Ô·Î Æ÷ÇÔ ÇÑ´Ù. Revision 0641 ------------------- ¼öÁ¤ÀÏ : 2011-12-29 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ DEL: ½Å±Ô fimngd¸¦ µî·ÏÇϱâ À§ÇÑ »çÀüÀÛ¾÷À¸·Î ±âÁ¸ fimngd ¼Ò½º¸¦ »èÁ¦ ó¸® ÇÔ. Revision 0556 ------------------- ¼öÁ¤ÀÏ : 2011-05-30 ¼öÁ¤ÀÚ : ÀåÈñÁØ CHG: fimngd.confÀÇ [COMMON] ¼½¼ÇÀÇ LOG_LEVEL °ª¸¸ »ç¿ëÇÏ´ø °ÍÀ» [fimngd] ¼½¼ÇÀÇ LOG_LEVEL °ªÀÌ ¾ø´Â °æ¿ì¿¡¸¸ [COMMON] ¼¼°ßÀÇ LOG_LEVELÀ» »ç¿ëÇϵµ·Ï ¼öÁ¤. Revision 478 BUG : ¸Þ¸ð¸® ´©¼ö ¼öÁ¤ ¾Æ·¡ ÄÚµå Áß root->firstChild->path = (char*) malloc( pathSize + 1 ); ¿¡¼­ ¸Þ¸ð¸® ´©¼ö ¹ß»ý. root->firstChild->path != NULL ÀÎ °æ¿ì root->firstChild->pathÀÇ ¸Þ¸ð¸®¸¦ ÇØÁ¦Çϵµ·Ï ¼öÁ¤. ¼öÁ¤ Àü : OpenFileTreeNode* COpenFileTree::GetHotContentTree( std::string path, unsigned int count ) { . . /// ·çÆ® ³ëµåÀÇ child°¡ 1À̶ó´Â ¸»Àº ÄÁÅÙÃ÷°¡ /user2/dav_storage ÆÄƼ¼Ç¿¡ ÀÖ´Ù´Â ¸»ÀÌ´Ù. /// ÀÌ °æ¿ì root->firstChild->path¿¡´Â /user2/dav_stroage µð·ºÅ丮³»ÀÇ /// ¾î´À ÇÑ µð·ºÅ丮ÀÇ À̸§¸¸ °¡Áö°Ô µÇ´Âµ¥ ÀÌ·¸°Ô µÇ¸é /// /user2/dav_stroage ³»ÀÇ ¸ðµç µð·ºÅ丮¿¡ ´ëÇÑ °Ë»öÀ» ÇÒ ¼ö ¾ø°Ô µÈ´Ù. /// ±×·¡¼­, ÀÌ °æ¿ì´Â root->firstChild->path = root->path·Î ¼³Á¤ÇÔÀ¸·Î /// /user2/dav_stroage ³»ÀÇ ¸ðµç µð·ºÅ丮¿¡ ´ëÇÑ °Ë»öÀ» Çϵµ·Ï ÇÑ´Ù. if( GetChildCount( root ) == 1 ) { if( root->path != NULL ) { int pathSize = strlen( root->path ); root->firstChild->path = (char*) malloc( pathSize + 1 ); --> ¸Þ¸ð¸® ´©¼ö ¹ß»ý memset( root->firstChild->path, 0, pathSize + 1 ); strncpy( root->firstChild->path, root->path, pathSize ); } } return root; } ¼öÁ¤ ÈÄ : OpenFileTreeNode* COpenFileTree::GetHotContentTree( std::string path, unsigned int count ) { . . /// ·çÆ® ³ëµåÀÇ child°¡ 1À̶ó´Â ¸»Àº ÄÁÅÙÃ÷°¡ /user2/dav_storage ÆÄƼ¼Ç¿¡ ÀÖ´Ù´Â ¸»ÀÌ´Ù. /// ÀÌ °æ¿ì root->firstChild->path¿¡´Â /user2/dav_stroage µð·ºÅ丮³»ÀÇ /// ¾î´À ÇÑ µð·ºÅ丮ÀÇ À̸§¸¸ °¡Áö°Ô µÇ´Âµ¥ ÀÌ·¸°Ô µÇ¸é /// /user2/dav_stroage ³»ÀÇ ¸ðµç µð·ºÅ丮¿¡ ´ëÇÑ °Ë»öÀ» ÇÒ ¼ö ¾ø°Ô µÈ´Ù. /// ±×·¡¼­, ÀÌ °æ¿ì´Â root->firstChild->path = root->path·Î ¼³Á¤ÇÔÀ¸·Î /// /user2/dav_stroage ³»ÀÇ ¸ðµç µð·ºÅ丮¿¡ ´ëÇÑ °Ë»öÀ» Çϵµ·Ï ÇÑ´Ù. if( GetChildCount( root ) == 1 ) { if( root->firstChild == NULL ) { TRACE( LOG_DEBUG, "end" ); return root; } if( root->path == NULL ) { TRACE( LOG_DEBUG, "end" ); return root; } if( root->firstChild->path != NULL ) { free( root->firstChild->path ); root->firstChild->path = NULL; } int pathSize = strlen( root->path ); root->firstChild->path = (char*) malloc( pathSize + 1 ); memset( root->firstChild->path, 0, pathSize + 1 ); strncpy( root->firstChild->path, root->path, pathSize ); } return root; } Revision 476 CHG : fstat °á°ú¿¡¼­ ÇÁ·Î¼¼½º°¡ httpdÀÎ °Í¸¸ cache ¿äû ´ë»óÀÌ µÇ°Ô Çϰí pid, fd, inode°¡ µ¿ÀÏÇÑ °æ¿ì´Â Ä«¿îÆ®¸¦ Áõ°¡ ½ÃŰÁö ¾Êµµ·Ï ¼öÁ¤. ³»ºÎ Å×½ºÆ®¿ëÀ¸·Î ÇÁ·Î¼¼½º httpd ¿Ü¿¡ ¸í·É ÀÎÀڷΠƯÁ¤ ÇÁ·Î¼¼½º¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô ¼öÁ¤. : º¯°æ ÄÚµå - OpenFileTree.c AddToOpenFileTree(), IsAllowedProcessName(), AddLeafNode() typedef struct OPEN_FILE_TREE_NODE BUG : ¸Þ¸ð¸® ´©¼ö ¼öÁ¤ fstat.cÀÇ free_devs()À» ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ ------- ±âÁ¸ ÄÚµå --------------------- free_devs() { if( devs == NULL ) { return; } DEVS* d = devs;; if( d != NULL ) { free( d ); devs = NULL; } } ------- ¼öÁ¤ ÄÚµå --------------------- free_devs() { if( devs == NULL ) { return; } DEVS* next; DEVS* d = devs;; while( d != NULL ) { next = d->next; free( d ); d = next; } devs = NULL; } Revision 0462 ----------------------------- ¼öÁ¤ÀÏ : 2010-12-28 ¼öÁ¤ÀÚ : ÀåÈñÁØ Revision 461¿¡¼­ ¼öÁ¤ÀÏ ¹× ¼öÁ¤ÀÚ Á¤º¸°¡ ºüÁ®¼­ 462·Î ´Ù½Ã Revision ÇÔ. Revision 0461 ------------------- ¼öÁ¤ÀÏ : 2010-12-28 ¼öÁ¤ÀÚ : ÀåÈñÁØ CHG: fhs.confÀÇ [fimngd] ¼½¼Ç¿¡ RCID Çʵå Ãß°¡ - rc_rmcd·Î ij½Ã ¿äû½Ã RCID °ªÀ» Àü´ÞÇϱâ À§ÇØ Ãß°¡ ÇÔ. CHG: fhs.confÀÇ [fimngd] ¼½¼Ç¿¡ FD_COUNT Çʵå Ãß°¡ - ±âÁ¸¿¡ ¼Ò½º Äڵ忡 fix µÇ¾î ÀÖ´ø °ªÀ» ¼³Á¤ ÆÄÀÏ¿¡¼­ ¼³Á¤ Çϵµ·Ï Çϱâ À§ÇÔ. - fhs.conf FD_COUNT°¡ ¼³Á¤µÇÁö ¾ÊÀ¸¸é ¼Ò½º Äڵ忡¼­ ±âº» °ªÀ¸·Î 5¸¦ »ç¿ë ÇÔ. CHG: fstat.h fstat.c¿¡ ´ëÇÑ FreeBSD 32bit, 64bit ÅëÇÕ ÀÛ¾÷. - FreeBSD 64bit¿¡¼­ fstat.cÀ» ÄÄÆÄÀÏ Çϱâ À§Çؼ­´Â Makefile¿¡ __FREEBSD_64__À» define ÇØ¾ß ÇÔ. CHG: fstat.h¿¡ Á¤ÀǵǾî ÀÖ°í fstat.c¿¡ ±¸ÇöµÇ¾î ÀÖ´ø ¸®½ºÆ® ÀڷᱸÁ¶ fs_list Á¦°Å ADD: C++ Äڵ忡¼­ OpenFileTreeNodeÀ» »ç¿ëÇϱâ À§ÇÑ ·¡ÆÛ Ŭ·¡½º COpenFileTree Ãß°¡ ADD: Á¦°ÅµÈ fs_listÀ» ´ëüÇÏ´Â Æ®¸® ÀڷᱸÁ¶ OpenFileTreeNodeÀ» TreeForFstat.h¿¡ Á¤ÀÇÇϰí TreeForFstat.c¿¡ ±¸ÇöÇÔÀ¸·Î fstat.c¿Í ÀڷᱸÁ¶¸¦ ºÐ¸® ½ÃÅ´. CHG: ·Î±ë ÄÚµå º¯°æ - ±âÁ¸¿¡´Â ·Î±ëÀ» ÇÏ´Â ¸ðµç Ŭ·¡½º´Â »ý¼ºÀÚ¿¡¼­ Logger °´Ã¼ÀÇ Æ÷ÀÎÅ͸¦ ÀÎÀÚ·Î ¹Þ¾Æ¾ß Çϰí .cpp ÆÄÀÏ¿¡ ¾Æ·¡¿Í °°Àº ·Î±× 󸮸¦ À§ÇÑ ¸ÅÅ©·Î¸¦ Á¤ÀÇ ÇØ¾ß ÇÔ. ¿¹) #define CLASS_NAME "CCacheRequestManager" #define DEBUG_LOG( format, ...) \ if(m_pLogger != NULL ) \ m_pLogger->Write( LOG_DEBUG,"[%s::%s()] " format, CLASS_NAME,__func__, ##__VA_ARGS__ ) - º¯°æµÈ ·Î±ë Äڵ忡´Â »ý¼ºÀÚ¿¡¼­ Logger °´Ã¼¸¦ ¹ÞÁö ¾Ê¾Æµµ µÇ°í .cpp ÆÄÀÏ¿¡ ¸ÅÅ©·Î¸¦ Á¤ÀÇ´ë½Å Trace.h Ãß°¡ ÇØ¾ß ÇÔ. ¿¹) #include "Trace.h" - ·Î±ë ÄÚµå¿Í ·Î±× Çü½Ä º¯°æ : ±âÁ¸ DEBUG_LOG("log string") ---> [2010-12-23 16:00:48] [DBG] [Parent_Process::main()] log string : º¯°æ TRACE( LOG_DEBUG, "log string") ---> [2010-12-28 02:25:42] [DBG] log string [Parent_Process::main()] _TRACE( LOG_DEBUG, "log string") ---> [2010-12-28 02:25:42] [DBG] log string CHG: ¼³Á¤ ÆÄÀÏ Ã³¸® ·ÎÁ÷ º¯°æ - ±âÁ¸¿¡´Â ¼³Á¤ ÆÄÀÏ¿¡ ¸ÅÇεǴ ±¸Á¶Ã¼ st_config¸¦ fimngd.h¿¡ Á¤ÀÇÇϰí GetConfg.cpp¿¡ C ÄÚµå ÇüÅ·Π¼³Á¤ ÆÄÀÏÀÇ °ªÀ» ·ÎµùÇÏ´Â ±¸Á¶·Î µ¥ÀÌÅÍ¿Í ±¸ÇöÀÌ ºÐ¸®µÇ¾î ÀÖÀ½. - C ÄÚµå ÇüÅÂÀÇ g_envConfig¸¦ main.cpp¿¡ Á¤ÀÇÇØ¼­ »ç¿ëÇÔ. - º¯°æ ÈÄ¿¡´Â ½Ì±ÛÅæ Ŭ·¡½º CFhsConfig¸¦ Ãß°¡ÇÔÀ¸·Î Àü¿ª º¯¼ö¸¦ »ç¿ëÇÏ´Â ºÒÆíÇÔÀ» Á¦°ÅÇßÀ½. ADD: ·Î±ëÀ» Æí¸®ÇÏ°Ô Çϱâ À§Çؼ­ Logger ·¡ÆÛ ½Ì±ÛÅæ Ŭ·¡½º Trace.h Ãß°¡ - Trace.h Ãß°¡·Î Àü¿ª º¯¼ö g_LoggerÀ» »èÁ¦ÇÏ°í ¸ðµç Ŭ·¡½º¿¡¼­ ¸â¹ö º¯¼ö m_pLogger¸¦ »èÁ¦ÇÏ°í »ý¼ºÀÚ¿¡¼­ ÀÎÀÚ Logger*µµ »èÁ¦ÇÔ. CHG: ij½Ã ¿äû¿¡ ÇÊ¿äÇÑ µ¥ÀÌÅÍ ¸Ê °ü¸®¸¦ ±âÁ¸¿¡´Â CCacheRequestManager°¡ ´ã´çÇߴµ¥ ÀÌ ¿ªÇÒÀ» CDataRequestMap Ŭ·¡½º·Î À̰üÇϰí CCacheRequestManager°¡ ¼öÇàÇÏ´ø µ¥ÀÌÅÍ ºñ±³ ¿ªÇÒÀ» CDataRequestInfo Ŭ·¡½º·Î À̰üÇÔ. ADD: CDataRequestMap Ãß°¡. CCacheRequestManager°¡ Á÷Á¢ °ü¸®ÇÏ´ø CDataRequestInfo ¸ÊÀÇ ¿ªÇÒÀ» ºÐ¸®Çϱâ À§ÇØ Ãß°¡µÈ Ŭ·¡½º. ADD: ij½Ã ¿äû ¸Þ½ÃÁö ÀÎÄÚµù/µðÄÚµù ¿ªÇÒÀ» ÇÏ´Â CMsgCacheRequest Ãß°¡ Revision 0458 ------------------- ¼öÁ¤ÀÏ : 2010-12-13 ¼öÁ¤ÀÚ : ÀåÈñÁØ - BUG: array overflow ¹ö±× ¼öÁ¤ - CCacheRequestManager::SendRequest()¿¡¼­ ¾Æ·¡ ÄÚµå ¼öÁ¤ //cm.hostname[HOSTNAME_LEN] = '\0'; cm.hostname[ HOSTNAME_LEN - 1 ] = '\0'; - CHG: gcc 4.4.5¿¡¼­ ÄÄÆÄÀÏ ¿À·ù ¼öÁ¤ - Config.h¿¡¼­ ¾Æ·¡ ¼öÁ¤ //void SetDelimiter( string& key, string& value = CONFIG_DEFAULT_VALUE_DELIMITER ) void SetDelimiter( string& key, string value = CONFIG_DEFAULT_VALUE_DELIMITER ) - Logger.cpp¿¡ #include Ãß°¡ - CHG: fhs.conf °ü·Ã ¼öÁ¤ - fhs.conf¿¡ INTERNAL_NIC_NAMEÀÌ [COMMON] ¼½¼Ç°ú [fimngd] ¼½¼Ç¿¡¼­ Áߺ¹ »ç¿ëµÇ°í Àִµ¥ [COMMON] ¼½¼Ç¿¡¼­¸¸ »ç¿ëÇϵµ·Ï º¯°æ. - [fimngd] ¼½¼ÇÀÇ CACHE_CHECK_INTERVAL Çʵå¸íÀ» CACHE_CHECK_MAX_INTERVAL·Î º¯°æÇϰí ÀÌ¿¡ µû¸¥ ¼Ò½º ÄÚµå ¼öÁ¤ Revision 0327 ------------------- ¼öÁ¤ÀÏ : 2010-08-03 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - DEL: lib³»ÀÇ Makefile ¼öÁ¤ - CBasesocket.o Á¦°Å Revision 0326 ------------------- ¼öÁ¤ÀÏ : 2010-08-03 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - DEL: CBasesocket class Á¦°Å - »ç¿ëÇÏÁö ¾Ê´Â ºÎºÐÀÌ Æ÷ÇԵǾî ÀÖ¾î Á¦°Å ÇÔ. Revision 0325 ------------------- ¼öÁ¤ÀÏ : 2010-08-03 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - BUG: ¸â¹ö º¯¼ö ¼Ó¼º º¯°æ. - º¯¼ö¸¦ private¿¡¼­ publicÀ¸·Î º¯°æ. CCacheTargetFinder.h ÀÇ m_nCachedContentCnt. Revision 0324 ------------------- ¼öÁ¤ÀÏ : 2010-08-03 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - ADD: ij½Ã ´ë»óÆÄÀÏ ÃßÃâ Áֱ⠷ÎÁ÷ º¯°æ - ±âÁ¸¿¡ ¼³Á¤ÇÑ ÁÖ°¡ °ª¸¸ »ç¿ë ÇßÀ¸³ª, »óȲ¿¡ µû¶ó ¾Æ·¡Ã³·³ Á¶Á¤ÇÑ´Ù. : ´ë»óÆÄÀÏÀÇ °³¼ö°¡ 2°³ ÀÌÇÏÀ϶§´Â ¼³Á¤ÇÑ Áֱ⠰ª »ç¿ë. : ´ë»óÆÄÀÏÀÇ ¼ö°¡ 10°³¸¦ ÃʰúÇßÀ» °æ¿ì¿¡´Â 2secÀÇ Áֱ⠰ª »ç¿ë. : ´ë»óÆÄÀÏÀÇ ¼ö°¡ 2°³ Ãʰú 10°³ ¹Ì¸¸À϶§´Â 15secÀÇ Áֱ⠰ª »ç¿ë. Revision 0323 ------------------- ¼öÁ¤ÀÏ : 2010-08-02 ¼öÁ¤ÀÚ : ±è¿ÀÁ¾ - NEW: SVN ½Å±Ô µî·Ï - ±âÁ¸ svn://211.38.137.33/work/trunk/fimngd ¿¡ Á¸ÀçÇÏ´Â °³¹ß ¿Ï·á ¼Ò½º¸¦ SVN ¿¡ Á¤½Ä¹öÀüÀ¸·Î µî·ÏÇÔ. - º» ¹öÀüÀº °³¹ß ¹× ¼º´É Å×½ºÆ®¸¦ ¿Ï·áÇÑ ¹öÀüÀ¸·Î ±âÁ¸ cmaÀÇ ±â´ÉÀ» º¸¿ÏÇÑ °ÍÀÌ´Ù. ±âº» ±â´ÉÀº ¾Æ·¡¿Í °°´Ù. : fhsÀÇ mount°æ·Î ³»ÀÇ file discription ¼ö(5°³ÀÌ»ó)¸¦ ±â¹ÝÀ¸·Î cache Type(is_cached = 'Y')ÀÇ º¹Á¦º»À» Áõ°¡ ÇÒÁö¸¦ ÆÇ´Ü ÈÄ Áõ°¡ ÇÏ´Â ±â´ÉÀ» Æ÷ÇÔÇϰí ÀÖ´Ù.(±âÁ¸ cmaÀÇ ±â´É) : file discription ¼ö°¡ 5°³ÀÌ»óÀ» À¯Áö ÇÒ °æ¿ì È®ÀÎÁÖ°¡¶§ ¸¶´Ù ¹Ýº¹ÀûÀ¸·Î º¹Á¦º»¼ö°¡ Áõ°¡ÇÏ´Â Çö»óÀ» °³¼±. - ´Ü ÇöÀç ¹öÀüÀº FreeBSD 5.4, 6.2 ¹öÀü»ó¿¡¼­¸¸ Å×½ºÆ®µÇ¾úÀ¸¸ç ´Ù¸¥ OS ·Î Æ÷ÆÃ 󸮽à Äڵ带 ÀçÈ®ÀÎÇØ¾ß ÇÔ. - NEW: History ÀúÀåÀ» À§ÇÑ Changelog.txt ÆÄÀÏ Ãß°¡ - ¾ÕÀ¸·Î °¢ ÀÛ¾÷¿¡ ´ëÇÑ ·Î±×¸¦ È®ÀÎÇϵµ·Ï Changelog.txt ÆÄÀÏÀ» Ãß°¡