aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2007-10-15 10:40:33 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2008-01-25 03:07:13 -0500
commit3cc3f710ce0effe397b830826a1a081fa81f11c7 (patch)
tree53f69f1b8d1cbc2849c6bac08ce7786f3ecd7447 /fs/gfs2/incore.h
parent51ff87bdd9f21a5d3672517b75d25ab5842d94a8 (diff)
[GFS2] Use ->page_mkwrite() for mmap()
This cleans up the mmap() code path for GFS2 by implementing the page_mkwrite function for GFS2. We are thus able to use the generic filemap_fault function for our ->fault() implementation. This now means that shared writable mappings will be much more efficiently shared across the cluster if there is a reasonable proportion of read activity (the greater proportion, the better). As a side effect, it also reduces the size of the code, removes special cases from readpage and readpages, and makes the code path easier to follow. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h8
1 files changed, 0 insertions, 8 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 662182bfbff7..55c72f01cf31 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -241,7 +241,6 @@ struct gfs2_alloc {
241enum { 241enum {
242 GIF_INVALID = 0, 242 GIF_INVALID = 0,
243 GIF_QD_LOCKED = 1, 243 GIF_QD_LOCKED = 1,
244 GIF_PAGED = 2,
245 GIF_SW_PAGED = 3, 244 GIF_SW_PAGED = 3,
246}; 245};
247 246
@@ -289,19 +288,12 @@ static inline struct gfs2_inode *GFS2_I(struct inode *inode)
289 return container_of(inode, struct gfs2_inode, i_inode); 288 return container_of(inode, struct gfs2_inode, i_inode);
290} 289}
291 290
292/* To be removed? */
293static inline struct gfs2_sbd *GFS2_SB(struct inode *inode) 291static inline struct gfs2_sbd *GFS2_SB(struct inode *inode)
294{ 292{
295 return inode->i_sb->s_fs_info; 293 return inode->i_sb->s_fs_info;
296} 294}
297 295
298enum {
299 GFF_DID_DIRECT_ALLOC = 0,
300 GFF_EXLOCK = 1,
301};
302
303struct gfs2_file { 296struct gfs2_file {
304 unsigned long f_flags; /* GFF_... */
305 struct mutex f_fl_mutex; 297 struct mutex f_fl_mutex;
306 struct gfs2_holder f_fl_gh; 298 struct gfs2_holder f_fl_gh;
307}; 299};