kernel-ark/mm
Rob Landley f7b3a4359b [PATCH] Fix bd_claim() error code.
Problem: In some circumstances, bd_claim() is returning the wrong error
code.

If we try to swapon an unused block device that isn't swap formatted, we
get -EINVAL.  But if that same block device is already mounted, we instead
get -EBUSY, even though it still isn't a valid swap device.

This issue came up on the busybox list trying to get the error message
from "swapon -a" right.  If a swap device is already enabled, we get -EBUSY,
and we shouldn't report this as an error.  But we can't distinguish the two
-EBUSY conditions, which are very different errors.

In the code, bd_claim() returns either 0 or -EBUSY, but in this case busy
means "somebody other than sys_swapon has already claimed this", and
_that_ means this block device can't be a valid swap device.  So return
-EINVAL there.

Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-22 22:17:37 -07:00
..
bootmem.c
fadvise.c
filemap_xip.c
filemap.c
filemap.h
fremap.c
highmem.c
hugetlb.c
internal.h
Kconfig [PATCH] fix mm/Kconfig spelling 2005-09-17 11:50:01 -07:00
madvise.c
Makefile
memory.c
mempolicy.c [PATCH] Fix MPOL_F_VERIFY 2005-09-13 08:22:28 -07:00
mempool.c
mincore.c
mlock.c
mmap.c [PATCH] fix locking comment in unmap_region() 2005-09-21 10:11:55 -07:00
mprotect.c [PATCH] mm: add a note about partially hardcoded VM_* flags 2005-09-21 10:11:55 -07:00
mremap.c
msync.c
nommu.c
oom_kill.c
page_alloc.c [PATCH] use add_taint() for setting tainted bit flags 2005-09-13 08:22:29 -07:00
page_io.c
page-writeback.c
pdflush.c
prio_tree.c
readahead.c
rmap.c
shmem.c
slab.c [PATCH] __kmalloc: Generate BUG if size requested is too large. 2005-09-22 22:17:36 -07:00
sparse.c
swap_state.c
swap.c
swapfile.c [PATCH] Fix bd_claim() error code. 2005-09-22 22:17:37 -07:00
thrash.c
tiny-shmem.c
truncate.c
vmalloc.c
vmscan.c [PATCH] vm: kswapd cleanup: use pgdat 2005-09-13 08:22:28 -07:00