twx-linux/fs
Ulrich Drepper 0d786d4a27 fallocate syscall interface deficiency
The fallocate syscall returns ENOSYS in case the filesystem does not support
the operation and expects the userlevel code to fill in.  This is good in
concept.

The problem is that the libc code for old kernels should be able to
distinguish the case where the syscall is not at all available vs not
functioning for a specific mount point.  As is this is not possible and we
always have to invoke the syscall even if the kernel doesn't support it.

I suggest the following patch.  Using EOPNOTSUPP is IMO the right thing to do.

Cc: Amit Arora <aarora@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-24 12:24:58 -07:00
..
9p
adfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
affs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
afs AFS: Use patched rxrpc_kernel_send_data() correctly 2007-07-20 08:54:14 -07:00
autofs
autofs4
befs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
bfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
cifs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
coda coda: remove CODA_STORE/CODA_RELEASE upcalls 2007-07-21 17:49:14 -07:00
configfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
cramfs
debugfs
devpts
dlm mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
ecryptfs fix some conversion overflows 2007-07-20 08:44:19 -07:00
efs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
exportfs
ext2 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
ext3 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
ext4 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
fat mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
freevxfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
fuse mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
gfs2 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
hfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
hfsplus mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
hostfs
hpfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
hppfs
hugetlbfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
isofs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
jbd mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
jbd2 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
jffs2 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
jfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
lockd
minix mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
msdos
ncpfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
nfs fix broken handling of port=... in NFS option parsing 2007-07-22 11:15:18 -07:00
nfs_common
nfsd knfsd: fix typo in export display, print uid and gid as unsigned 2007-07-21 17:49:14 -07:00
nls
ntfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
ocfs2 fix some conversion overflows 2007-07-20 08:44:19 -07:00
openpromfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
partitions some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
proc x86_64: Avoid too many remote cpu references due to /proc/stat 2007-07-21 18:37:09 -07:00
qnx4 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
ramfs
reiserfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
romfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
smbfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
sysfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
sysv mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
udf UDF: coding style conversion - lindent fixups 2007-07-21 17:49:14 -07:00
ufs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
vfat
xfs mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
aio.c
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c coredump masking: ELF-FDPIC: enable core dump filtering 2007-07-19 10:04:47 -07:00
binfmt_elf.c revert "PIE randomization" 2007-07-21 17:49:14 -07:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c mm: variable length argument support 2007-07-19 10:04:45 -07:00
binfmt_script.c mm: variable length argument support 2007-07-19 10:04:45 -07:00
binfmt_som.c
bio.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
block_dev.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
buffer.c fix some conversion overflows 2007-07-20 08:44:19 -07:00
char_dev.c
compat_ioctl.c
compat.c mm: variable length argument support 2007-07-19 10:04:45 -07:00
dcache.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
dcookies.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
direct-io.c
dnotify.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
dquot.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
drop_caches.c
eventfd.c
eventpoll.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
exec.c coredump masking: reimplementation of dumpable using two flags 2007-07-19 10:04:46 -07:00
fcntl.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
generic_acl.c
inode.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
inotify_user.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
inotify.c
internal.h
ioctl.c
ioprio.c
Kconfig NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS 2007-07-19 15:09:02 -04:00
Kconfig.binfmt
libfs.c
locks.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
Makefile
mbcache.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
mpage.c
namei.c fs: remove path_walk export 2007-07-19 10:04:45 -07:00
namespace.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
nfsctl.c nfsctl: use vfs_path_lookup 2007-07-19 10:04:45 -07:00
no-block.c
open.c fallocate syscall interface deficiency 2007-07-24 12:24:58 -07:00
pipe.c
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
read_write.h
readdir.c
select.c
seq_file.c
signalfd.c
splice.c splice: fix bad unlock_page() in error case 2007-07-20 09:07:01 -07:00
stack.c
stat.c
super.c
sync.c
timerfd.c
utimes.c
xattr_acl.c
xattr.c