From owner-freebsd-current Wed Aug 13 10:21:46 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id KAA13794 for current-outgoing; Wed, 13 Aug 1997 10:21:46 -0700 (PDT) Received: from gneiss.eps.nagoya-u.ac.jp (gneiss.eps.nagoya-u.ac.jp [133.6.57.99]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA13761; Wed, 13 Aug 1997 10:20:44 -0700 (PDT) Received: from marble.eps.nagoya-u.ac.jp (localhost [127.0.0.1]) by gneiss.eps.nagoya-u.ac.jp (8.8.6/3.5Wpl3) with ESMTP id CAA03222; Thu, 14 Aug 1997 02:20:41 +0900 (JST) Message-Id: <199708131720.CAA03222@gneiss.eps.nagoya-u.ac.jp> To: current@FreeBSD.org Cc: dyson@FreeBSD.org, bde@FreeBSD.org Subject: Read-only mount of union filesystem From: KATO Takenori X-Mailer: Mew version 1.70 on Emacs 19.28.1 / Mule 2.3 X-PGP-Fingerprint: 03 72 85 36 62 46 23 03 52 B1 10 22 44 10 0D 9E Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Thu, 14 Aug 1997 02:20:41 +0900 Sender: owner-freebsd-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk This mail is Cc'ed to Bruce who notified me the problem, and also to John who handbook says coordinator of union fs is. Bruce notified me that union fs doesn't support read-only mount. I, now, consider that there are two ways to implement read-only mount: 1. To modify each fs layer stuff. 2. To modify vfs layer stuff. FreeBSD-current chose first way that each filesystem stuff should handle MNT_RDONLY flag. On the contrary, NetBSD uses later way and MNT_RDONLY flag is handled in sys/kern/vfs_{lookup,syscall,vnops}.c. I will add patches for above two ways below. I prefer latter way because it is general way and maintainer of each filesystem doesn't need to be care of upper layer. 1. Following patch supports rdonly moount in union fs layer: ---------- BEGIN ---------- begin 644 rdonly-unionfs.diff.gz M'XL(",4I\3,``W)D;VYL>2UU;FEO;F9S+F1I9F8`K95[C^(V$,#_#I]B3I4X M2!-VR=Z&EU@)+;F6'A=66>!:515*$X=-+[$CV\EJ[_79:SLD0(\[ME412BS/ MT_.;<<(XBL#T:>`">V(7:;`I.,=8*O=([%#5W7G^-& M>X="F.1;Z%Y!UQI:O6&W"]W!H-(08@]2DF,N$J;(#TV"DZ=.Z>%"ON((6JT` M9^9-@#=1XF\9-&%V/Y_<+V_=-C2;T`H+(2TVRHUYDV*N](3:6W>Y\:8+=_Z; M5)3>M-H5]E,4DPS&8Y@Z[DK=-N*VN*>$XQM!QO\?J^/9(G M!O@ACD(4`2;\"7%5+I'RH:<$8>GI2N8@Q)IV*,PX_=WZ0\I?=EY*C9.$[%>& M90\."/4LP^KW:T+:9_7,$:6$PAC*;D@(>9]GW5:>FC=YNLFS#-$B,Z"I5J)L M1IF/IC5KFM\TMCTP[/Y5 MW335#&,2(M"+;/3U)O,+%):2\[/-&1!\T`[L_&3[H@:^X"EB-6']SIL).+(7 MROUGT*Y@L<>8!P_'AOPI0Y4\\!F"M>?\-(1R.9UYU7+NOAF>X?:YFNN6A`#' M5-KP8@SN:CY?WU507L]^7=VU0LK%]0+KY6+ESA9N78'V(X7OA[N5B/ MJIM?#>SH6;?[?^B`[Z+63U[AA30I_-WDB-JOW<5Z,I=378GR.)2"EGAO>+N6 ME[=1I;3=*6V/E6JYS^,4=7BQ82@X"G/L)OV6VEY#8I*1Y*(.]8UO"LAOBJPS MJ#K_[.,P066GD@@$,1R(Q/`61/$1!?+G7T@P%'?Q!T0)L/@#,AI_`Y;ZYF.Q #"``` ` end ---------- END ---------- I'm not 100% sure of the change in union_lookup(). 2. Following patch supports rdonly mount in vfs layer: ---------- BEGIN ---------- begin 644 rdonly-vfs.diff.gz M'XL("!PG\3,``W)D;VYL>2UV9G,N9&EF9@#M66UOXC@0_MS^BKDO7>`")>$E M2:NNQ+7I'BJ%%=#NK4ZGR$T,C0I.E)CTJMO^]QL[A`*%"G8%M-U%;>+8,V// M,\],K-CU>CW(D]!I0O00'=[1D!7\T.L?QKW('OC^W2@H.).AF=[]7"[W@M+> M%^I";=0'M02J>E0L'97*H)JFOI_/YQ=;?*Y2T1*5W.Q/3ETN591R6079`;"W M!SFH]\`)*>$>ZP-A+A`.%&]^#P+";QD94@7X+67@$/SW6>2Y-$R5R6#@WPO- MGC>@P'VXH8DUZA;&,H?[O^'=ZT$F='TV>,C"?W)DCX:A'\()6.W6>>O[ MP@9QD\='Z7>Z:&SG=[5H^/8-,LP-\A^99[LQWF-[Z(\8SW\<,F[W!J0/!W#9 M[-KMLU:S\36[EI>+0E71#*6"X4]#=2BON/HS+Y(.@.N%U.%^^`#WH<WAN`BHE3+NE*ME-Y63E?+!BZZO/N>"D^,.`!S"U@VXT"Z?-WZ;#>L6L?*Q($"XB__,;!'F)>N`G+`_M*N M=ZVLE(X9[FJ<.RG;N+"MOTX;5YWZ-0(N'MM6M_T5+:`L!OBZUNVV[>95HY$Y MB)%58=(MFX68R.A&N)S.::W]*3,B:%)V)6)I<,3Z.E97V)*S)J9FEQF,%Q>, M.,HD#R'EHY!!1MJ174E52S'1)RFQ34Q$NJQ`%%G<>5,%[,PZJ*F%?-61YF(AZ.'`XQ\UT*N6P/)^W9+N'DO3%3B%XU&ZW3 M"RE9G`PL9VE5L%2?8^G.$'OSO%TK`HLY;!J*:A2KK[*6#@4?9D`3/?BRA%JC M\=EJ7W8V6U01%P1'-=YY45T1YBU75Z-41O#+VANIKIOCZOIEUB@+WE:,GZ[, M;IK)/UYO#;V$H3&T5UEO1YX[BQYVS(GTYT7ZJ?^=AZKCS,`WS MI]MY[(CV/[XA,4U3T8I%5?`(-X=Z0%GAL1]3!Z7G\=_&?\>,2038G.1+/ MZ$^Q6)S;F#\SK2XV/7QN6EUH>E.O"*VHZ1B+J0/'-_F*6#FHWQ'5UJK/&Q?:E&17WA2[LI7H]Z4AJ2^JXIFCKAISAP M&!^__#Y[_++JH[CMM-IH71U)HP@29)=GC*Q@&3^:DCJOG[?2L3]J M9Y-F(YW@!D&]2^P^BJN\3,["ZCV!1$@_1!`A:!AX3O_E0"+$U1/'DX#^W8Z% M!6;R]:P`#Q_$,68OI!@'#J,`,75H`=#@6/@>\27>0!$-A[`/')ZB[K%^8?]_ (951%\*DB``#$ ` end ---------- END ---------- After this patch is aplied, redundant code remains in each filesystem stuff, but it should not have bad effect except for filesize and execution time. I will commit one of them after discussion. Please comment. ---- KATO Takenori Dept. Earth Planet. Sci., Nagoya Univ., Nagoya, 464-01, Japan PGP public key: finger kato@eclogite.eps.nagoya-u.ac.jp ------------------- Powered by FreeBSD(98) -------------------