提交 ca52fec1 编写于 作者: T Trond Myklebust

NFS: Use pgoff_t in structures and functions that pass page cache offsets

Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 724c439c
...@@ -383,12 +383,12 @@ void nfs_pageio_complete(struct nfs_pageio_descriptor *desc) ...@@ -383,12 +383,12 @@ void nfs_pageio_complete(struct nfs_pageio_descriptor *desc)
* You must be holding the inode's req_lock when calling this function * You must be holding the inode's req_lock when calling this function
*/ */
int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head,
struct list_head *dst, unsigned long idx_start, struct list_head *dst, pgoff_t idx_start,
unsigned int npages) unsigned int npages)
{ {
struct nfs_page *pgvec[NFS_SCAN_MAXENTRIES]; struct nfs_page *pgvec[NFS_SCAN_MAXENTRIES];
struct nfs_page *req; struct nfs_page *req;
unsigned long idx_end; pgoff_t idx_end;
int found, i; int found, i;
int res; int res;
......
...@@ -139,7 +139,7 @@ static void nfs_grow_file(struct page *page, unsigned int offset, unsigned int c ...@@ -139,7 +139,7 @@ static void nfs_grow_file(struct page *page, unsigned int offset, unsigned int c
{ {
struct inode *inode = page->mapping->host; struct inode *inode = page->mapping->host;
loff_t end, i_size = i_size_read(inode); loff_t end, i_size = i_size_read(inode);
unsigned long end_index = (i_size - 1) >> PAGE_CACHE_SHIFT; pgoff_t end_index = (i_size - 1) >> PAGE_CACHE_SHIFT;
if (i_size > 0 && page->index < end_index) if (i_size > 0 && page->index < end_index)
return; return;
...@@ -511,11 +511,11 @@ int nfs_reschedule_unstable_write(struct nfs_page *req) ...@@ -511,11 +511,11 @@ int nfs_reschedule_unstable_write(struct nfs_page *req)
* *
* Interruptible by signals only if mounted with intr flag. * Interruptible by signals only if mounted with intr flag.
*/ */
static int nfs_wait_on_requests_locked(struct inode *inode, unsigned long idx_start, unsigned int npages) static int nfs_wait_on_requests_locked(struct inode *inode, pgoff_t idx_start, unsigned int npages)
{ {
struct nfs_inode *nfsi = NFS_I(inode); struct nfs_inode *nfsi = NFS_I(inode);
struct nfs_page *req; struct nfs_page *req;
unsigned long idx_end, next; pgoff_t idx_end, next;
unsigned int res = 0; unsigned int res = 0;
int error; int error;
...@@ -570,7 +570,7 @@ static void nfs_cancel_commit_list(struct list_head *head) ...@@ -570,7 +570,7 @@ static void nfs_cancel_commit_list(struct list_head *head)
* The requests are *not* checked to ensure that they form a contiguous set. * The requests are *not* checked to ensure that they form a contiguous set.
*/ */
static int static int
nfs_scan_commit(struct inode *inode, struct list_head *dst, unsigned long idx_start, unsigned int npages) nfs_scan_commit(struct inode *inode, struct list_head *dst, pgoff_t idx_start, unsigned int npages)
{ {
struct nfs_inode *nfsi = NFS_I(inode); struct nfs_inode *nfsi = NFS_I(inode);
int res = 0; int res = 0;
...@@ -584,7 +584,7 @@ nfs_scan_commit(struct inode *inode, struct list_head *dst, unsigned long idx_st ...@@ -584,7 +584,7 @@ nfs_scan_commit(struct inode *inode, struct list_head *dst, unsigned long idx_st
return res; return res;
} }
#else #else
static inline int nfs_scan_commit(struct inode *inode, struct list_head *dst, unsigned long idx_start, unsigned int npages) static inline int nfs_scan_commit(struct inode *inode, struct list_head *dst, pgoff_t idx_start, unsigned int npages)
{ {
return 0; return 0;
} }
...@@ -604,7 +604,7 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx, ...@@ -604,7 +604,7 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx,
struct inode *inode = mapping->host; struct inode *inode = mapping->host;
struct nfs_inode *nfsi = NFS_I(inode); struct nfs_inode *nfsi = NFS_I(inode);
struct nfs_page *req, *new = NULL; struct nfs_page *req, *new = NULL;
unsigned long rqend, end; pgoff_t rqend, end;
end = offset + bytes; end = offset + bytes;
...@@ -1292,7 +1292,7 @@ long nfs_sync_mapping_wait(struct address_space *mapping, struct writeback_contr ...@@ -1292,7 +1292,7 @@ long nfs_sync_mapping_wait(struct address_space *mapping, struct writeback_contr
{ {
struct inode *inode = mapping->host; struct inode *inode = mapping->host;
struct nfs_inode *nfsi = NFS_I(inode); struct nfs_inode *nfsi = NFS_I(inode);
unsigned long idx_start, idx_end; pgoff_t idx_start, idx_end;
unsigned int npages = 0; unsigned int npages = 0;
LIST_HEAD(head); LIST_HEAD(head);
int nocommit = how & FLUSH_NOCOMMIT; int nocommit = how & FLUSH_NOCOMMIT;
...@@ -1305,10 +1305,10 @@ long nfs_sync_mapping_wait(struct address_space *mapping, struct writeback_contr ...@@ -1305,10 +1305,10 @@ long nfs_sync_mapping_wait(struct address_space *mapping, struct writeback_contr
idx_start = wbc->range_start >> PAGE_CACHE_SHIFT; idx_start = wbc->range_start >> PAGE_CACHE_SHIFT;
idx_end = wbc->range_end >> PAGE_CACHE_SHIFT; idx_end = wbc->range_end >> PAGE_CACHE_SHIFT;
if (idx_end > idx_start) { if (idx_end > idx_start) {
unsigned long l_npages = 1 + idx_end - idx_start; pgoff_t l_npages = 1 + idx_end - idx_start;
npages = l_npages; npages = l_npages;
if (sizeof(npages) != sizeof(l_npages) && if (sizeof(npages) != sizeof(l_npages) &&
(unsigned long)npages != l_npages) (pgoff_t)npages != l_npages)
npages = 0; npages = 0;
} }
} }
......
...@@ -38,7 +38,7 @@ struct nfs_page { ...@@ -38,7 +38,7 @@ struct nfs_page {
struct page *wb_page; /* page to read in/write out */ struct page *wb_page; /* page to read in/write out */
struct nfs_open_context *wb_context; /* File state context info */ struct nfs_open_context *wb_context; /* File state context info */
atomic_t wb_complete; /* i/os we're waiting for */ atomic_t wb_complete; /* i/os we're waiting for */
unsigned long wb_index; /* Offset >> PAGE_CACHE_SHIFT */ pgoff_t wb_index; /* Offset >> PAGE_CACHE_SHIFT */
unsigned int wb_offset, /* Offset & ~PAGE_CACHE_MASK */ unsigned int wb_offset, /* Offset & ~PAGE_CACHE_MASK */
wb_pgbase, /* Start of page data */ wb_pgbase, /* Start of page data */
wb_bytes; /* Length of request */ wb_bytes; /* Length of request */
...@@ -72,7 +72,7 @@ extern void nfs_release_request(struct nfs_page *req); ...@@ -72,7 +72,7 @@ extern void nfs_release_request(struct nfs_page *req);
extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct list_head *dst, extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct list_head *dst,
unsigned long idx_start, unsigned int npages); pgoff_t idx_start, unsigned int npages);
extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc, extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc,
struct inode *inode, struct inode *inode,
int (*doio)(struct inode *, struct list_head *, unsigned int, size_t, int), int (*doio)(struct inode *, struct list_head *, unsigned int, size_t, int),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册