aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-01-30 13:34:10 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-01-30 13:34:10 -0500
commitf42faf4fa4eaf7e108dd60f3f2ca5c6e9b45352c (patch)
tree23bf95db3b941a4b14f8b90f98a8aaa663ed6c81 /fs/gfs2/incore.h
parentfd2ee6bb1ef02dfe1f1e1f5b44322e0854596e9a (diff)
[GFS2] Add gfs2_internal_read()
Add the new external read function. Its temporarily in jdata.c even though the protoype is in ops_file.h - this will change shortly. The current implementation will change to a page cache one when that happens. In order to effect the above changes, the various internal inodes now have Linux inodes attached to them. We keep the references to the Linux inodes, rather than the gfs2_inodes in the super block. In order to get everything to work correctly I've had to reorder the init sequence on mount (which I should probably have done earlier when .gfs2_admin was made visible). Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 3bc40ff5fdf9..d1954e2bb908 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -98,10 +98,13 @@ struct gfs2_rgrpd {
98 98
99enum gfs2_state_bits { 99enum gfs2_state_bits {
100 BH_Pinned = BH_PrivateStart, 100 BH_Pinned = BH_PrivateStart,
101 BH_Escaped = BH_PrivateStart + 1,
101}; 102};
102 103
103BUFFER_FNS(Pinned, pinned) 104BUFFER_FNS(Pinned, pinned)
104TAS_BUFFER_FNS(Pinned, pinned) 105TAS_BUFFER_FNS(Pinned, pinned)
106BUFFER_FNS(Escaped, escaped)
107TAS_BUFFER_FNS(Escaped, escaped)
105 108
106struct gfs2_bufdata { 109struct gfs2_bufdata {
107 struct buffer_head *bd_bh; 110 struct buffer_head *bd_bh;
@@ -254,7 +257,7 @@ struct gfs2_inode {
254 struct inode *i_vnode; 257 struct inode *i_vnode;
255 258
256 struct gfs2_holder i_iopen_gh; 259 struct gfs2_holder i_iopen_gh;
257 260 struct gfs2_holder i_gh; /* for prepare/commit_write only */
258 struct gfs2_alloc i_alloc; 261 struct gfs2_alloc i_alloc;
259 uint64_t i_last_rg_alloc; 262 uint64_t i_last_rg_alloc;
260 263
@@ -511,17 +514,17 @@ struct gfs2_sbd {
511 514
512 /* Inode Stuff */ 515 /* Inode Stuff */
513 516
514 struct gfs2_inode *sd_master_dir; 517 struct inode *sd_master_dir;
515 struct gfs2_inode *sd_jindex; 518 struct inode *sd_jindex;
516 struct gfs2_inode *sd_inum_inode; 519 struct inode *sd_inum_inode;
517 struct gfs2_inode *sd_statfs_inode; 520 struct inode *sd_statfs_inode;
518 struct gfs2_inode *sd_ir_inode; 521 struct inode *sd_ir_inode;
519 struct gfs2_inode *sd_sc_inode; 522 struct inode *sd_sc_inode;
520 struct gfs2_inode *sd_ut_inode; 523 struct inode *sd_ut_inode;
521 struct gfs2_inode *sd_qc_inode; 524 struct inode *sd_qc_inode;
522 struct gfs2_inode *sd_rindex; 525 struct inode *sd_rindex;
523 struct gfs2_inode *sd_quota_inode; 526 struct inode *sd_quota_inode;
524 struct gfs2_inode *sd_root_dir; 527 struct inode *sd_root_dir;
525 528
526 /* Inum stuff */ 529 /* Inum stuff */
527 530
@@ -615,6 +618,8 @@ struct gfs2_sbd {
615 unsigned int sd_log_num_revoke; 618 unsigned int sd_log_num_revoke;
616 unsigned int sd_log_num_rg; 619 unsigned int sd_log_num_rg;
617 unsigned int sd_log_num_databuf; 620 unsigned int sd_log_num_databuf;
621 unsigned int sd_log_num_jdata;
622
618 struct list_head sd_log_le_gl; 623 struct list_head sd_log_le_gl;
619 struct list_head sd_log_le_buf; 624 struct list_head sd_log_le_buf;
620 struct list_head sd_log_le_revoke; 625 struct list_head sd_log_le_revoke;