Commit Graph

13083 Commits

Author SHA1 Message Date
Ram Pai a58b0eb8e6 [PATCH] introduce slave mounts
A slave mount always has a master mount from which it receives
mount/umount events.  Unlike shared mount the event propagation does not
flow from the slave mount to the master.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:11 -08:00
Ram Pai a05964f391 [PATCH] shared mounts handling: umount
An unmount of a mount creates a umount event on the parent.  If the
parent is a shared mount, it gets propagated to all mounts in the peer
group.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:11 -08:00
Ram Pai 2144440327 [PATCH] shared mounts handling: move
Implement handling of mount --move in presense of shared mounts (see
Documentation/sharedsubtree.txt in the end of patch series for detailed
description).

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:11 -08:00
Ram Pai b90fa9ae8f [PATCH] shared mount handling: bind and rbind
Implement handling of MS_BIND in presense of shared mounts (see
Documentation/sharedsubtree.txt in the end of patch series for detailed
description).

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:11 -08:00
Ram Pai 03e06e68ff [PATCH] introduce shared mounts
This creates shared mounts.  A shared mount when bind-mounted to some
mountpoint, propagates mount/umount events to each other.  All the
shared mounts that propagate events to each other belong to the same
peer-group.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Ram Pai 07b20889e3 [PATCH] beginning of the shared-subtree proper
A private mount does not forward or receive propagation.  This patch
provides user the ability to convert any mount to private.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Ram Pai 390c684367 [PATCH] making namespace_sem global
This removes the per-namespace semaphore in favor of a global semaphore.
This can have an effect on namespace scalability.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Ram Pai 36341f6456 [PATCH] mount expiry fixes
- clean up the ugliness in may_umount_tree()

 - fix a bug in do_loopback().  after cloning a tree, do_loopback()
   unlinks only the topmost mount of the cloned tree, leaving behind the
   children mounts on their corresponding expiry list.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Ram Pai 70fbcdf4d2 [PATCH] umount_tree() locking change
umount is done under the protection of the namespace semaphore.  This
can lead to intresting deadlocks when the last reference to a mount is
released, if filesystem code is in sufficiently nasty state.

This collects all the to-be-released-mounts and releases them after
releasing the namespace semaphore.  That both reduces the time we are
holding namespace semaphore and gets the things more robust.

Idea proposed by Al Viro.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Ram Pai 5b83d2c5c0 [PATCH] sanitize the interface of graft_tree().
Old semantics: graft_tree() grabs a reference on the vfsmount before
returning success.

New one: graft_tree() leaves that to caller.

All the callers of graft_tree() immediately dropped that reference
anyway.  Changing the interface takes care of this unnecessary overhead.

Idea proposed by Al Viro.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Ram Pai b58fed8b19 [PATCH] lindent fs/namespace.c
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Al Viro 5addc5dd88 [PATCH] make /proc/mounts pollable
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:10 -08:00
Al Viro 1abe77b0fc [PATCH] allow callers of seq_open do allocation themselves
Allow caller of seq_open() to kmalloc() seq_file + whatever else they
want and set ->private_data to it.  seq_open() will then abstain from
doing allocation itself.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:09 -08:00
Al Viro ccd48bc7fa [PATCH] cleanups and bug fix in do_loopback()
- check_mnt() on the source of binding should've been unconditional
   from the very beginning.  My fault - as far I could've trace it,
   that's an old thinko made back in 2001.  Kudos to Miklos for spotting
   it...

   Fixed.

 - code cleaned up.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:09 -08:00
Al Viro 7b7b1ace2d [PATCH] saner handling of auto_acct_off() and DQUOT_OFF() in umount
The way we currently deal with quota and process accounting that might
keep vfsmount busy at umount time is inherently broken; we try to turn
them off just in case (not quite correctly, at that) and

  a) pray umount doesn't fail (otherwise they'll stay turned off)
  b) pray nobody doesn anything funny just as we turn quota off

Moreover, LSM provides hooks for doing the same sort of broken logics.

