linux_old1/fs/gfs2
Steven Whitehouse e9079cce20 GFS2: Support for FIEMAP ioctl
This patch implements the FIEMAP ioctl for GFS2. We can use the generic
code (aside from a lock order issue, solved as per Ted Tso's suggestion)
for which I've introduced a new variant of the generic function. We also
have one exception to deal with, namely stuffed files, so we do that
"by hand", setting all the required flags.

This has been tested with a modified (I could only find an old version) of
Eric's test program, and appears to work correctly.

This patch does not currently support FIEMAP of xattrs, but the plan is to add
that feature at some future point.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Theodore Tso <tytso@mit.edu>
Cc: Eric Sandeen <sandeen@redhat.com>
2009-01-05 07:38:46 +00:00
..
locking/dlm dlm: allow multiple lockspace creates 2008-08-28 11:49:15 -05:00
Kconfig [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
Makefile [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
acl.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
acl.h [GFS2] Remove gfs2_check_acl() 2006-11-30 10:37:32 -05:00
bmap.c [GFS2] fix gfs2 block allocation (cleaned up) 2008-06-24 19:02:28 +01:00
bmap.h [GFS2] Remove function gfs2_get_block 2008-01-25 08:08:25 +00:00
daemon.c [GFS2] Move gfs2_logd into log.c 2008-01-25 08:07:56 +00:00
daemon.h [GFS2] Move gfs2_logd into log.c 2008-01-25 08:07:56 +00:00
dir.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
dir.h [GFS2] Clean up inode number handling 2007-07-09 08:22:24 +01:00
eaops.c [GFS2] Remove unrequired code 2008-01-25 08:08:13 +00:00
eaops.h [GFS2] mark struct *_operations const 2007-10-10 08:55:03 +01:00
eattr.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
eattr.h [GFS2] gfs2 misc endianness annotations 2006-11-30 10:33:46 -05:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
glock.h GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
glops.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
glops.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
incore.h GFS2: Support for I/O barriers 2008-09-26 10:23:22 +01:00
inode.c CRED: Wrap task credential accesses in the GFS2 filesystem 2008-11-14 10:38:53 +11:00
inode.h GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
locking.c [GFS2] Fix ordering of args for list_add 2008-06-27 09:39:34 +01:00
log.c GFS2: Support for I/O barriers 2008-09-26 10:23:22 +01:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c [GFS2] Plug an unlikely leak 2008-03-31 10:40:05 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c SL*B: drop kmem cache argument from constructor 2008-07-26 12:00:07 -07:00
meta_io.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
meta_io.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
mount.c vfs: Use const for kernel parser table 2008-10-13 10:10:37 -07:00
mount.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_address.c fs: symlink write_begin allocation context fix 2009-01-04 13:33:20 -08:00
ops_address.h [GFS2] Remove function gfs2_get_block 2008-01-25 08:08:25 +00:00
ops_dentry.c [GFS2] Fix a page lock / glock deadlock 2008-03-31 10:41:12 +01:00
ops_dentry.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
ops_export.c [PATCH] switch all filesystems over to d_obtain_alias 2008-10-23 05:13:01 -04:00
ops_file.c GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
ops_fstype.c GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
ops_fstype.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
ops_inode.c GFS2: Support for FIEMAP ioctl 2009-01-05 07:38:46 +00:00
ops_inode.h [GFS2] remove gfs2_dev_iops 2008-03-31 10:41:20 +01:00
ops_super.c GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
ops_super.h [PATCH] Mark struct super_operations const 2007-02-12 09:48:47 -08:00
quota.c [GFS2] Fix GFS2's use of do_div() in its quota calculations 2008-07-11 14:35:01 +01:00
quota.h [GFS2] Streamline quota lock/check for no-quota case 2008-03-31 10:41:36 +01:00
recovery.c [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
recovery.h [GFS2] split and annotate gfs2_log_head 2006-11-30 10:33:14 -05:00
rgrp.c [GFS2] Replace rgrp "recent list" with mru list 2008-07-10 15:54:12 +01:00
rgrp.h [GFS2] Add extent allocation to block allocator 2008-03-31 10:40:47 +01:00
super.c GFS2: Fix metafs mounts 2008-08-13 09:59:40 +01:00
super.h GFS2: Fix metafs mounts 2008-08-13 09:59:40 +01:00
sys.c GFS2: high time to take some time over atime 2008-09-18 13:53:59 +01:00
sys.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
trans.c [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c [GFS2] Remove lm.[ch] and distribute content 2008-03-31 10:40:26 +01:00
util.h fs: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00