diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2007-10-15 10:40:33 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2008-01-25 03:07:13 -0500 |
commit | 3cc3f710ce0effe397b830826a1a081fa81f11c7 (patch) | |
tree | 53f69f1b8d1cbc2849c6bac08ce7786f3ecd7447 /fs/gfs2/incore.h | |
parent | 51ff87bdd9f21a5d3672517b75d25ab5842d94a8 (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.h | 8 |
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 { | |||
241 | enum { | 241 | enum { |
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? */ | ||
293 | static inline struct gfs2_sbd *GFS2_SB(struct inode *inode) | 291 | static 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 | ||
298 | enum { | ||
299 | GFF_DID_DIRECT_ALLOC = 0, | ||
300 | GFF_EXLOCK = 1, | ||
301 | }; | ||
302 | |||
303 | struct gfs2_file { | 296 | struct 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 | }; |