New idea for file-based mounts

New idea for file-based mounts

Post by Grant Mine » Fri, 04 Jul 2003 09:00:19



Instead of using mount/umount syscalls, have a file that exists
per-directory named, say, ..mount.  Then, to mount /dev/sda at /home,
you issue the command
echo "/dev/sda rw" > /home/..mount
(Almost the same syntax as mtab.) The OS takes action (upon modification
of the ..mounts file) and attempts the mount.  Reading back the file
would show:
/dev/sda rw

if the mount suceeded, otherwise it would be null if there is an error.  
To unmount the file system, remove that line from the ..mounts file.

Now, if you want to do layered mounts, a la plan 9, you could search
from the top line through the last line.  Say you had a directory,
/programs.  You want to make a union of directories together, so you
make /programs/..mounts look like:
/home/root/bin rw
/bin ro
/sbin ro
/usr/bin ro

Since /home/root/bin rw is read-write, any newly written files in
/programs really go in /home/root/bin.  But you see files from each of
the four directories (unless they have duplicate names, then higher in
the list takes precedence) due to the unioning.

Why do this? A few reasons: one could set unix permissions/acl's on the
..mounts file--you could easily let non-root users perform mount
operations on certain directories.  Then you don't need mount and
unmount commands as well.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. New: File Sysyem based AIO hangs on 2.5.73-mm1

           Summary: File Sysyem based AIO hangs on 2.5.73-mm1
    Kernel Version: 2.5.73-mm1
            Status: NEW
          Severity: high


Distribution:SLES8.0 + 2.5.73-mm1

Hardware Environment:8way 900Mhz 4xIBM Servraid 80 disks

Problem Description:
Multithreaded file system based AIO results in defunct processes.

Steps to reproduce:
Get rawread from
http://www-124.ibm.com/developerworks/opensource/linuxperf/rawread/ra...

rawread -t12 -p160 -m20 -d6 -s 65536 -n4096 -f

Test passed for block sizes 1k, 2k, 4k, 8k, 16k, 32k, before dying on 64k block
size.

Trace of one of the defunct threads follows:

rawread       D 00000001 18960  18891         18963 18959 (NOTLB)
f33cbbd0 00000086 c0517660 00000001 000000ff f7abde00 f7378b60 f7abde00
       f7abde00 f6d0b6a0 f7abde00 f6d0b6a0 e42906f0 c0517660 f6d0b6a0 c0577680
       f33cbbdc c011dbf6 f33cbc0c d54c4420 c0158be5 f6d0b6a0 f33cbc04 00000000
Call Trace:
 [<c011dbf6>] io_schedule+0x26/0x30
 [<c0158be5>] __wait_on_buffer_wq+0xf5/0x100
 [<c011eb40>] autoremove_wake_function+0x0/0x50
 [<c011eb40>] autoremove_wake_function+0x0/0x50
 [<c011eb40>] autoremove_wake_function+0x0/0x50
 [<c015a05c>] __bread_slow_wq+0x3c/0x100
 [<c015a3d0>] __bread_wq+0x40/0x50
 [<c01ac66c>] ext2_get_branch_wq+0x7c/0x160
 [<c01acaea>] ext2_get_block_wq+0x8a/0x440
 [<c0306c55>] as_set_request+0x25/0x80
 [<c0305bde>] as_update_arq+0x2e/0x80
 [<c01acf0f>] ext2_get_block+0x2f/0x40
 [<c0179881>] do_mpage_readpage+0x3c1/0x3d0
 [<c01391e1>] add_to_page_cache+0x71/0x110
 [<c01799ee>] mpage_readpages+0x15e/0x1b0
 [<c01acee0>] ext2_get_block+0x0/0x40
 [<c013d200>] __rmqueue+0xf0/0x160
 [<c013fa6c>] read_pages+0x15c/0x170
 [<c01acee0>] ext2_get_block+0x0/0x40
 [<c013d6df>] __alloc_pages+0x14f/0x330
 [<c013fbd6>] do_page_cache_readahead+0x156/0x1d0
 [<c013fcc5>] page_cache_readahead+0x75/0x190
 [<c017d34d>] aio_setup_iocb+0x14d/0x1c0
 [<c017d58f>] io_submit_one+0x18f/0x220
 [<c017d6dc>] sys_io_submit+0xbc/0x140
 [<c010b03f>] syscall_call+0x7/0xb

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. HELP!!! 140 Child Process with apache V0.8.14

3. Digital Rights Management - An idea (limited lease, renting, expiration, verification) NON HARDWARE BASED.

4. Trouble With XFree86 in Red Hat 7.0

5. Digital Rights Management - An idea (limited lease, renting, expiration, verification) NON HAR*D*WARE BASED.

6. Kfingerd-0.02 Supercharged in.fingerd replacement

7. Digital Rights Management - An idea (limited lease, renting, expiration, verification) NON HARWARE BASED.

8. Networking win98 with slackware linux 3.6

9. knowledge base...toying with the idea from a nebie on this...!

10. Problem in mounting new File-system on Digital Unix 4.0D

11. New files on read only NFS mount

12. mounting a new hdd to / file system

13. Kernel Panic: unable to mount root file system on new 2.2.2 install...