diff options
author | OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 2006-01-08 04:02:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 23:13:47 -0500 |
commit | 268fc16e343b4f8e249468747db2e658da46a814 (patch) | |
tree | 871a1b1ad8250d1f5b0e4585fe32d00f90443bd3 | |
parent | e5174baaea7585760f02eef23b225847d209a8db (diff) |
[PATCH] export/change sync_page_range/_nolock()
This exports/changes the sync_page_range/_nolock(). The fatfs needs
sync_page_range/_nolock() for expanding truncate, and changes "size_t count"
to "loff_t count".
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/linux/writeback.h | 4 | ||||
-rw-r--r-- | mm/filemap.c | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index b096159086e8..beaef5c7a0ea 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
@@ -103,7 +103,9 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping); | |||
103 | int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0); | 103 | int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0); |
104 | int do_writepages(struct address_space *mapping, struct writeback_control *wbc); | 104 | int do_writepages(struct address_space *mapping, struct writeback_control *wbc); |
105 | int sync_page_range(struct inode *inode, struct address_space *mapping, | 105 | int sync_page_range(struct inode *inode, struct address_space *mapping, |
106 | loff_t pos, size_t count); | 106 | loff_t pos, loff_t count); |
107 | int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, | ||
108 | loff_t pos, loff_t count); | ||
107 | 109 | ||
108 | /* pdflush.c */ | 110 | /* pdflush.c */ |
109 | extern int nr_pdflush_threads; /* Global so it can be exported to sysctl | 111 | extern int nr_pdflush_threads; /* Global so it can be exported to sysctl |
diff --git a/mm/filemap.c b/mm/filemap.c index 4ef24a397684..8fdf36508023 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -280,7 +280,7 @@ static int wait_on_page_writeback_range(struct address_space *mapping, | |||
280 | * it is otherwise livelockable. | 280 | * it is otherwise livelockable. |
281 | */ | 281 | */ |
282 | int sync_page_range(struct inode *inode, struct address_space *mapping, | 282 | int sync_page_range(struct inode *inode, struct address_space *mapping, |
283 | loff_t pos, size_t count) | 283 | loff_t pos, loff_t count) |
284 | { | 284 | { |
285 | pgoff_t start = pos >> PAGE_CACHE_SHIFT; | 285 | pgoff_t start = pos >> PAGE_CACHE_SHIFT; |
286 | pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; | 286 | pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; |
@@ -305,9 +305,8 @@ EXPORT_SYMBOL(sync_page_range); | |||
305 | * as it forces O_SYNC writers to different parts of the same file | 305 | * as it forces O_SYNC writers to different parts of the same file |
306 | * to be serialised right until io completion. | 306 | * to be serialised right until io completion. |
307 | */ | 307 | */ |
308 | static int sync_page_range_nolock(struct inode *inode, | 308 | int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, |
309 | struct address_space *mapping, | 309 | loff_t pos, loff_t count) |
310 | loff_t pos, size_t count) | ||
311 | { | 310 | { |
312 | pgoff_t start = pos >> PAGE_CACHE_SHIFT; | 311 | pgoff_t start = pos >> PAGE_CACHE_SHIFT; |
313 | pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; | 312 | pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; |
@@ -322,6 +321,7 @@ static int sync_page_range_nolock(struct inode *inode, | |||
322 | ret = wait_on_page_writeback_range(mapping, start, end); | 321 | ret = wait_on_page_writeback_range(mapping, start, end); |
323 | return ret; | 322 | return ret; |
324 | } | 323 | } |
324 | EXPORT_SYMBOL(sync_page_range_nolock); | ||
325 | 325 | ||
326 | /** | 326 | /** |
327 | * filemap_fdatawait - walk the list of under-writeback pages of the given | 327 | * filemap_fdatawait - walk the list of under-writeback pages of the given |