<div dir="ltr">I would prefer a standalone '--rbind' option, so people who care about this subtle difference have a choice.<div><br><div>--bind -> MS_BIND</div><div>--rbind -> MS_BIND|MS_REC</div><div><nothing> -> could default to --bind or --rbind? IMO the default doesn't matter much if we can override with explicit --bind & --rbind.<br><div><br></div><div>From Android perspective, there are non-trivial amount of both use cases (<a href="https://cs.android.com/search?q=%22MS_BIND%22%20%20-f:test%20-f:%5E(external%7Cbionic%7Cprebuilts)%2F&sq=&ss=android%2Fplatform%2Fsuperproject">https://cs.android.com/search?q=%22MS_BIND%22%20%20-f:test%20-f:%5E(external%7Cbionic%7Cprebuilts)%2F&sq=&ss=android%2Fplatform%2Fsuperproject</a>). I imagine having both `mount --bind` & `mount --rbind` at hand is beneficial for development, because developer can test both MS_BIND and MS_BIND|MS_REC with the `mount` command directly without needing to write an entire test procedure/program/suite.</div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 28, 2022 at 11:10 PM enh <<a href="mailto:enh@google.com">enh@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><a class="gmail_plusreply" id="gmail-m_7564822549513557487plusReplyChip-4" href="mailto:yochiang@google.com" target="_blank">+Yi-yo Chiang</a> who might have an opinion from the Android side...<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 28, 2022 at 5:11 AM Rob Landley <<a href="mailto:rob@landley.net" target="_blank">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Toybox mount is autodetecting --bind based on the types of source and dest<br>
(mounting a file on a file or a directory on a directory is a bind mount), but<br>
there's also --rbind which _recursively_ bind mounts. I.E. the bind mounts under<br>
this directory are also bind mounted into the destination.<br>
<br>
I THINK what I want to do is just:<br>
<br>
@@ -184,7 +188,7 @@ static void mount_filesystem(char *dev, char *dir, char *type,<br>
         && ((S_ISREG(stdev.st_mode) && S_ISREG(stdir.st_mode))<br>
             || (S_ISDIR(stdev.st_mode) && S_ISDIR(stdir.st_mode))))<br>
     {<br>
-      flags |= MS_BIND;<br>
+      flags |= MS_BIND|MS_REC;<br>
     } else fp = xfopen("/proc/filesystems", "r");<br>
   } else if (!strcmp(type, "ignore")) return;<br>
   else if (!strcmp(type, "swap"))<br>
<br>
I.E. have the existing bind mount behavior automatically be recursive. But I<br>
wanted to ask for a second opinion here. (I could also implement --rbind and<br>
have it be different than --bind but nobody's come to me with this use case,<br>
it's just me digging through container nonsense coming up with edge cases...)<br>
<br>
Rob<br>
_______________________________________________<br>
Toybox mailing list<br>
<a href="mailto:Toybox@lists.landley.net" target="_blank">Toybox@lists.landley.net</a><br>
<a href="http://lists.landley.net/listinfo.cgi/toybox-landley.net" rel="noreferrer" target="_blank">http://lists.landley.net/listinfo.cgi/toybox-landley.net</a><br>
</blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><table width="90%" border="0" cellspacing="0" cellpadding="0" style="margin:0px;padding:0px;font-family:"Times New Roman";max-width:348px"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td style="padding:0px"><table border="0" cellspacing="0" cellpadding="0" style="margin:0px;padding:20px 0px 0px"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td valign="top" style="padding:0px 20px 0px 0px;vertical-align:top;border-right:1px solid rgb(213,213,213)"><img src="https://i.imgur.com/eGpkLls.png" width="200" height="64"><br></td><td style="padding:0px 0px 0px 20px"><table border="0" cellspacing="0" cellpadding="0" style="margin:0px;padding:0px"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:1px 0px 5px;font-size:13px;line-height:13px;color:rgb(56,58,53);font-weight:700">Yi-yo Chiang</td></tr><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:0px 0px 5px;font-size:11px;line-height:13px;color:rgb(56,58,53)">Software Engineer</td></tr><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:0px 0px 5px;font-size:11px;line-height:13px;color:rgb(56,58,53)"><a href="mailto:yochiang@google.com" target="_blank">yochiang@google.com</a></td></tr><tr style="margin:0px;padding:0px"><td colspan="2" style="font-family:Arial,Helvetica,Verdana,sans-serif;padding:0px 0px 3px;font-size:11px;line-height:13px;color:rgb(3,112,248)"></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><div><font size="1">I support flexible work schedules, and I’m sending this email now because it is within the hours I’m working today. Please do not feel obliged to reply straight away - I understand that you will reply during the hours you work, which may not match mine.</font><br></div></div></div>