1. multiple mount of devices possible 2.4.0-test1 - 2.4.0-test13-pre4
2. its still possible to mount devices several times.
IMHO it shouldnt be possible like 2.2.18
with umount in /proc/mounts is still the real information,
in /etc/mtab all corresponding mountpoints are deleted.
3. kernel, filesystem, mount
4. Linux version 2.4.0-test13-pre4 (root@apollo) (gcc version 2.95.2
19991024 (release)) #1 SMP Sat Dec 23 17:04:07 CET 2000
5. none
6. example
#!/bin/sh
mount /dev/hda2 /gate
mount -t nfs gate:/ /gate
mount -t nfs gate:/ /gate
mount /dev/hda2 /mnt
7.
7.1
-- Versions installed: (if some fields are empty or look
-- unusual then possibly you have very old versions)
Linux apollo 2.4.0-test13-pre4 #1 SMP Sat Dec 23 17:04:07 CET 2000 i586
unknown
Kernel modules 2.3.11
Gnu C 2.95.2
Gnu Make 3.79.1
Binutils 2.9.5.0.24
Linux C Library x 1 root root 4070406 Jul 30 21:41
/lib/libc.so.6
Dynamic linker ldd (GNU libc) 2.1.3
Procps 2.0.6
Mount 2.10m
Net-tools 1.56
Kbd 0.99
Sh-utils 2.0
Modules Loaded
7.2
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 400.906
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr
bogomips : 799.54
7.3
7.4
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0213-0213 : isapnp read
02f8-02ff : serial(auto)
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0a79-0a79 : isapnp write
0cf8-0cff : PCI conf1
5c20-5c3f : Acer Laboratories Inc. [ALi] M7101 PMU
d000-d00f : Acer Laboratories Inc. [ALi] M5229 IDE
d400-d43f : Ensoniq ES1371 [AudioPCI-97]
d400-d43f : es1371
d800-d8ff : Realtek Semiconductor Co., Ltd. RTL-8139
d800-d8ff : eth0
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-07ffbfff : System RAM
00100000-002ef4af : Kernel code
002ef4b0-0031193f : Kernel data
07ffc000-07ffefff : ACPI Tables
07fff000-07ffffff : ACPI Non-volatile Storage
de000000-de0000ff : Realtek Semiconductor Co., Ltd. RTL-8139
de000000-de0000ff : eth0
df000000-dfffffff : PCI Bus #01
df000000-df7fffff : Matrox Graphics, Inc. MGA G400 AGP
df800000-df803fff : Matrox Graphics, Inc. MGA G400 AGP
e0000000-e3ffffff : Acer Laboratories Inc. [ALi] M1541
e5f00000-e7ffffff : PCI Bus #01
e6000000-e7ffffff : Matrox Graphics, Inc. MGA G400 AGP
ffff0000-ffffffff : reserved
7.5
00:00.0 Host bridge: Acer Laboratories Inc. [ALi] M1541 (rev 04)
Subsystem: Acer Laboratories Inc. [ALi] ALI M1541 Aladdin V/V+ AGP
System Controller
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
<MAbort+ >SERR- <PERR-
Latency: 64
Region 0: Memory at e0000000 (32-bit, non-prefetchable) [size=64M]
Capabilities: [b0] AGP version 1.0
Status: RQ=28 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
00:01.0 PCI bridge: Acer Laboratories Inc. [ALi] M5243 (rev 04) (prog-if
00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 0000e000-0000dfff
Memory behind bridge: df000000-dfffffff
Prefetchable memory behind bridge: e5f00000-e7ffffff
BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
00:03.0 Bridge: Acer Laboratories Inc. [ALi] M7101 PMU
Subsystem: Acer Laboratories Inc. [ALi] ALI M7101 Power Management
Controller
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
00:07.0 ISA bridge: Acer Laboratories Inc. [ALi] M1533 PCI to ISA Bridge
[Aladdin IV] (rev c3)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort+ <MAbort+ >SERR- <PERR-
Latency: 0
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139
(rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RT8139
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 9
Region 0: I/O ports at d800 [size=256]
Region 1: Memory at de000000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev
06)
Subsystem: Ensoniq Creative Sound Blaster AudioPCI64V, AudioPCI128
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 32 (3000ns min, 32000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at d400 [size=64]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:0f.0 IDE interface: Acer Laboratories Inc. [ALi] M5229 IDE (rev c1)
(prog-if 8a [Master SecP PriP])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 1000ns max)
Interrupt: pin A routed to IRQ 0
Region 4: I/O ports at d000 [size=16]
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP
(rev 03) (prog-if 00 [VGA])
Subsystem: Matrox Graphics, Inc. Millennium G400 16Mb SGRAM
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (4000ns min, 8000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at e6000000 (32-bit, prefetchable) [size=32M]
Region 1: Memory at df800000 (32-bit, non-prefetchable) [size=16K]
Region 2: Memory at df000000 (32-bit, non-prefetchable) [size=8M]
Expansion ROM at e5ff0000 [disabled] [size=64K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [f0] AGP version 2.0
Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=x1
7.6
7.7
Mount Version:
mount: mount-2.10m
Output of /proc/mounts:
/dev/root / ext2 rw 0 0
proc /proc proc rw 0 0
/dev/hda7 /home ext2 rw 0 0
/dev/hda9 /data vfat rw 0 0
/dev/hda8 /datax vfat rw 0 0
/dev/hda10 /data2 vfat rw 0 0
/dev/hdb1 /data3 vfat rw 0 0
/dev/hda3 /win98 vfat rw 0 0
/dev/hda6 /redhat ext2 rw 0 0
/dev/hda11 /sicher ext2 ro 0 0
/dev/hda13 /sicher2 ext2 ro 0 0
/dev/hdb6 /sicher3 ext2 rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/hda2 /gate vfat rw 0 0
gate:/ /gate nfs rw,v2,rsize=8192,wsize=8192,hard,udp,lock,addr=gate 0 0
gate:/ /gate nfs rw,v2,rsize=8192,wsize=8192,hard,udp,lock,addr=gate 0 0
/dev/hda2 /mnt vfat rw 0 0
X.
it is not a problem, it is a feature. (and a useful one!)
On Sat, 23 Dec 2000 [email protected] wrote:
>
> 1. multiple mount of devices possible 2.4.0-test1 - 2.4.0-test13-pre4
>
> 2. its still possible to mount devices several times.
> IMHO it shouldnt be possible like 2.2.18
> with umount in /proc/mounts is still the real information,
> in /etc/mtab all corresponding mountpoints are deleted.
>
> 3. kernel, filesystem, mount
>
> 4. Linux version 2.4.0-test13-pre4 (root@apollo) (gcc version 2.95.2
> 19991024 (release)) #1 SMP Sat Dec 23 17:04:07 CET 2000
>
> 5. none
>
> 6. example
> #!/bin/sh
> mount /dev/hda2 /gate
> mount -t nfs gate:/ /gate
> mount -t nfs gate:/ /gate
> mount /dev/hda2 /mnt
>
> 7.
>
> 7.1
> -- Versions installed: (if some fields are empty or look
> -- unusual then possibly you have very old versions)
> Linux apollo 2.4.0-test13-pre4 #1 SMP Sat Dec 23 17:04:07 CET 2000 i586
> unknown
> Kernel modules 2.3.11
> Gnu C 2.95.2
> Gnu Make 3.79.1
> Binutils 2.9.5.0.24
> Linux C Library x 1 root root 4070406 Jul 30 21:41
> /lib/libc.so.6
> Dynamic linker ldd (GNU libc) 2.1.3
> Procps 2.0.6
> Mount 2.10m
> Net-tools 1.56
> Kbd 0.99
> Sh-utils 2.0
> Modules Loaded
>
> 7.2
> processor : 0
> vendor_id : AuthenticAMD
> cpu family : 5
> model : 8
> model name : AMD-K6(tm) 3D processor
> stepping : 12
> cpu MHz : 400.906
> cache size : 64 KB
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 1
> wp : yes
> flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr
> bogomips : 799.54
>
> 7.3
>
> 7.4
> 0000-001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0060-006f : keyboard
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 00f0-00ff : fpu
> 0170-0177 : ide1
> 01f0-01f7 : ide0
> 0213-0213 : isapnp read
> 02f8-02ff : serial(auto)
> 0376-0376 : ide1
> 0378-037a : parport0
> 03c0-03df : vga+
> 03f6-03f6 : ide0
> 03f8-03ff : serial(auto)
> 0a79-0a79 : isapnp write
> 0cf8-0cff : PCI conf1
> 5c20-5c3f : Acer Laboratories Inc. [ALi] M7101 PMU
> d000-d00f : Acer Laboratories Inc. [ALi] M5229 IDE
> d400-d43f : Ensoniq ES1371 [AudioPCI-97]
> d400-d43f : es1371
> d800-d8ff : Realtek Semiconductor Co., Ltd. RTL-8139
> d800-d8ff : eth0
>
> 00000000-0009fbff : System RAM
> 0009fc00-0009ffff : reserved
> 000a0000-000bffff : Video RAM area
> 000c0000-000c7fff : Video ROM
> 000f0000-000fffff : System ROM
> 00100000-07ffbfff : System RAM
> 00100000-002ef4af : Kernel code
> 002ef4b0-0031193f : Kernel data
> 07ffc000-07ffefff : ACPI Tables
> 07fff000-07ffffff : ACPI Non-volatile Storage
> de000000-de0000ff : Realtek Semiconductor Co., Ltd. RTL-8139
> de000000-de0000ff : eth0
> df000000-dfffffff : PCI Bus #01
> df000000-df7fffff : Matrox Graphics, Inc. MGA G400 AGP
> df800000-df803fff : Matrox Graphics, Inc. MGA G400 AGP
> e0000000-e3ffffff : Acer Laboratories Inc. [ALi] M1541
> e5f00000-e7ffffff : PCI Bus #01
> e6000000-e7ffffff : Matrox Graphics, Inc. MGA G400 AGP
> ffff0000-ffffffff : reserved
>
> 7.5
> 00:00.0 Host bridge: Acer Laboratories Inc. [ALi] M1541 (rev 04)
> Subsystem: Acer Laboratories Inc. [ALi] ALI M1541 Aladdin V/V+ AGP
> System Controller
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
> <MAbort+ >SERR- <PERR-
> Latency: 64
> Region 0: Memory at e0000000 (32-bit, non-prefetchable) [size=64M]
> Capabilities: [b0] AGP version 1.0
> Status: RQ=28 SBA+ 64bit- FW- Rate=x1,x2
> Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
>
> 00:01.0 PCI bridge: Acer Laboratories Inc. [ALi] M5243 (rev 04) (prog-if
> 00 [Normal decode])
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Latency: 64
> Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
> I/O behind bridge: 0000e000-0000dfff
> Memory behind bridge: df000000-dfffffff
> Prefetchable memory behind bridge: e5f00000-e7ffffff
> BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
>
> 00:03.0 Bridge: Acer Laboratories Inc. [ALi] M7101 PMU
> Subsystem: Acer Laboratories Inc. [ALi] ALI M7101 Power Management
> Controller
> Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR-
>
> 00:07.0 ISA bridge: Acer Laboratories Inc. [ALi] M1533 PCI to ISA Bridge
> [Aladdin IV] (rev c3)
> Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
> <TAbort+ <MAbort+ >SERR- <PERR-
> Latency: 0
>
> 00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139
> (rev 10)
> Subsystem: Realtek Semiconductor Co., Ltd. RT8139
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (8000ns min, 16000ns max)
> Interrupt: pin A routed to IRQ 9
> Region 0: I/O ports at d800 [size=256]
> Region 1: Memory at de000000 (32-bit, non-prefetchable) [size=256]
> Capabilities: [50] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
> PME(D0-,D1+,D2+,D3hot+,D3cold+)
> Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
>
> 00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev
> 06)
> Subsystem: Ensoniq Creative Sound Blaster AudioPCI64V, AudioPCI128
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
> Latency: 32 (3000ns min, 32000ns max)
> Interrupt: pin A routed to IRQ 10
> Region 0: I/O ports at d400 [size=64]
> Capabilities: [dc] Power Management version 1
> Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA
> PME(D0+,D1-,D2+,D3hot+,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 00:0f.0 IDE interface: Acer Laboratories Inc. [ALi] M5229 IDE (rev c1)
> (prog-if 8a [Master SecP PriP])
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (500ns min, 1000ns max)
> Interrupt: pin A routed to IRQ 0
> Region 4: I/O ports at d000 [size=16]
>
> 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP
> (rev 03) (prog-if 00 [VGA])
> Subsystem: Matrox Graphics, Inc. Millennium G400 16Mb SGRAM
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR-
> Latency: 64 (4000ns min, 8000ns max), cache line size 08
> Interrupt: pin A routed to IRQ 11
> Region 0: Memory at e6000000 (32-bit, prefetchable) [size=32M]
> Region 1: Memory at df800000 (32-bit, non-prefetchable) [size=16K]
> Region 2: Memory at df000000 (32-bit, non-prefetchable) [size=8M]
> Expansion ROM at e5ff0000 [disabled] [size=64K]
> Capabilities: [dc] Power Management version 2
> Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [f0] AGP version 2.0
> Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
> Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=x1
>
> 7.6
>
> 7.7
> Mount Version:
> mount: mount-2.10m
>
> Output of /proc/mounts:
> /dev/root / ext2 rw 0 0
> proc /proc proc rw 0 0
> /dev/hda7 /home ext2 rw 0 0
> /dev/hda9 /data vfat rw 0 0
> /dev/hda8 /datax vfat rw 0 0
> /dev/hda10 /data2 vfat rw 0 0
> /dev/hdb1 /data3 vfat rw 0 0
> /dev/hda3 /win98 vfat rw 0 0
> /dev/hda6 /redhat ext2 rw 0 0
> /dev/hda11 /sicher ext2 ro 0 0
> /dev/hda13 /sicher2 ext2 ro 0 0
> /dev/hdb6 /sicher3 ext2 rw 0 0
> devpts /dev/pts devpts rw 0 0
> /dev/hda2 /gate vfat rw 0 0
> gate:/ /gate nfs rw,v2,rsize=8192,wsize=8192,hard,udp,lock,addr=gate 0 0
> gate:/ /gate nfs rw,v2,rsize=8192,wsize=8192,hard,udp,lock,addr=gate 0 0
> /dev/hda2 /mnt vfat rw 0 0
>
> X.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/
>
On Sat, 23 Dec 2000 [email protected] wrote:
>
> 1. multiple mount of devices possible 2.4.0-test1 - 2.4.0-test13-pre4
>
> 2. its still possible to mount devices several times.
> IMHO it shouldnt be possible like 2.2.18
No.
The multi-mount thing is a _major_ feature, and the fact that your "mount"
binary seems to be confused by it is a user-level problem and nothing
more.
There are many absolutely vital reasons for multi-mounting, so it's
extremely useful. Think about:
- chroot environments, where you want to mount the same filesystem as
outside the chroot thing. Imagine having your /usr/share thing mounted
read-only, for example. Things like that.
- user-private areas - where users see their own version of their tree.
This can be quite powerful for things like emulation, or simply for
namespace cleanliness.
- automounting. "autofs" will use this to mount your local home directory
the _right_ way. So you'd have the same filesystem mounted as both
/export/home/machine/torvalds ("native" location)
/home/torvalds (auto-mount location)
automounting is also why you want to be able to do things like mounting
multiple different filesystems at the same point, etc.
Now, I agree that it is inconvenient that the user-space mount binary
hasn't historically known about these things, but I think the current
linux-util stuff already has a multi-mount aware mount that won't be
confused by the fact that the kernel can do more than it historically was
able to.
Linus
Tigran Aivazian wrote:
>
> it is not a problem, it is a feature. (and a useful one!)
>
yes, mount devices several times it would be a nice feature, but do
something like:
/etc/fstab:
/dev/hdd1 /mydrive ext2 ro,noauto,user 1 1
as user: mount /mydrive
as root: mount /dev/hda2 /mydrive
as user: mount /mydrive
as root: mount /dev/hda2 /mydrive
as user: mount /mydrive
result /proc/mounts:
/dev/hdd1 /mydrive ext2 ro,noexec,nosuid,nodev 0 0
/dev/hda2 /mydrive vfat rw 0 0
/dev/hdd1 /mydrive ext2 ro,noexec,nosuid,nodev 0 0
/dev/hda2 /mydrive vfat rw 0 0
/dev/hdd1 /mydrive ext2 ro,noexec,nosuid,nodev 0 0
u dont have control about the mountpoints
Here a BIG PROBLEM:
as user: mount /mydrive
as root: mount /dev/hdd1 /test
as root: mount /dev/hdd1 /mnt
result /proc/mounts:
/dev/hdd1 /mydrive ext2 ro,noexec,nosuid,nodev 0 0
/dev/hdd1 /test ext2 ro,noexec,nosuid,nodev 0 0
/dev/hdd1 /mnt ext2 ro,noexec,nosuid,nodev 0 0
but do like
mount -o remount /mnt -w
result /proc/mounts:
/dev/hdd1 /mydrive ext2 rw 0 0
/dev/hdd1 /test ext2 rw 0 0
/dev/hdd1 /mnt ext2 rw 0 0
ALL mountpoints now READ-WRITE-able!
u lost noexec... and dont have more "security" for users...
same as sym-links ... no new feature...
Reinhard.
> On Sat, 23 Dec 2000 [email protected] wrote:
>
> >
> > 1. multiple mount of devices possible 2.4.0-test1 - 2.4.0-test13-pre4
> >
> > 2. its still possible to mount devices several times.
> > IMHO it shouldnt be possible like 2.2.18
> > with umount in /proc/mounts is still the real information,
> > in /etc/mtab all corresponding mountpoints are deleted.
In article <[email protected]>,
Linus Torvalds <[email protected]> writes:
> On Sat, 23 Dec 2000 [email protected] wrote:
>>
>> 1. multiple mount of devices possible 2.4.0-test1 - 2.4.0-test13-pre4
>>
>> 2. its still possible to mount devices several times.
>> IMHO it shouldnt be possible like 2.2.18
>
> No.
>
> The multi-mount thing is a _major_ feature, and the fact that your "mount"
> binary seems to be confused by it is a user-level problem and nothing
> more.
>
It should still need a special flag or something, since it's
impossible for userspace to check this atomically.
On Sat, 30 Dec 2000, Ton Hospel wrote:
> It should still need a special flag or something, since it's
> impossible for userspace to check this atomically.
To check _what_? Having the same tree mounted in several places is
allowed. End of story. Atomicity of any kind is a non-issue - if you
have processes that do not cooperate and do random mounts you are
getting exactly what you are asking for.
BTW, mount(2) is outside of POSIX scope. Ditto for SuS, so references to
standards are not likely to work. Not allowing multiple mounts of the same
fs was an artifact of original namei() implementation. At some point
(late 80s) it had been fixed by Bell Labs folks in their branch. In Linux
it had been fixed during the last spring. That's it. You were never promised
that multiple mounts will not work. Moreover, in special cases they did work
since long - e.g. Linux procfs could be mounted in several places since
'94, if not earlier. AFAIK NFS implementations allowed the same thing
since mid-80s...
In article <[email protected]>,
Alexander Viro <[email protected]> writes:
> On Sat, 30 Dec 2000, Ton Hospel wrote:
>
>> It should still need a special flag or something, since it's
>> impossible for userspace to check this atomically.
>
> To check _what_? Having the same tree mounted in several places is
> allowed. End of story. Atomicity of any kind is a non-issue - if you
> have processes that do not cooperate and do random mounts you are
> getting exactly what you are asking for.
>
I wasn't talking about mounting the same device on different mount points.
If you?ask for that, it's good that you nowadays you can get that (though
even there it might be a good idea to let the filesystem say if it can
support that or not)
I was talking about avoiding that the same device gets multiple mounted
at the SAME place, e.g. when doing mount -a, which is often used as a
quick way to get the new entries in /etc/fstab
That would also be no problem if there were a standard about e.g. always
flocking /etc/mtab. But as far as I know there isn't such a standard.
Alexander Viro writes:
> [...] Not allowing multiple mounts of the same
> fs was an artifact of original namei() implementation. At some point
> (late 80s) it had been fixed by Bell Labs folks in their branch. In Linux
> it had been fixed during the last spring. That's it. You were never promised
> that multiple mounts will not work. Moreover, in special cases they did work
Heh. :-)
1. go to http://www.linuxcertification.com/resources/quizzes/
2. take the "System Administration" quiz
3. try answering question 6 correctly
Albert D. Cahalan writes:
> Alexander Viro writes:
>
> > [...] Not allowing multiple mounts of the same
> > fs was an artifact of original namei() implementation. At some point
> > (late 80s) it had been fixed by Bell Labs folks in their branch. In Linux
> > it had been fixed during the last spring. That's it. You were never promised
> > that multiple mounts will not work. Moreover, in special cases they did work
>
> Heh. :-)
>
> 1. go to http://www.linuxcertification.com/resources/quizzes/
> 2. take the "System Administration" quiz
> 3. try answering question 6 correctly
Note: Chances are you won't get the same question 6 that Albert did.
Some poorly-written "certification" quiz shouldn't dictate what goes
into the kernel, either.
On Sat, 30 Dec 2000, Albert D. Cahalan wrote:
> Alexander Viro writes:
>
> > [...] Not allowing multiple mounts of the same
> > fs was an artifact of original namei() implementation. At some point
> > (late 80s) it had been fixed by Bell Labs folks in their branch. In Linux
> > it had been fixed during the last spring. That's it. You were never promised
> > that multiple mounts will not work. Moreover, in special cases they did work
>
> Heh. :-)
>
> 1. go to http://www.linuxcertification.com/resources/quizzes/
> 2. take the "System Administration" quiz
> 3. try answering question 6 correctly
ITYM s/6/7/.
None of the variants. A: version-dependent and "just like" part is seriosuly
misleading. B: would be correct for old versions _if_ they would add "and
filesystem is presumed to be block-based". As it is, statement is blatantly
incorrect - some filesystems always could be mounted in many places. C:
not even funny. _None_ of the UNIX flavours I've seen has such limitation -
they either refuse to do second mount at all or they do not care about
relative location in the tree. D: see C.
Correct answer: on versions prior to 2.4 block-based filesystems can be
mounted only once. On 2.4 either do mount -t <whatever> /dev/hda2 /users
or mount --bind /var /users.
On Sun, Dec 31, 2000 at 03:18:21AM +0000, Ton Hospel wrote:
> I was talking about avoiding that the same device gets multiple mounted
> at the SAME place, e.g. when doing mount -a, which is often used as a
> quick way to get the new entries in /etc/fstab
You get EBUSY if you try.