Skip to content

Commit 21330b6

Browse files
committed
Merge branch 'bugfixes'
* bugfixes: NFSv4: Return delegations synchronously in evict_inode SUNRPC: Fix a regression when reconnecting NFS: remount with security change should return EINVAL nfs: do not export discarded symbols NFSv4.1: don't export static symbol
2 parents c775707 + 5fcdfac commit 21330b6

File tree

5 files changed

+15
-16
lines changed

5 files changed

+15
-16
lines changed

fs/nfs/delegation.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ void nfs_inode_return_delegation_noreclaim(struct inode *inode)
514514

515515
delegation = nfs_inode_detach_delegation(inode);
516516
if (delegation != NULL)
517-
nfs_do_return_delegation(inode, delegation, 0);
517+
nfs_do_return_delegation(inode, delegation, 1);
518518
}
519519

520520
/**

fs/nfs/pnfs.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1906,7 +1906,6 @@ static void pnfs_writehdr_free(struct nfs_pgio_header *hdr)
19061906
pnfs_put_lseg(hdr->lseg);
19071907
nfs_pgio_header_free(hdr);
19081908
}
1909-
EXPORT_SYMBOL_GPL(pnfs_writehdr_free);
19101909

19111910
int
19121911
pnfs_generic_pg_writepages(struct nfs_pageio_descriptor *desc)
@@ -2036,7 +2035,6 @@ static void pnfs_readhdr_free(struct nfs_pgio_header *hdr)
20362035
pnfs_put_lseg(hdr->lseg);
20372036
nfs_pgio_header_free(hdr);
20382037
}
2039-
EXPORT_SYMBOL_GPL(pnfs_readhdr_free);
20402038

20412039
int
20422040
pnfs_generic_pg_readpages(struct nfs_pageio_descriptor *desc)

fs/nfs/pnfs_nfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ static bool load_v3_ds_connect(void)
561561
return(get_v3_ds_connect != NULL);
562562
}
563563

564-
void __exit nfs4_pnfs_v3_ds_connect_unload(void)
564+
void nfs4_pnfs_v3_ds_connect_unload(void)
565565
{
566566
if (get_v3_ds_connect) {
567567
symbol_put(nfs3_set_ds_client);

fs/nfs/super.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2192,7 +2192,7 @@ nfs_compare_remount_data(struct nfs_server *nfss,
21922192
data->version != nfss->nfs_client->rpc_ops->version ||
21932193
data->minorversion != nfss->nfs_client->cl_minorversion ||
21942194
data->retrans != nfss->client->cl_timeout->to_retries ||
2195-
data->selected_flavor != nfss->client->cl_auth->au_flavor ||
2195+
!nfs_auth_info_match(&data->auth_info, nfss->client->cl_auth->au_flavor) ||
21962196
data->acregmin != nfss->acregmin / HZ ||
21972197
data->acregmax != nfss->acregmax / HZ ||
21982198
data->acdirmin != nfss->acdirmin / HZ ||
@@ -2240,7 +2240,6 @@ nfs_remount(struct super_block *sb, int *flags, char *raw_data)
22402240
data->wsize = nfss->wsize;
22412241
data->retrans = nfss->client->cl_timeout->to_retries;
22422242
data->selected_flavor = nfss->client->cl_auth->au_flavor;
2243-
data->auth_info = nfss->auth_info;
22442243
data->acregmin = nfss->acregmin / HZ;
22452244
data->acregmax = nfss->acregmax / HZ;
22462245
data->acdirmin = nfss->acdirmin / HZ;

net/sunrpc/xprt.c

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,15 @@ static void __xprt_lock_write_next_cong(struct rpc_xprt *xprt)
326326
xprt_clear_locked(xprt);
327327
}
328328

329+
static void xprt_task_clear_bytes_sent(struct rpc_task *task)
330+
{
331+
if (task != NULL) {
332+
struct rpc_rqst *req = task->tk_rqstp;
333+
if (req != NULL)
334+
req->rq_bytes_sent = 0;
335+
}
336+
}
337+
329338
/**
330339
* xprt_release_xprt - allow other requests to use a transport
331340
* @xprt: transport with other tasks potentially waiting
@@ -336,11 +345,7 @@ static void __xprt_lock_write_next_cong(struct rpc_xprt *xprt)
336345
void xprt_release_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
337346
{
338347
if (xprt->snd_task == task) {
339-
if (task != NULL) {
340-
struct rpc_rqst *req = task->tk_rqstp;
341-
if (req != NULL)
342-
req->rq_bytes_sent = 0;
343-
}
348+
xprt_task_clear_bytes_sent(task);
344349
xprt_clear_locked(xprt);
345350
__xprt_lock_write_next(xprt);
346351
}
@@ -358,11 +363,7 @@ EXPORT_SYMBOL_GPL(xprt_release_xprt);
358363
void xprt_release_xprt_cong(struct rpc_xprt *xprt, struct rpc_task *task)
359364
{
360365
if (xprt->snd_task == task) {
361-
if (task != NULL) {
362-
struct rpc_rqst *req = task->tk_rqstp;
363-
if (req != NULL)
364-
req->rq_bytes_sent = 0;
365-
}
366+
xprt_task_clear_bytes_sent(task);
366367
xprt_clear_locked(xprt);
367368
__xprt_lock_write_next_cong(xprt);
368369
}
@@ -700,6 +701,7 @@ bool xprt_lock_connect(struct rpc_xprt *xprt,
700701
goto out;
701702
if (xprt->snd_task != task)
702703
goto out;
704+
xprt_task_clear_bytes_sent(task);
703705
xprt->snd_task = cookie;
704706
ret = true;
705707
out:

0 commit comments

Comments
 (0)