Bug 917008

Summary: mount --move doesn't work
Product: Red Hat Enterprise Linux 7 Reporter: Petr Sklenar <psklenar>
Component: util-linuxAssignee: Karel Zak <kzak>
Status: CLOSED CURRENTRELEASE QA Contact: Jan Ščotka <jscotka>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: jscotka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: util-linux-2.23-0.5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 09:39:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Sklenar 2013-03-01 12:39:09 UTC
Description of problem:
mount --move doesn't work

Version-Release number of selected component (if applicable):

util-linux-2.22.1-2.4.el7.x86_64

Linux pes-guest-92.lab.eng.brq.redhat.com 3.7.0-0.32.el7.x86_64 #1 SMP Fri Jan 18 11:50:31 EST 2013 x86_64 x86_64 x86_64 GNU/Linux


How reproducible:
always

Steps to Reproduce:
1. mount xyz:/mnt/qa on /mnt/qa
2. mkdir /tmp/1234
3. mount --move /mnt/qa /tmp/1234
  
Actual results:
# mount -M /mnt/qa /tmp/tmp.fIC9T6y9lw
mount: wrong fs type, bad option, bad superblock on /mnt/qa,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail or so


Expected results:
mount is moved

Additional info:

Comment 3 Karel Zak 2013-03-01 14:19:19 UTC
Are you really sure that the used parents (mountpoints) are private? The current default in RHEL7 (not sure about RHEL6) is "shared", see /proc/self/mountinfo for the shared flag.

Linux kernel does not allow to move between shared targets.

Fedora 18:

# mount --bind /mnt/test /mnt/test
# mount --make-private /mnt/test
# mkdir /mnt/test/{foo,bar}

# mount /dev/sdb /mnt/test/foo

# findmnt /dev/sdb
TARGET        SOURCE   FSTYPE OPTIONS
/mnt/test/foo /dev/sdb ext2   rw,relatime,stripe=32

# mount --move /mnt/test/foo /mnt/test/bar

# findmnt /dev/sdb
TARGET        SOURCE   FSTYPE OPTIONS
/mnt/test/bar /dev/sdb ext2   rw,relatime,stripe=32

Comment 6 Karel Zak 2013-03-25 14:33:24 UTC
Fixed by upstream commit fcc0413a12efde3f413064a622ea0a0595ede49f (util-linux >= 2.23-rc2).

# mount --move /a /b
mount: bad option. Note that moving a mount residing under a shared
       mount is unsupported.

Comment 8 Ludek Smid 2014-06-13 09:39:42 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.