Mount on non-empty directories (Was: sysinstall creates corruptfilesystems after repartitioning)

Eric Anderson anderson at freebsd.org
Fri Mar 2 16:02:23 UTC 2007


On 03/02/07 09:56, Steven Hartland wrote:
> Mike Meyer wrote:
>> In <008101c75cd1$42a4df10$b3db87d4 at multiplay.co.uk>, Steven Hartland
>> This is just a special case of mounting on a non-empty directory. It
>> should work right. The last mounted file system is the one you get
>> (unless you're using a file system that's designed to behave another
>> way). If you unmount the directory, the last mounted device is
>> unmounted.
> 
> This makes sence but is not what happens hence the confusion. If
> the last mounted FS is the one you get that makes sence but in
> this case thats not what I observed.

Are you sure?  In your last email, you described the above interaction 
exactly (you had an NFS mounted /usr, then you made a new empty /usr, 
and it mounted it on top, then you couldn't execute things in /usr 
anymore (vim was your example), then you unmounted the last mounted fs 
(the empty one), and your vim was accessible again.. ?


>> As a general rule, deciding that something is "useless and dangerous"
>> and removing it isn't the Unix way of doing things. Just because you
>> can't see a use for something doesn't mean that no one else
>> will. That's true even if you wrote the code. Someone doing something
>> with your program you never thought of is a sign that you developed a
>> generally useful tool. As for dangerous, Unix users - especially root,
>> and mount is restricted to root by default - are assumed to know what
>> they're doing.
> 
> Appreciated but the issue I'm trying to understand is that the result
> didn't make any sence i.e. ls returned the files but trying to run
> them didnt work. Result my head started to spin a bit :P As mentioned
> this seemed to easily resolved by force unmounting the second device
> but as has been explained this has a clear use for which I was unaware
> but I'd still like to understand by I saw what I did i.e. ls
> displayed the files yet running vim didnt.
> 
> I'm going to investigate this more in an effort to determine why I
> got these results and report back. Thanks for everyone's feedback
> so far most appreciated.


Ok, at this point, you need to send df, mount, and your ls output 
between each step.

Eric


More information about the freebsd-hackers mailing list