Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NFS: Use nfs4_setup_sequence() everywhere

This does the right thing depending on if we have a session, rather than
needing to handle this manually in multiple places.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>

+33 -52
+3 -3
fs/nfs/filelayout/filelayout.c
··· 305 305 } 306 306 hdr->pgio_done_cb = filelayout_read_done_cb; 307 307 308 - if (nfs41_setup_sequence(hdr->ds_clp->cl_session, 308 + if (nfs4_setup_sequence(hdr->ds_clp, 309 309 &hdr->args.seq_args, 310 310 &hdr->res.seq_res, 311 311 task)) ··· 403 403 rpc_exit(task, 0); 404 404 return; 405 405 } 406 - if (nfs41_setup_sequence(hdr->ds_clp->cl_session, 406 + if (nfs4_setup_sequence(hdr->ds_clp, 407 407 &hdr->args.seq_args, 408 408 &hdr->res.seq_res, 409 409 task)) ··· 438 438 { 439 439 struct nfs_commit_data *wdata = data; 440 440 441 - nfs41_setup_sequence(wdata->ds_clp->cl_session, 441 + nfs4_setup_sequence(wdata->ds_clp, 442 442 &wdata->args.seq_args, 443 443 &wdata->res.seq_res, 444 444 task);
+12 -28
fs/nfs/flexfilelayout/flexfilelayout.c
··· 1384 1384 rpc_call_start(task); 1385 1385 } 1386 1386 1387 - static int ff_layout_setup_sequence(struct nfs_client *ds_clp, 1388 - struct nfs4_sequence_args *args, 1389 - struct nfs4_sequence_res *res, 1390 - struct rpc_task *task) 1391 - { 1392 - if (ds_clp->cl_session) 1393 - return nfs41_setup_sequence(ds_clp->cl_session, 1394 - args, 1395 - res, 1396 - task); 1397 - return nfs40_setup_sequence(ds_clp->cl_slot_tbl, 1398 - args, 1399 - res, 1400 - task); 1401 - } 1402 - 1403 1387 static void ff_layout_read_prepare_v4(struct rpc_task *task, void *data) 1404 1388 { 1405 1389 struct nfs_pgio_header *hdr = data; 1406 1390 1407 - if (ff_layout_setup_sequence(hdr->ds_clp, 1408 - &hdr->args.seq_args, 1409 - &hdr->res.seq_res, 1410 - task)) 1391 + if (nfs4_setup_sequence(hdr->ds_clp, 1392 + &hdr->args.seq_args, 1393 + &hdr->res.seq_res, 1394 + task)) 1411 1395 return; 1412 1396 1413 1397 if (ff_layout_read_prepare_common(task, hdr)) ··· 1562 1578 { 1563 1579 struct nfs_pgio_header *hdr = data; 1564 1580 1565 - if (ff_layout_setup_sequence(hdr->ds_clp, 1566 - &hdr->args.seq_args, 1567 - &hdr->res.seq_res, 1568 - task)) 1581 + if (nfs4_setup_sequence(hdr->ds_clp, 1582 + &hdr->args.seq_args, 1583 + &hdr->res.seq_res, 1584 + task)) 1569 1585 return; 1570 1586 1571 1587 if (ff_layout_write_prepare_common(task, hdr)) ··· 1651 1667 { 1652 1668 struct nfs_commit_data *wdata = data; 1653 1669 1654 - if (ff_layout_setup_sequence(wdata->ds_clp, 1655 - &wdata->args.seq_args, 1656 - &wdata->res.seq_res, 1657 - task)) 1670 + if (nfs4_setup_sequence(wdata->ds_clp, 1671 + &wdata->args.seq_args, 1672 + &wdata->res.seq_res, 1673 + task)) 1658 1674 return; 1659 1675 ff_layout_commit_prepare_common(task, data); 1660 1676 }
+2 -2
fs/nfs/nfs42proc.c
··· 332 332 } 333 333 nfs4_stateid_copy(&data->args.stateid, &lo->plh_stateid); 334 334 spin_unlock(&inode->i_lock); 335 - nfs41_setup_sequence(nfs4_get_session(server->nfs_client), 336 - &data->args.seq_args, &data->res.seq_res, task); 335 + nfs4_setup_sequence(server->nfs_client, &data->args.seq_args, 336 + &data->res.seq_res, task); 337 337 } 338 338 339 339 static void
+1 -4
fs/nfs/nfs4_fs.h
··· 273 273 fmode_t fmode); 274 274 275 275 #if defined(CONFIG_NFS_V4_1) 276 - extern int nfs41_setup_sequence(struct nfs4_session *session, 277 - struct nfs4_sequence_args *args, struct nfs4_sequence_res *res, 278 - struct rpc_task *task); 279 276 extern int nfs41_sequence_done(struct rpc_task *, struct nfs4_sequence_res *); 280 277 extern int nfs4_proc_create_session(struct nfs_client *, struct rpc_cred *); 281 278 extern int nfs4_proc_destroy_session(struct nfs4_session *, struct rpc_cred *); ··· 453 456 extern void nfs_increment_lock_seqid(int status, struct nfs_seqid *seqid); 454 457 extern void nfs_release_seqid(struct nfs_seqid *seqid); 455 458 extern void nfs_free_seqid(struct nfs_seqid *seqid); 456 - extern int nfs40_setup_sequence(struct nfs4_slot_table *tbl, 459 + extern int nfs4_setup_sequence(const struct nfs_client *client, 457 460 struct nfs4_sequence_args *args, 458 461 struct nfs4_sequence_res *res, 459 462 struct rpc_task *task);
+15 -15
fs/nfs/nfs4proc.c
··· 622 622 args->sa_privileged = 1; 623 623 } 624 624 625 - int nfs40_setup_sequence(struct nfs4_slot_table *tbl, 626 - struct nfs4_sequence_args *args, 627 - struct nfs4_sequence_res *res, 628 - struct rpc_task *task) 625 + static int nfs40_setup_sequence(struct nfs4_slot_table *tbl, 626 + struct nfs4_sequence_args *args, 627 + struct nfs4_sequence_res *res, 628 + struct rpc_task *task) 629 629 { 630 630 struct nfs4_slot *slot; 631 631 ··· 662 662 spin_unlock(&tbl->slot_tbl_lock); 663 663 return -EAGAIN; 664 664 } 665 - EXPORT_SYMBOL_GPL(nfs40_setup_sequence); 666 665 667 666 static void nfs40_sequence_free_slot(struct nfs4_sequence_res *res) 668 667 { ··· 881 882 } 882 883 EXPORT_SYMBOL_GPL(nfs4_sequence_done); 883 884 884 - int nfs41_setup_sequence(struct nfs4_session *session, 885 + static int nfs41_setup_sequence(struct nfs4_session *session, 885 886 struct nfs4_sequence_args *args, 886 887 struct nfs4_sequence_res *res, 887 888 struct rpc_task *task) ··· 944 945 spin_unlock(&tbl->slot_tbl_lock); 945 946 return -EAGAIN; 946 947 } 947 - EXPORT_SYMBOL_GPL(nfs41_setup_sequence); 948 948 949 - static int nfs4_setup_sequence(const struct nfs_client *client, 950 - struct nfs4_sequence_args *args, 951 - struct nfs4_sequence_res *res, 952 - struct rpc_task *task) 949 + int nfs4_setup_sequence(const struct nfs_client *client, 950 + struct nfs4_sequence_args *args, 951 + struct nfs4_sequence_res *res, 952 + struct rpc_task *task) 953 953 { 954 954 struct nfs4_session *session = nfs4_get_session(client); 955 955 int ret = 0; ··· 966 968 dprintk("<-- %s status=%d\n", __func__, ret); 967 969 return ret; 968 970 } 971 + EXPORT_SYMBOL_GPL(nfs4_setup_sequence); 969 972 970 973 static void nfs41_call_sync_prepare(struct rpc_task *task, void *calldata) 971 974 { ··· 992 993 993 994 #else /* !CONFIG_NFS_V4_1 */ 994 995 995 - static int nfs4_setup_sequence(const struct nfs_client *client, 996 - struct nfs4_sequence_args *args, 997 - struct nfs4_sequence_res *res, 998 - struct rpc_task *task) 996 + int nfs4_setup_sequence(const struct nfs_client *client, 997 + struct nfs4_sequence_args *args, 998 + struct nfs4_sequence_res *res, 999 + struct rpc_task *task) 999 1000 { 1000 1001 return nfs40_setup_sequence(client->cl_slot_tbl, args, res, task); 1001 1002 } 1003 + EXPORT_SYMBOL_GPL(nfs4_setup_sequence); 1002 1004 1003 1005 static int nfs4_sequence_process(struct rpc_task *task, struct nfs4_sequence_res *res) 1004 1006 {