GFS2: Extend the life of the reservations
authorBob Peterson <rpeterso@redhat.com>
Wed, 6 Jun 2012 10:17:59 +0000 (11:17 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Wed, 6 Jun 2012 10:17:59 +0000 (11:17 +0100)
commit0a305e496059a113f93bdd3ad27a5aaa917fe34d
treeb0b6ce3997fef4c4e28f598a98e2e08c939414a6
parenteea5b5510fc5545d15b69da8e485a7424ae388cf
GFS2: Extend the life of the reservations

This patch lengthens the lifespan of the reservations structure for
inodes. Before, they were allocated and deallocated for every write
operation. With this patch, they are allocated when the first write
occurs, and deallocated when the last process closes the file.
It's more efficient to do it this way because it saves GFS2 a lot of
unnecessary allocates and frees. It also gives us more flexibility
for the future: (1) we can now fold the qadata structure back into
the structure and save those alloc/frees, (2) we can use this for
multi-block reservations.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/aops.c
fs/gfs2/file.c
fs/gfs2/inode.c
fs/gfs2/quota.c
fs/gfs2/rgrp.c
fs/gfs2/rgrp.h
fs/gfs2/super.c
fs/gfs2/trans.h