.\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" John Heidemann of the UCLA Ficus project. .\" .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#) mount_null. 8 8.6 (Berkeley) 5/1/95 .\" %FreeBSD: src/sbin/mount_nullfs/mount_nullfs. 8, v 1.24 2002/08/21 18:11:05 trhodes Exp % .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mount_nullfs. 8, v 1.1 2002/11/18 06:17:44 horikawa Exp $ .\" .Dd May 1, 1995 .Dt MOUNT_NULLFS 8 .Os .Sh ¸íĪ .Nm mount_nullfs .Nd ·çÇÁ¹é ÆÄÀÏ ½Ã½ºÅÛ ¼­ºê Æ®¸®¸¦ mount ÇÏ´Â; ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â(null) ÆÄÀÏ ½Ã½ºÅÛÃþÀÇ ÀÌ¿ëÀÇ µ¥¸ð .Sh ¼­½Ä .Nm .Op Fl o Ar options .Ar target .Ar mount_point .Sh ÇØ¼³ .Nm À¯Æ¿¸®Æ¼´Â, null ÃþÀ» ¸¸µì´Ï´Ù. À̰ÍÀº, ÆÄÀÏ ½Ã½ºÅÛÀÇ À̸§ °ø°£ÀÇ ºÎºÐ¸ñÀ», ±Û·Î¹úÀÎ ÆÄÀÏ ½Ã½ºÅÛÀÇ À̸§ °ø°£ ÀÇ ´Ù¸¥ Àå¼Ò¿¡ ¾Ù¸®¾î½º(alias) ÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ±âÁ¸ÀÇ ÆÄÀϰú µð·ºÅ丮°¡ ´Ù¸¥ ÆÐ½º¸í¿¡¼­ ¾×¼¼½º °¡´É µË´Ï´Ù. .Pp ÆÄÀÏ ½Ã½ºÅÛÀÇ °¡»óÀû Ä«ÇÇ¿Í ±âÈ£ ¿¬°á°úÀÇ Á¦ 1 ÀÇ Â÷ÀÌ´Â, .Xr getcwd 3 ÇÔ¼ö°¡ °¡»ó Ä«ÇÇ¿¡¼­´Â ¿Ã¹Ù¸£°Ô µ¿ÀÛÇÏ´Â Á¡°ú ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛÀ» °¡»ó Ä«ÇÇ»ó¿¡ mount ÇØµµ ¿À¸®Áö³¯¿¡´Â ¿µÇâÀÌ ¾ø´Â Á¡ ÀÔ´Ï´Ù. .Xr stat 2 (Àº)´Â, °¡»ó Ä«ÇÇ¿¡ ´ëÇØ¼­ ´Ù¸¥ µð¹ÙÀ̽º ¹øÈ£°¡ µ¹·ÁÁÝ´Ï´Ù¸¸, ´Ù¸¥ Ãø¸é¿¡ ÀÖ¾î ¿À¸®Áö³¯°úÀÇ ±¸º°Àº ´ÙÇÏÁö ¾Ê½À´Ï´Ù. .Pp ¿ª»çÀûÀÎ ·çÇÁ¹é ÆÄÀÏ ½Ã½ºÅÛ°ú ´Ù¸¥ °ÍÀº, ´ÙÀ½ÀÇ 2 °³ÀÇ Á¡ÀÔ´Ï´Ù: 1 °³´Â, ÆÄÀÏ ½Ã½ºÅÛÀÇ ½ºÅÃÈ­ °¡´ÉÃþ (stackable layers)À̶ó°í ÇÏ´Â ±â¼úÀ» »ç¿ëÇØ ½ÇÀåµÇ°í ÀÖ´Â Á¡, ÀÌÁ¦(¹ú½á) 1°³´Â µð·ºÅ丮ÀÇ vnode »Ó¸¸ÀÌ ¾Æ´Ï¶ó, ¸ðµç ÇÏÀ§ÃþÀÇ vnode À§¿¡ .Dq null-node ÇÏÁö¸¸ °ã°ãÀÌ ½×À̰í ÀÖ´Ù°í ÇÏ´Â Á¡ÀÔ´Ï´Ù. .Pp ¿É¼ÇÀº ÀÌÇÏÀÇ °ÍÀÌ ÀÖ½À´Ï´Ù: .Bl -tag -width indent .It Fl o .Fl o ÀÇ ÈÄ¿¡, ¿É¼Ç ij¸¯ÅÍ ¶óÀÎÀ» ÄÞ¸¶·Î ´Ü¶ôÁö¾î ÁöÁ¤ÇÏ´Â °Í ÇÏÁö¸¸ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤ °¡´ÉÇÑ ¿É¼Ç°ú ±× Àǹ̴ .Xr mount 8 (À»)¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. .El .Pp ÀÌ null ÃþÀº 2 °³ÀÇ ¸ñÀûÀ» °¡Áö°í ÀÖ½À´Ï´Ù. 1 °³(»ì)Àº, ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â Ãþ (À»)¸¦ Á¦°øÇÏ´Â °ÍÀ¸·Î ÆÄÀÏ ½Ã½ºÅÛÀÇ ÃþÀÇ ±¸ÃàÀÇ µ¥¸ð¸¦ ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù (½ÇÁ¦·Î´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê´Â´Ù°í ÇÏ´Â °ÍÀº ¾Æ´Ï°í, ·çÇÁ¹é ÆÄÀÏ ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â °ÍÀº ¸ðµÎ ½Ç½ÃÇÕ´Ï´Ù). ÀÌÁ¦(¹ú½á) 1 °³(»ì)Àº prototypeÃþÀ» Á¦°øÇÏ´Â °ÍÀ¸·Î . ÃþÀÇ Ã¼Á¦·Î¼­ ÇÊ¿äÇÑ (ÀÏ)°ÍÀº ¸ðµÎ Á¦°øÇϰí ÀÖÀ¸¹Ç·Î, ¿©±â·ÎºÎÅÍ »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÃþÀ» °£´ÜÇÏ°Ô ¸¸µé¾î ³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. .Pp ÀÌ ¸Þ´º¾óÀÇ ÀÌÇÏÀÇ ºÎºÐ¿¡¼­´Â, »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÃþÀ» ±¸ÃàÇϱâ À§ÇÑ ±âÃʷμ­ null ÃþÀ» Á¶»çÇÕ´Ï´Ù. .\" .\" .Sh »õ·Î¿î null ÃþÀÇ ¿¹½Ã »õ·Î¿î null ÃþÀº .Nm ±×¸®°í ¸¸µé¾îÁý´Ï´Ù. .Nm À¯Æ¿¸®Æ¼´Â 2°³ÀÇ Àμö¸¦ ÃëÇÕ´Ï´Ù. 1°³´Â ÇÏÀ§ÃþÀÇ vfs ÀÇ ÆÐ½º¸í (target-pn)À¸·Î, ÀÌÁ¦(¹ú½á) 1°³´Â null ÃþÀÌ ³ªÅ¸³ª´Â À̸§ °ø°£³»ÀÇ ÆÐ½º¸í (mount-point-pn)ÀÔ´Ï´Ù. null ÃþÀÌ ÀûÀýÇÑ Àå¼Ò¿¡ ³õ¿©Áø ÈÄ, ¸ñÀûÀÇ µð·ºÅ丮 °èÃþ (target-pn)ÀÇ ³»¿ëÀÌ mountó (mount-point-pn)¿¡ ¾Ù¸®¾î½º(alias) µË´Ï´Ù. .\" .\" .Sh null ÃþÀÇ Á¶ÀÛ null ÃþÀº ÃÖ¼ÒÀÇ ÆÄÀÏ ½Ã½ºÅÛÃþÀ̸ç, ¸ðµç Á¶ÀÛÀ» ÇÏÀ§Ãþ¿¡ 󸮽Ã۱â À§Çؼ­(¶§¹®¿¡) ¿ìȸµµ·Î ÇÒ »ÓÀÔ´Ï´Ù. °ÅÀÇ ¸ðµç vnode ¿¡ ´ëÇÑ Á¶ÀÛÀº ÆÐ½ºÇÏ´Â °ÍÀÔ´Ï´Ù¸¸, ±× µ¿ÀÛÀÇ ´ëºÎºÐÀº ¿ìȸµµ·Î routine¿¡ ÁýÁßÇÕ´Ï´Ù. .Pp ¿ìȸµµ·Î routine´Â ÇÏÀ§Ãþ¿¡ À־ÀÇ ÀÓÀÇÀÇ vnode ¿¡ ´ëÇÑ Á¶ÀÛÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù. ¿ì¼±, vnode ¿¡ ´ëÇÑ Á¶ÀÛÀÇ Àμö¸¦ °Ë»çÇØ, null-node ¸¦ ÇÏÀ§Ãþ¿¡ ÀÖ¾î µî°¡°¡ µÇ´Â °Í¿¡ ¿Å°Ü³õ´Â °ÍÀ¸·ÎºÎÅÍ ½ÃÀÛÇÕ´Ï´Ù. ´ÙÀ½¿¡, ÇÏÀ§ÃþÀÇ Á¶ÀÛÀ» ±âµ¿ÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î, ÀμöÁßÀÇ null-node ¸¦ ¿Å°Ü³õ½À´Ï´Ù. ¸¸¾à ±× Á¶ÀÛ¿¡ ÀÇÇØ vnode °¡ µÇµ¹¾Æ ¿À¸é(ÀÚ), ±× µÇµ¹¾Æ ¿Â vnode À§¿¡ null-node ¸¦ ½×½À´Ï´Ù. .Pp ´ëºÎºÐÀÇ Á¶ÀÛÀ» ¿ìȸµµ·Î ÇÕ´Ï´Ù¸¸, .Em vop_getattr , .Em vop_inactive , .Em vop_reclaim , .Em vop_print (Àº)´Â ¿ìȸµµ·Î ÇÏÁö ¾Ê½À´Ï´Ù. .Em vop_getattr (Àº)´Â ¹Ýȯ°ªÀÇ fsid ¸¦ ¹Ù²ÙÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. .Em vop_inactive (¿Í)°ú .Em vop_reclaim (Àº)´Â, null Ãþ ƯÀ¯ÀÇ µ¥ÀÌÅ͸¦ ÇØ¹æÇϱâ À§Çؼ­ ¿ìȸµµ·Î ÇÏÁö ¾Ê½À´Ï´Ù. .Em vop_print (Àº)´Â °úµµÀÇ µð¹ö±× Á¤º¸¸¦ ÇÇÇϱâ À§Çؼ­(¶§¹®¿¡) ¿ìȸµµ·Î ÇÏÁö ¾Ê½À´Ï´Ù. .\" .\" .Sh vnode ½ºÅÃÀÇ °³¿ä mount´Â null ÃþÀ» ÇÏÀ§Ãþ¿¡ °ü·Ã Áþ½À´Ï´Ù. ±× °á°ú 2 °³ÀÇ VFS °¡ °ã°ãÀÌ ½×ÀÔ´Ï´Ù. vnode ½ºÅÃÀº ÆÄÀÏÀÌ ¾×¼¼½º µÉ ¶§¸¶´Ù Çʿ信 µû¶ó¼­ ÀÛ¼ºµË´Ï´Ù. .Pp ÃÖÃÊÀÇ mount¿¡¼­´Â »õ·Î¿î null ÃþÀÇ »Ñ¸®·Î¼­ ´ÜÀÏÀÇ vnode ½ºÅÃÀ» ¸¸µì´Ï´Ù. ´Ù¸¥ ¸ðµç vnode ½ºÅÃÀº »Ñ¸®ÀÇ vnode ½ºÅÃÀ̳ª ´Ù¸¥ null vnode ½ºÅÃÀÇ Á¶ÀÛÀÇ °á°ú·Î¼­ ¸¸µé¾îÁý´Ï´Ù. .Pp vnode ¸¦ µ¹·ÁÁÖ´Â Á¶ÀÛÀÇ °á°ú·Î¼­ »õ·Î¿î vnode ½ºÅÃÀÌ Å¾´Ï´Ù. ¿ìȸµµ·Î routine´Â, ¼Òȯ Ãø¿¡ vnode ¸¦ µ¹·ÁÁÖ±â Àü¿¡ »õ·Î¿î vnode À§¿¡ null-node (À»)¸¦ ½×½À´Ï´Ù. .Pp ¿¹¸¦ µé¸é, null ÃþÀ» ÀÌÇÏ¿Í °°ÀÌ mount ÇÏ´Â ¿¹¸¦ »ó»óÇÕ´Ï´Ù. .Bd -literal -offset indent mount_nullfs /usr/include /dev/layer/null .Ed .Pa /dev/layer/null ¿¡ üÀÎÁö µð·ºÅ丮 Çϸé(ÀÚ), »Ñ¸®ÀÇ null-node (null ÃþÀ» mount ÇßÀ» ¶§ ¿¡ ¸¸µé¾îÁø °Í)°¡ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼­ .Pa sys (À»)¸¦ ¿ÀÇÂÇÏ´Â °ÍÀ» »ý°¢ÇØ º¸°Ú½À´Ï´Ù. vop_lookup ´Â »Ñ¸®ÀÇ null-node ·Î ÇàÇØÁý´Ï´Ù. ÀÌ Á¶ÀÛÀº ÇÏÀ§Ãþ¿¡ ¿ìȸµµ·Î µÇ¾î ÇÏÀ§ÃþÀÌ UFS ÀÇ .Pa sys (À»)¸¦ ³ªÅ¸³»´Â vnode ¸¦ µ¹·ÁÁÝ´Ï´Ù. ±×¸®°í null_bypass ´Â UFS .Pa sys ¿¡ ¾Ù¸®¾î½º(alias) ÇÏ´Â null-node ¸¦ ±¸ÃàÇØ, È£Ãâ ¹ÙÅÁÀ¸·Î À̰ÍÀ» µ¹·ÁÁÝ´Ï´Ù. null-node .Pa sys ¿¡ ´ëÇÑ ÀÌÈÄÀÇ Á¶ÀÛÀ¸·Î ´Ù¸¥ vnode ½ºÅÃÀ» ±¸ÃàÇÒ ¶§¿¡´Â ÀÌ Ã³¸®°¡ ¹Ýº¹ÇØÁý´Ï´Ù. .\" .\" .Sh ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛÃþÀÇ ÀÛ¼º »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÃþÀ» ±¸ÃàÇÏ´Â Á¦ÀÏ °£´ÜÇÑ ¹æ¹ýÀº, null ÃþÀÇ Ä«ÇǸ¦ ¸¸µé¾î, ¸ðµç ÆÄÀÏ, º¯¼öÀÇ À̸§À» ´Ù½Ã ºÙ¿©, ±×¸®°í ±× Ä«ÇǸ¦ º¯°æÇÏ´Â °ÍÀÔ´Ï´Ù. ¸ðµç º¯¼öÀÇ À̸§À» ¹Ù²Ù´Âµ¥´Â .Xr sed 1 ÇÏÁö¸¸ Àß »ç¿ëµË´Ï´Ù. .Pp umap ÃþÀº null ÃþÀÇ ÀÚ¼ÕÀÇ 1 ¿¹ÀÔ´Ï´Ù. .\" .\" .Sh ÇÏÀ§ÃþÀÇ Á¶ÀÛÀÇ ±âµ¿ Á¶ÀÛÀÌ ¿ÏÀüÇϰԴ ¿ìȸµµ·Î ÇÒ ¼ö ¾øÀ» ¶§¿¡ ÇÏÀ§Ãþ¿¡ ÀÖ´Â Á¶ÀÛÀ» ±âµ¿Çϱâ À§ÇÑ ¹æ¹ýÀÌ 2 °³ ÀÖ½À´Ï´Ù. °¢°¢ÀÇ ¹æ¹ýÀº ´Ù¸¥ »óȲ¿¡ ´ëÇØ¼­ ÀûÀýÈ÷ »ç¿ëµË´Ï´Ù. ¾çÂÊ ¸ðµÎÀÇ °æ¿ì¿Íµµ, ±× Á¶ÀÛÀÇ Àμö¸¦ ÇÏÀ§ÃþÀ» À§Çؼ­(¶§¹®¿¡) ¿Ã¹Ù¸£°Ô ¸¸µå´Â °ÍÀº ¾Ù¸®¾î½º(alias) ÇÏ´Â ÃþÀÇ Ã¥ÀÓÀ̸ç, vnode Àμö¸¦ ÇÏÀ§Ãþ¿¡ ¸ÅÇÎ ÇÕ´Ï´Ù. .Pp ÃÖÃÊÀÇ ¹æ¹ýÀº ¾Ù¸®¾î½º(alias) ÇÏ´Â ÃþÀÇ ¿ìȸµµ·Î routine¸¦ ºÎ¸£´Â °ÍÀÔ´Ï´Ù. ÀÌ ¹æ¹ýÀº, ÇÏÀ§Ãþ¿¡¼­ ÇöÀç ´Ù·ç¾îÁö°í ÀÖ´Â Á¶ÀÛÀ» ±âµ¿ÇÏ°í ½ÍÀ» ¶§¿¡ °¡Àå ÀûÇÕÇÕ´Ï´Ù. À̰ÍÀº ¿ìȸµµ·Î routine°¡ ¹ú½á ¸ÅÇÎ µÇ°í ÀÖ´Ù°í ÇÏ´Â ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¿¹·Î¼­ .Em null_getattrs ÇÏÁö¸¸ null Ãþ¿¡ ÀÖ½À´Ï´Ù. .Pp 2 ¹øÂ°ÀÇ ¹æ¹ýÀº, .Em VOP_OPERATIONNAME ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ ÇÏÀ§ÃþÀÇ vnode ÀÇ Á¶ÀÛÀ» Á÷Á¢ ±âµ¿ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¹æ¹ýÀÇ ÀÌÁ¡Àº, ÇÏÀ§ÃþÀÇ ÀÓÀÇÀÇ Á¶ÀÛÀ» ±âµ¿ÇÏ´Â °ÍÀÌ °£´ÜÀ̶ó°í ÇÏ´Â °Í¿¡ ÀÖ½À´Ï´Ù. °áÁ¡Àº, vnode Àμö´Â ¼öµ¿À¸·Î ¸ÅÇÎ µÇÁö ¾ÊÀ¸¸é ¾È µÇ´Â °ÍÀÔ´Ï´Ù. .\" .\" .Sh °ü·Ã Ç׸ñ .Xr mount 8 .Pp UCLA Technical Report CSD-910056, .Em "Stackable Layers: an Architecture for File System Development" . .Sh ¹ö±× º»ÆÄÀÏ ½Ã½ºÅÛ Å¸ÀÔÀº, ¾ÆÁ÷ ¿ÏÀüÇϰԴ ¼­Æ÷Æ®µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù (ÁÖ: ±â´ÉÇÏÁö ¾Ê´Â´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù) ÇØ, ½ÇÁ¦ÀÇ °÷»ç¿ëÇϸé(ÀÚ) ½Ã½ºÅÛ»óÀÇ µ¥ÀÌÅ͸¦ ÆÄ±«ÇÒÁöµµ ¸ð¸¨´Ï´Ù. ÀÚ±âÃ¥ÀÓ¿¡ ´ëÇØ »ç¿ëÇØ ÁÖ¼¼¿ä. ¸Í°ß ÁÖÀÇ. Á¥°í ÀÖ¾î ¹Ì²ô·¯Áý´Ï´Ù. .Pp À§Ç輺À» ÁÙÀ̱â À§Çؼ­(¶§¹®¿¡)´Â, ÀÌ Äڵ嵵 ¶Ç ¼ÒÀ¯ÀÚ¸¦ ÇÊ¿ä·Î Çϰí ÀÖ½À´Ï´Ù - ¼º½ÇÇÑ ÇØÄ¿´Â ¸ÞÀÏÀ» .Aq hackers@FreeBSD.org ¿¡ º¸³» ÀΰèÀÇ Àǻ縦 ¼±¾ðÇØ ÁÖ¼¼¿ä. .Sh ¿ª»ç .Nm (Àº)´Â, .Bx 4.4 (À¸)·ÎºÎÅÍ µîÀåÇß½À´Ï´Ù.