diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-01-30 18:34:10 +0000 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-01-30 18:34:10 +0000 |
commit | f42faf4fa4eaf7e108dd60f3f2ca5c6e9b45352c (patch) | |
tree | 23bf95db3b941a4b14f8b90f98a8aaa663ed6c81 /fs/gfs2/incore.h | |
parent | fd2ee6bb1ef02dfe1f1e1f5b44322e0854596e9a (diff) | |
download | op-kernel-dev-f42faf4fa4eaf7e108dd60f3f2ca5c6e9b45352c.zip op-kernel-dev-f42faf4fa4eaf7e108dd60f3f2ca5c6e9b45352c.tar.gz |
[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.h | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 3bc40ff..d1954e2 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -98,10 +98,13 @@ struct gfs2_rgrpd { enum gfs2_state_bits { BH_Pinned = BH_PrivateStart, + BH_Escaped = BH_PrivateStart + 1, }; BUFFER_FNS(Pinned, pinned) TAS_BUFFER_FNS(Pinned, pinned) +BUFFER_FNS(Escaped, escaped) +TAS_BUFFER_FNS(Escaped, escaped) struct gfs2_bufdata { struct buffer_head *bd_bh; @@ -254,7 +257,7 @@ struct gfs2_inode { struct inode *i_vnode; struct gfs2_holder i_iopen_gh; - + struct gfs2_holder i_gh; /* for prepare/commit_write only */ struct gfs2_alloc i_alloc; uint64_t i_last_rg_alloc; @@ -511,17 +514,17 @@ struct gfs2_sbd { /* Inode Stuff */ - struct gfs2_inode *sd_master_dir; - struct gfs2_inode *sd_jindex; - struct gfs2_inode *sd_inum_inode; - struct gfs2_inode *sd_statfs_inode; - struct gfs2_inode *sd_ir_inode; - struct gfs2_inode *sd_sc_inode; - struct gfs2_inode *sd_ut_inode; - struct gfs2_inode *sd_qc_inode; - struct gfs2_inode *sd_rindex; - struct gfs2_inode *sd_quota_inode; - struct gfs2_inode *sd_root_dir; + struct inode *sd_master_dir; + struct inode *sd_jindex; + struct inode *sd_inum_inode; + struct inode *sd_statfs_inode; + struct inode *sd_ir_inode; + struct inode *sd_sc_inode; + struct inode *sd_ut_inode; + struct inode *sd_qc_inode; + struct inode *sd_rindex; + struct inode *sd_quota_inode; + struct inode *sd_root_dir; /* Inum stuff */ @@ -615,6 +618,8 @@ struct gfs2_sbd { unsigned int sd_log_num_revoke; unsigned int sd_log_num_rg; unsigned int sd_log_num_databuf; + unsigned int sd_log_num_jdata; + struct list_head sd_log_le_gl; struct list_head sd_log_le_buf; struct list_head sd_log_le_revoke; |