diff options
author | Bob Peterson <rpeterso@redhat.com> | 2007-12-11 19:49:21 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2008-01-25 03:11:46 -0500 |
commit | da6dd40d59fa9617ed697b90114e197036901632 (patch) | |
tree | 49e869021ed1f911bf3cdf185e9c4ce75c67f42a /fs/gfs2/incore.h | |
parent | e9e1ef2b6ee401d7c1e1eb38052857b4b206d172 (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.h | 11 |
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 | ||
363 | struct 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 | |||
363 | struct gfs2_jdesc { | 371 | struct 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; |