tree c08044e928dff4628b0aa6ea17d6bc5fb922d5dc
parent d8348de06f704fc34d24ec068546ecb1045fc11a
author Steven Whitehouse <swhiteho@redhat.com> 1234171501 +0000
committer Steven Whitehouse <steve@dolmen.chygwyn.com> 1237893680 +0000

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>