The proper way to deal with that is to introduce the second kind of
reference to vfsmount.  Semantics:

 - when the last normal reference is dropped, all special ones are
   converted to normal ones and if there had been any, cleanup is done.
 - normal reference can be cloned into a special one
 - special reference can be converted to normal one; that's a no-op if
   we'd already passed the point of no return (i.e.  mntput() had
   converted special references to normal and started cleanup).

The way it works: e.g. starting process accounting converts the vfsmount
reference pinned by the opened file into special one and turns it back
to normal when it gets shut down; acct_auto_close() is done when no
normal references are left.  That way it does *not* obstruct umount(2)
and it silently gets turned off when the last normal reference to
vfsmount is gone.  Which is exactly what we want...

The same should be done by LSM module that holds some internal
references to vfsmount and wants to shut them down on umount - it should
make them special and security_sb_umount_close() will be called exactly
when the last normal reference to vfsmount is gone.

quota handling is even simpler - we don't use normal file IO anymore, so
there's no need to hold vfsmounts at all.  DQUOT_OFF() is done from
deactivate_super(), where it really belongs.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 18:18:09 -08:00
Linus Torvalds 254ce8dc88 Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2005-11-07 13:32:52 -08:00
Linus Torvalds 89de09a9ba Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-11-07 13:32:21 -08:00
Russell King f6db449ca3 [ARM] Allow SMP if Realview MPcore is selected
This patch puts into place the final piece of the puzzle for SMP
support on ARM.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:30:21 +00:00
Linus Torvalds dad2ad82c5 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2005-11-07 13:28:20 -08:00
Linus Torvalds 7079060f3e Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart 2005-11-07 13:26:58 -08:00
Uli Luckas 896937ad5c [ARM] 3120/1: Fix MMC/SD card driver resume deadlock
Patch from Uli Luckas

This is a simplification of patch 3116/1 as sugested by Russell King.

Signed-off-by: Uli Luckas <u.luckas@road-gmbh.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:22:07 +00:00
Lennert Buytenhek 5391473f7b [ARM] 3121/1: unconditionally use XCB=101 on ixp2000
Patch from Lennert Buytenhek

Since we have to use XCB=101 instead of XCB=000 on the ixp2400 to
prevent it from regularly falling over, and since we have to deal with
manual write buffer flushing because of that, we might as well use
XCB=101 on all ixp2000 platforms since it's faster than XCB=000.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:12:09 +00:00
Lennert Buytenhek bedf142b8b [ARM] 3118/1: fix and reenable nwfpe extended precision emulation for big-endian
Patch from Lennert Buytenhek

nwfpe extended precision emulation used to be broken on big-endian
and was therefore disabled.  This patch fixes nwfpe so that it copies
extended precision floats to/from userspace in the proper word order
(similar to patch #2046, see the description of that patch for an
explanation) and reenables the Kconfig option.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:12:08 +00:00
Lennert Buytenhek 06c03cac94 [ARM] 3117/1: nwfpe kernel memory info leak
Patch from Lennert Buytenhek

The routine that nwfpe uses for converting floats/doubles to
extended precision fails to zero two bytes of kernel stack.  This
is not immediately obvious, as the floatx80 structure has 16 bits
of implicit padding (by design.)  These two bytes are copied to
userspace when an stfe is emulated, causing a possible info leak.

