提交 268fc16e 编写于 作者: O OGAWA Hirofumi 提交者: Linus Torvalds

[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: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 e5174baa
...@@ -103,7 +103,9 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping); ...@@ -103,7 +103,9 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping);
int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0); int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0);
int do_writepages(struct address_space *mapping, struct writeback_control *wbc); int do_writepages(struct address_space *mapping, struct writeback_control *wbc);
int sync_page_range(struct inode *inode, struct address_space *mapping, int sync_page_range(struct inode *inode, struct address_space *mapping,
loff_t pos, size_t count); loff_t pos, loff_t count);
int sync_page_range_nolock(struct inode *inode, struct address_space *mapping,
loff_t pos, loff_t count);
/* pdflush.c */ /* pdflush.c */
extern int nr_pdflush_threads; /* Global so it can be exported to sysctl extern int nr_pdflush_threads; /* Global so it can be exported to sysctl
......
...@@ -280,7 +280,7 @@ static int wait_on_page_writeback_range(struct address_space *mapping, ...@@ -280,7 +280,7 @@ static int wait_on_page_writeback_range(struct address_space *mapping,
* it is otherwise livelockable. * it is otherwise livelockable.
*/ */
int sync_page_range(struct inode *inode, struct address_space *mapping, int sync_page_range(struct inode *inode, struct address_space *mapping,
loff_t pos, size_t count) loff_t pos, loff_t count)
{ {
pgoff_t start = pos >> PAGE_CACHE_SHIFT; pgoff_t start = pos >> PAGE_CACHE_SHIFT;
pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT;
...@@ -305,9 +305,8 @@ EXPORT_SYMBOL(sync_page_range); ...@@ -305,9 +305,8 @@ EXPORT_SYMBOL(sync_page_range);
* as it forces O_SYNC writers to different parts of the same file * as it forces O_SYNC writers to different parts of the same file
* to be serialised right until io completion. * to be serialised right until io completion.
*/ */
static int sync_page_range_nolock(struct inode *inode, int sync_page_range_nolock(struct inode *inode, struct address_space *mapping,
struct address_space *mapping, loff_t pos, loff_t count)
loff_t pos, size_t count)
{ {
pgoff_t start = pos >> PAGE_CACHE_SHIFT; pgoff_t start = pos >> PAGE_CACHE_SHIFT;
pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT;
...@@ -322,6 +321,7 @@ static int sync_page_range_nolock(struct inode *inode, ...@@ -322,6 +321,7 @@ static int sync_page_range_nolock(struct inode *inode,
ret = wait_on_page_writeback_range(mapping, start, end); ret = wait_on_page_writeback_range(mapping, start, end);
return ret; return ret;
} }
EXPORT_SYMBOL(sync_page_range_nolock);
/** /**
* filemap_fdatawait - walk the list of under-writeback pages of the given * filemap_fdatawait - walk the list of under-writeback pages of the given
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册