alistair23-linux/fs/gfs2
Steven Whitehouse f15ab5619d GFS2: Support generation of discard requests
This patch allows GFS2 to generate discard requests for blocks which are
no longer useful to the filesystem (i.e. those which have been freed as
the result of an unlink operation). The requests are generated at the
time which those blocks become available for reuse in the filesystem.

In order to use this new feature, you have to specify the "discard"
mount option. The code coalesces adjacent blocks into a single extent
when generating the discard requests, thus generating the minimum
number.

If an error occurs when the request has been sent to the block device,
then it will print a message and turn off the requests for that
filesystem. If the problem is temporary, then you can use remount to
turn the option back on again. There is also a nodiscard mount option
so that you can use remount to turn discard requests off, if required.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2009-03-24 11:21:20 +00:00
..
acl.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
acl.h [GFS2] Remove gfs2_check_acl() 2006-11-30 10:37:32 -05:00
bmap.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dir.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
eaops.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
eaops.h [GFS2] mark struct *_operations const 2007-10-10 08:55:03 +01:00
eattr.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00: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: Fix deadlock on journal flush 2009-03-24 11:21:18 +00:00
glock.h GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
glops.c GFS2: Fix deadlock on journal flush 2009-03-24 11:21:18 +00:00
glops.h [GFS2] Make headers compile on their own 2006-09-05 10:39:21 -04:00
incore.h GFS2: Support generation of discard requests 2009-03-24 11:21:20 +00:00
inode.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
inode.h GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
Kconfig GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
lock_dlm.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
log.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
Makefile GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
meta_io.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
meta_io.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
mount.c GFS2: Support generation of discard requests 2009-03-24 11:21:20 +00:00
ops_address.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
ops_address.h [GFS2] Remove function gfs2_get_block 2008-01-25 08:08:25 +00:00
ops_dentry.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
ops_export.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
ops_file.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
ops_fstype.c GFS2: Fix error path ref counting for root inode 2009-03-24 11:21:17 +00:00
ops_inode.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
ops_super.c GFS2: Support generation of discard requests 2009-03-24 11:21:20 +00:00
quota.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
quota.h GFS2: change gfs2_quota_scan into a shrinker 2009-03-24 11:21:12 +00:00
recovery.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
recovery.h GFS2: Move gfs2_recoverd into recovery.c 2009-01-05 07:39:07 +00:00
rgrp.c GFS2: Support generation of discard requests 2009-03-24 11:21:20 +00:00
rgrp.h [GFS2] Add extent allocation to block allocator 2008-03-31 10:40:47 +01:00
super.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
super.h GFS2: Fix remount argument parsing 2009-03-24 11:21:10 +00:00
sys.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
sys.h GFS2: Remove ancient, unused code 2009-01-05 07:39:13 +00:00
trans.c GFS2: Fix deadlock on journal flush 2009-03-24 11:21:18 +00:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c GFS2: Merge lock_dlm module into GFS2 2009-03-24 11:21:14 +00:00
util.h GFS2: Clean up & move gfs2_quotad 2009-01-05 07:39:05 +00:00