On Wed, Apr 23, 2008 at 03:12:36PM +0200, Wilhelm Meier wrote: > Am Mittwoch, 23. April 2008 schrieb Herbert Poetzl: > > On Fri, Apr 11, 2008 at 02:13:45PM +0200, Wilhelm Meier wrote: > > > Hallo, > > > > > > I think, this question was already answered on the list, but I > > > can't find right answer .., > > > > > > on the host I have a directory /mnt/test and I want to bind-mount > > > this into a running vserver. I thought I have to use vnamespace > > > to do this: > > > > > > vnamespace -e test mount /mnt/test > > > /var/lib/vservers/test/mnt/test -o bind,ro > > > > > > but the files in /mnt/test don't schow up in the vserver: > > > > > > vserver test exec ls -l /mnt/test > > > > > > ist empty. > > > > > > What am I doing wrong? > > > > most likely they are not there (in /mnt/test) after > > you entered the guest's namespace with vnamespace, > > thus the bind mount succeeds, but leaves you with > > the empty mountpoint ... > > yes, the bind-mount succeeds but the target is empty. I just don't > understand why. Is there a possibility to get this done? it's quite simple actually, here what happens: host guest 1 /mnt/test is empy 2 guest is started a copy of the host namespace is created, chroot into guestdir 3 something is mounted on /mnt/test /mnt/test is still empty and not visible to the guest, as it is chrooted somewhere else 4 you enter the namespace of the guest -> you bind mount the empty /mnt/test into /vserver/name/test > I made the additional attempt to mark the host-mount-point as > make-rshared. But this did no do the trick either. that is an option too, but you have to do that _before_ the guest clones the namespace > > instead trying to bind mount a newly on the guest > > mounted path (I assume /mnt/test is such a thing) > > simply do the /mnt/test mount inside the guest > > namespace and preferably to the right location too > > If I understand that correct I have to make the device visible > to the guest. But I don't want to do that. no, you got that part wrong. if you do 'vnamespace --enter <xid> -- /bin/bash' then you will see that you are _outside_ the guest's dir, but inside the guest's namespace ... look around, see that /mnt/test is or is not mounted (depending on shared mounts), and simply do the original mount like this: 'mount .... /dev/somedevice /vservers/name/test' best, Herbert > > HTC, > > Herbert > > > > > -- > > > Wilhelm > > > > -- > Wilhelm