aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2007-12-11 19:49:21 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2008-01-25 03:11:46 -0500
commitda6dd40d59fa9617ed697b90114e197036901632 (patch)
tree49e869021ed1f911bf3cdf185e9c4ce75c67f42a /fs/gfs2/incore.h
parente9e1ef2b6ee401d7c1e1eb38052857b4b206d172 (diff)
[GFS2] Journal extent mapping
This patch saves a little time when gfs2 writes to the journals by keeping a mapping between logical and physical blocks on disk. That's better than constantly looking up indirect pointers in buffers, when the journals are several levels of indirection (which they typically are). Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 330f4c73d0e7..51166c12c5d7 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -1,6 +1,6 @@
1/* 1/*
2 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 2 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
3 * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. 3 * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
4 * 4 *
5 * This copyrighted material is made available to anyone wishing to use, 5 * This copyrighted material is made available to anyone wishing to use,
6 * modify, copy, or redistribute it subject to the terms and conditions 6 * modify, copy, or redistribute it subject to the terms and conditions
@@ -360,8 +360,17 @@ struct gfs2_ail {
360 u64 ai_sync_gen; 360 u64 ai_sync_gen;
361}; 361};
362 362
363struct gfs2_journal_extent {
364 struct list_head extent_list;
365
366 unsigned int lblock; /* First logical block */
367 u64 dblock; /* First disk block */
368 u64 blocks;
369};
370
363struct gfs2_jdesc { 371struct gfs2_jdesc {
364 struct list_head jd_list; 372 struct list_head jd_list;
373 struct list_head extent_list;
365 374
366 struct inode *jd_inode; 375 struct inode *jd_inode;
367 unsigned int jd_jid; 376 unsigned int jd_jid;