diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-07-26 11:27:10 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-07-26 11:27:10 -0400 |
commit | ba7f72901cfd437d6de087bf44d2b64357cb38a5 (patch) | |
tree | 8661e91d3f4866b0dbcf5f1887bc86ca6564a0d1 /fs/gfs2/glops.c | |
parent | f25ef0c1b4e032b2641857ac4cff3315c6eb90e3 (diff) |
[GFS2] Remove page.[ch]
The remaining routines in page.c were all only used in one other
file, so they are now moved into the files where they are referenced
and made static. Thus page.[ch] are no longer required.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/glops.c')
-rw-r--r-- | fs/gfs2/glops.c | 89 |
1 files changed, 88 insertions, 1 deletions
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index a01874c58834..3f909a81a071 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c | |||
@@ -23,11 +23,98 @@ | |||
23 | #include "inode.h" | 23 | #include "inode.h" |
24 | #include "log.h" | 24 | #include "log.h" |
25 | #include "meta_io.h" | 25 | #include "meta_io.h" |
26 | #include "page.h" | ||
27 | #include "recovery.h" | 26 | #include "recovery.h" |
28 | #include "rgrp.h" | 27 | #include "rgrp.h" |
29 | #include "util.h" | 28 | #include "util.h" |
30 | 29 | ||
30 | |||
31 | /** | ||
32 | * gfs2_pte_inval - Sync and invalidate all PTEs associated with a glock | ||
33 | * @gl: the glock | ||
34 | * | ||
35 | */ | ||
36 | |||
37 | static void gfs2_pte_inval(struct gfs2_glock *gl) | ||
38 | { | ||
39 | struct gfs2_inode *ip; | ||
40 | struct inode *inode; | ||
41 | |||
42 | ip = gl->gl_object; | ||
43 | inode = &ip->i_inode; | ||
44 | if (!ip || !S_ISREG(ip->i_di.di_mode)) | ||
45 | return; | ||
46 | |||
47 | if (!test_bit(GIF_PAGED, &ip->i_flags)) | ||
48 | return; | ||
49 | |||
50 | unmap_shared_mapping_range(inode->i_mapping, 0, 0); | ||
51 | |||
52 | if (test_bit(GIF_SW_PAGED, &ip->i_flags)) | ||
53 | set_bit(GLF_DIRTY, &gl->gl_flags); | ||
54 | |||
55 | clear_bit(GIF_SW_PAGED, &ip->i_flags); | ||
56 | } | ||
57 | |||
58 | /** | ||
59 | * gfs2_page_inval - Invalidate all pages associated with a glock | ||
60 | * @gl: the glock | ||
61 | * | ||
62 | */ | ||
63 | |||
64 | static void gfs2_page_inval(struct gfs2_glock *gl) | ||
65 | { | ||
66 | struct gfs2_inode *ip; | ||
67 | struct inode *inode; | ||
68 | |||
69 | ip = gl->gl_object; | ||
70 | inode = &ip->i_inode; | ||
71 | if (!ip || !S_ISREG(ip->i_di.di_mode)) | ||
72 | return; | ||
73 | |||
74 | truncate_inode_pages(inode->i_mapping, 0); | ||
75 | gfs2_assert_withdraw(GFS2_SB(&ip->i_inode), !inode->i_mapping->nrpages); | ||
76 | clear_bit(GIF_PAGED, &ip->i_flags); | ||
77 | } | ||
78 | |||
79 | /** | ||
80 | * gfs2_page_sync - Sync the data pages (not metadata) associated with a glock | ||
81 | * @gl: the glock | ||
82 | * @flags: DIO_START | DIO_WAIT | ||
83 | * | ||
84 | * Syncs data (not metadata) for a regular file. | ||
85 | * No-op for all other types. | ||
86 | */ | ||
87 | |||
88 | static void gfs2_page_sync(struct gfs2_glock *gl, int flags) | ||
89 | { | ||
90 | struct gfs2_inode *ip; | ||
91 | struct inode *inode; | ||
92 | struct address_space *mapping; | ||
93 | int error = 0; | ||
94 | |||
95 | ip = gl->gl_object; | ||
96 | inode = &ip->i_inode; | ||
97 | if (!ip || !S_ISREG(ip->i_di.di_mode)) | ||
98 | return; | ||
99 | |||
100 | mapping = inode->i_mapping; | ||
101 | |||
102 | if (flags & DIO_START) | ||
103 | filemap_fdatawrite(mapping); | ||
104 | if (!error && (flags & DIO_WAIT)) | ||
105 | error = filemap_fdatawait(mapping); | ||
106 | |||
107 | /* Put back any errors cleared by filemap_fdatawait() | ||
108 | so they can be caught by someone who can pass them | ||
109 | up to user space. */ | ||
110 | |||
111 | if (error == -ENOSPC) | ||
112 | set_bit(AS_ENOSPC, &mapping->flags); | ||
113 | else if (error) | ||
114 | set_bit(AS_EIO, &mapping->flags); | ||
115 | |||
116 | } | ||
117 | |||
31 | /** | 118 | /** |
32 | * meta_go_sync - sync out the metadata for this glock | 119 | * meta_go_sync - sync out the metadata for this glock |
33 | * @gl: the glock | 120 | * @gl: the glock |