summaryrefslogtreecommitdiff
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2009-05-21 12:23:12 +0100
committerSteven Whitehouse <swhiteho@redhat.com>2009-05-21 12:23:12 +0100
commit60a0b8f93664621a07b93273fc8ebc29590c62f5 (patch)
tree6e819ce13d40aef078f3af45867b8af2e9c6ec85 /fs/gfs2/incore.h
parent09010978345e8883003bf411bb99753710eb5a3a (diff)
downloadlwn-60a0b8f93664621a07b93273fc8ebc29590c62f5.tar.gz
lwn-60a0b8f93664621a07b93273fc8ebc29590c62f5.zip
GFS2: Add a rgrp bitmap full flag
During block allocation, it is useful to know if sections of disk are full on a finer grained basis than a single resource group. This can make a performance difference when resource groups have larger numbers of bitmap blocks, since we no longer have to search them all block by block in each individual bitmap. The full flag is set on a per-bitmap basis when it has been searched and found to have no free space. It is then skipped in subsequent searches until the flag is reset. The resetting occurs if we have to drop the glock on the resource group for any reason, or if we deallocate some blocks within that resource group and thus free up some space. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index de50d86fec12..dd87379b61e6 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -64,9 +64,12 @@ struct gfs2_log_element {
const struct gfs2_log_operations *le_ops;
};
+#define GBF_FULL 1
+
struct gfs2_bitmap {
struct buffer_head *bi_bh;
char *bi_clone;
+ unsigned long bi_flags;
u32 bi_offset;
u32 bi_start;
u32 bi_len;