Hello Helge, Kevin, and thank you for replying.

On Sat, Feb 27, 2021 at 09:21:39AM +0100, Helge Oldach wrote:

> Kevin P. Neal wrote on Sat, 27 Feb 2021 03:04:35 +0100 (CET):
> > On Fri, Feb 26, 2021 at 06:25:05PM +0100, Helge Oldach wrote:
> > > Arrigo Marchiori via freebsd-stable wrote on Fri, 26 Feb 2021 17:02:35 
> > > +0100 (CET):
> > > > Description: when a BSD partition is mounted to / (suppose
> > > > /dev/da0s2a), if I try to mount its containing slice (/dev/da0s2) I
> > > > receive a ``strange'' error message, and from that moment the mounted
> > > > filesystem becomes unreadable.
> > > 
> > > Actually you are mounting the same location on disk twice under
> > > different file systems which is a bad idea.
> > > 
> > > For example:
> > > 
> > > # gpart show -p ada0s2
> > > =>        0  250064341   ada0s2  BSD  (119G)
> > >           0  241172480  ada0s2a  freebsd-ufs  (115G)
> > >   241172480    8891861  ada0s2b  freebsd-swap  (4.2G)
> > > 
> > > Note the "0" offset for both ada0s2 and ada0s2a. When you mount, both
> > > "look" like a proper, distinct UFS but actually it's the same location
> > > on disk so UFS will get confused if you have both mounted rw. It should
> > > go well however if only one is mounted rw and the other(s) ro.

I believe that the memstick images may not organized as you pointed
out.  The standard behavior of mkimg(1) is to leave a small gap
between the beginning of the slice and the beginning of the first
partition.  But I will be able to confirm on Monday, when I will be
back to the office.

> > Wait, really? It seems like the ro mount wouldn't see any blocks (or other
> > unit of data) cached by the rw mount. So the ro mount would see an
> > inconsistent filesystem and I personally would expect a crash or other
> > misbehavior.
> 
> Of course the ro "view" will show inconistencies. That's actually what
> one asks for if doing such bad things as mounting volumes twice. However
> it shouldn't crash as the rw mount of / maintains consistency.

On the memstick, the root filesystem is mounted read-only.  I
apologize, I should have told it explicitly.  The ``invalid'' attempt
is to mount it read-write (no mode is indicated on the command line).

I did not try the mount command in read-only mode. I can try this on
Monday as well.

IMHO it is important to note that everything works as expected when
the partition is mounted from /dev/ufs/label: the mount attempt is
not permitted and nothing else happens.

Even if mounting an already-mounted partition is an invalid action, I
do not think that it should render a system unstable. 

I understand that ``the root user should be allowed to do anything'',
even shoot themselves in the foot. But on the other hand, there are
features such as kern.geom.debugflags that explicitly avoid it.

I hope I could explain myself clearly.

Best regards,
-- 
Arrigo

http://rigo.altervista.org
_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to