req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.pages = data->pagevec;
data->u.v3.args.count = count;
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.count = count;
data->u.v3.args.stable = stable;
nfs4_setup_compound(cp, data->u.v4.ops, NFS_SERVER(inode), "read [async]");
nfs4_setup_putfh(cp, NFS_FH(inode));
- nfs4_setup_read(cp, req_offset(req) + req->wb_offset,
+ nfs4_setup_read(cp, req_offset(req),
count, data->pagevec, req->wb_offset,
&data->u.v4.res_eof,
&data->u.v4.res_count);
nfs4_setup_compound(cp, data->u.v4.ops, NFS_SERVER(inode), "write [async]");
nfs4_setup_putfh(cp, NFS_FH(inode));
- nfs4_setup_write(cp, req_offset(req) + req->wb_offset,
+ nfs4_setup_write(cp, req_offset(req),
count, stable, data->pagevec, req->wb_offset,
&data->u.v4.res_count, &data->verf);
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.pages = data->pagevec;
data->u.v3.args.count = count;
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.count = count;
data->u.v3.args.stable = NFS_FILE_SYNC;
inode->i_sb->s_id,
(long long)NFS_FILEID(inode),
count,
- (unsigned long long)req_offset(req) + req->wb_offset);
+ (unsigned long long)req_offset(req));
}
static void
if (eof ||
((fattr->valid & NFS_ATTR_FATTR) &&
- ((req_offset(req) + req->wb_offset + count) >= fattr->size)))
+ ((req_offset(req) + count) >= fattr->size)))
SetPageUptodate(page);
else
if (count < req->wb_bytes)
req->wb_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_inode),
req->wb_bytes,
- (long long)(req_offset(req) + req->wb_offset));
+ (long long)req_offset(req));
nfs_clear_request(req);
nfs_release_request(req);
nfs_unlock_request(req);
inode->i_sb->s_id,
(long long)NFS_FILEID(inode),
count,
- (unsigned long long)req_offset(req) + req->wb_offset);
+ (unsigned long long)req_offset(req));
}
/*
req->wb_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_inode),
req->wb_bytes,
- (long long)(req_offset(req) + req->wb_offset));
+ (long long)req_offset(req));
if (task->tk_status < 0) {
ClearPageUptodate(page);
* Determine the offset range of requests in the COMMIT call.
* We rely on the fact that data->pages is an ordered list...
*/
- start = req_offset(first) + first->wb_offset;
- end = req_offset(last) + (last->wb_offset + last->wb_bytes);
+ start = req_offset(first);
+ end = req_offset(last) + last->wb_bytes;
len = end - start;
/* If 'len' is not a 32-bit quantity, pass '0' in the COMMIT call */
if (end >= inode->i_size || len < 0 || len > (~((u32)0) >> 1))
req->wb_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_inode),
req->wb_bytes,
- (long long)(req_offset(req) + req->wb_offset));
+ (long long)req_offset(req));
if (task->tk_status < 0) {
if (req->wb_file)
req->wb_file->f_error = task->tk_status;
static inline
loff_t req_offset(struct nfs_page *req)
{
- return ((loff_t)req->wb_index) << PAGE_CACHE_SHIFT;
+ return (((loff_t)req->wb_index) << PAGE_CACHE_SHIFT) + req->wb_offset;
}
/*