mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
Merge tag 'nfsd-6.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
Pull nfsd fixes from Chuck Lever: - Fix a crash during NFS READs from certain client implementations - Address a minor kbuild regression in v6.3 * tag 'nfsd-6.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: nfsd: don't replace page in rq_pages if it's a continuation of last page NFS & NFSD: Update GSS dependencies
This commit is contained in:
@@ -75,7 +75,7 @@ config NFS_V3_ACL
|
||||
config NFS_V4
|
||||
tristate "NFS client support for NFS version 4"
|
||||
depends on NFS_FS
|
||||
select SUNRPC_GSS
|
||||
select RPCSEC_GSS_KRB5
|
||||
select KEYS
|
||||
help
|
||||
This option enables support for version 4 of the NFS protocol
|
||||
|
||||
@@ -73,7 +73,7 @@ config NFSD_V4
|
||||
bool "NFS server support for NFS version 4"
|
||||
depends on NFSD && PROC_FS
|
||||
select FS_POSIX_ACL
|
||||
select SUNRPC_GSS
|
||||
select RPCSEC_GSS_KRB5
|
||||
select CRYPTO
|
||||
select CRYPTO_MD5
|
||||
select CRYPTO_SHA256
|
||||
|
||||
@@ -941,8 +941,15 @@ nfsd_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
|
||||
struct page *last_page;
|
||||
|
||||
last_page = page + (offset + sd->len - 1) / PAGE_SIZE;
|
||||
for (page += offset / PAGE_SIZE; page <= last_page; page++)
|
||||
for (page += offset / PAGE_SIZE; page <= last_page; page++) {
|
||||
/*
|
||||
* Skip page replacement when extending the contents
|
||||
* of the current page.
|
||||
*/
|
||||
if (page == *(rqstp->rq_next_page - 1))
|
||||
continue;
|
||||
svc_rqst_replace_page(rqstp, page);
|
||||
}
|
||||
if (rqstp->rq_res.page_len == 0) // first call
|
||||
rqstp->rq_res.page_base = offset % PAGE_SIZE;
|
||||
rqstp->rq_res.page_len += sd->len;
|
||||
|
||||
Reference in New Issue
Block a user