linux-sg2042/fs/ramfs
Nick Piggin 4b19de6d1c mm: tiny-shmem nommu fix
The previous patch db203d53d4 ("mm:
tiny-shmem fix lock ordering: mmap_sem vs i_mutex") to fix the lock
ordering in tiny-shmem breaks shared anonymous and IPC memory on NOMMU
architectures because it was using the expanding truncate to signal ramfs
to allocate a physically contiguous RAM backing the inode (otherwise it is
unusable for "memory mapping" it to userspace).

However do_truncate is what caused the lock ordering error, due to it
taking i_mutex.  In this case, we can actually just call ramfs directly to
allocate memory for the mapping, rather than go via truncate.

Acked-by: David Howells <dhowells@redhat.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-02 15:53:13 -07:00
..
Makefile Remove valueless definition of hard-selected RAMFS option 2007-10-17 08:42:56 -07:00
file-mmu.c ramfs: enable splice write 2008-07-04 09:52:14 +02:00
file-nommu.c mm: tiny-shmem nommu fix 2008-10-02 15:53:13 -07:00
inode.c mm: bdi: add separate writeback accounting capability 2008-04-30 08:29:50 -07:00
internal.h fs/ramfs/ extern cleanup 2008-04-29 08:06:00 -07:00