Make the padding explicit and zero it out in the relevant places.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:12:07 +00:00
Russell King 862184fe01 [ARM SMP] Add Realview MPcore SMP support
Add SMP support for the MPcore tile fitted to the Realview ARM
platform.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:05:42 +00:00
Russell King fea543f477 Merge with ARM SMP tree 2005-11-07 21:04:24 +00:00
Russell King 9b1283bedd [ARM] Add support for Realview with MPcore tile
Add uniprocessor support for Realview platform fitted with the
MPcore (SMP) tile.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-07 21:01:06 +00:00
Linus Torvalds 3f00d3e8fb Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2005-11-07 11:15:23 -08:00
Linus Torvalds 407cf84f95 Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2005-11-07 10:30:33 -08:00
Linus Torvalds b3ce1debe2 Merge master.kernel.org:/pub/scm/linux/kernel/git/tglx/mtd-2.6
Some manual fixups for clashing kfree() cleanups etc.
2005-11-07 10:24:08 -08:00
Ladislav Michl a637a114f3 VINO driver version 0.0.5.
Second cut of the VINO / Indycam driver for the Silicon Graphics Indy,
much more feature complete and bug free.
2005-11-07 18:05:41 +00:00
Atsushi Nemoto a06d61c648 Redefine outs[wl] for ide_outs[wl].
Add missing bits to fix D-cache aliasing problem in the PIO IDE driver.
    
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:40 +00:00
Ralf Baechle 4fa0997be8 Delete duplicate definitions.
This reverts 8f91ed6c2f.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:40 +00:00
Atsushi Nemoto 16cd395136 Fix return type of setup_frame variants
Since 2.6.13-rc1 setup_frame and its variants return int.  But some bits
were missed in the conversion.
    
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:39 +00:00
Ralf Baechle 0d959c260e IRIX: Use schedule_timeout_interruptible.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:39 +00:00
Atsushi Nemoto a0f08209c6 Define MAX_UDELAY_MS
If HZ was 1000, mdelay(2) cause overflow on multiplication in
__udelay.  We should define MAX_UDELAY_MS properly to prevent this.
    
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:39 +00:00
Atsushi Nemoto 53c2df2f4e Use rtc_lock to protect RTC operations
Many RTC routines were not protected against each other, so there are
potential races, for example, ntp-update against /dev/rtc.  This patch
fixes them using rtc_lock.
    
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:38 +00:00
Atsushi Nemoto e329331aed Remove mips_rtc_lock
The mips_rtc_lock is no longer needed because RTC operations should be
protected already by other mechanism. (rtc_lock, local_irq_save, etc.)
    
Also, locking whole rtc_get_time/rtc_set_time should be avoided while
some RTC routines might take very long time (a few seconds).
    
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:38 +00:00
Ralf Baechle 2862279597 Add .gitignore files for Turbochannel 2005-11-07 18:05:37 +00:00
Ralf Baechle 15b96a4757 Add .gitignore files for MIPS. 2005-11-07 18:05:37 +00:00
Ralf Baechle 307bd284c2 VPE loader janitoring
o Switch to dynamic major
 o Remove duplicate SHN_MIPS_SCOMMON definition
 o Coding style: remove typedefs.
 o Coding style: reorder to avoid the need for forward declarations
 o Use kzalloc.
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:36 +00:00
Ralf Baechle b8c2a77ce3 PNX8550 uses a MIPS32-like processor core, not R4xx0.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:36 +00:00
Ilya A. Volynets-Evenbakh 08eaabfce0 O2 parport definitions
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:35 +00:00
Adrian Bunk 6a4dea1dde OSS MIPS drivers: "extern inline" -> "static inline"
"extern inline" doesn't make much sense.
    
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:35 +00:00
Ralf Baechle b0c705161f Add spaces to MODULE_PROC_FAMILY values.
Only a cosmetic fix to make the output of modinfo look readable.
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:34 +00:00
Ralf Baechle afc4841d8a Turn rtlx upside down.
o Coding style
 o Race condition on open
 o Switch to dynamic major
 o Header file cleanup
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-11-07 18:05:33 +00:00
Linus Torvalds 5b2f7ffcb7 Merge master.kernel.org:/pub/scm/linux/kernel/git/bunk/trivial 2005-11-07 09:01:32 -08:00
Linus Torvalds 333c47c847 Merge branch 'block-dir' of git://brick.kernel.dk/data/git/linux-2.6-block 2005-11-07 08:32:39 -08:00
Linus Torvalds 8f0cb147b2 Merge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa 2005-11-07 08:09:02 -08:00
Linus Torvalds 8e33ba4976 Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6 2005-11-07 08:05:11 -08:00