nfs4proc.c (f05d147f7e3cf0d86b3a4bd5603029a7cb109633) nfs4proc.c (0b7c01533aa9f4a228d07d2768d084acb3a387bc)
1/*
2 * fs/nfs/nfs4proc.c
3 *
4 * Client-side procedure declarations for NFSv4.
5 *
6 * Copyright (c) 2002 The Regents of the University of Michigan.
7 * All rights reserved.
8 *

--- 3454 unchanged lines hidden (view full) ---

3463 if (nfs4_setup_sequence(NFS_SERVER(data->inode),
3464 &data->args.seq_args,
3465 &data->res.seq_res,
3466 task))
3467 return;
3468 rpc_call_start(task);
3469}
3470
1/*
2 * fs/nfs/nfs4proc.c
3 *
4 * Client-side procedure declarations for NFSv4.
5 *
6 * Copyright (c) 2002 The Regents of the University of Michigan.
7 * All rights reserved.
8 *

--- 3454 unchanged lines hidden (view full) ---

3463 if (nfs4_setup_sequence(NFS_SERVER(data->inode),
3464 &data->args.seq_args,
3465 &data->res.seq_res,
3466 task))
3467 return;
3468 rpc_call_start(task);
3469}
3470
3471static int nfs4_commit_done_cb(struct rpc_task *task, struct nfs_write_data *data)
3471static void nfs4_proc_commit_rpc_prepare(struct rpc_task *task, struct nfs_commit_data *data)
3472{
3472{
3473 if (nfs4_setup_sequence(NFS_SERVER(data->inode),
3474 &data->args.seq_args,
3475 &data->res.seq_res,
3476 task))
3477 return;
3478 rpc_call_start(task);
3479}
3480
3481static int nfs4_commit_done_cb(struct rpc_task *task, struct nfs_commit_data *data)
3482{
3473 struct inode *inode = data->inode;
3474
3475 if (nfs4_async_handle_error(task, NFS_SERVER(inode), NULL) == -EAGAIN) {
3476 rpc_restart_call_prepare(task);
3477 return -EAGAIN;
3478 }
3479 nfs_refresh_inode(inode, data->res.fattr);
3480 return 0;
3481}
3482
3483 struct inode *inode = data->inode;
3484
3485 if (nfs4_async_handle_error(task, NFS_SERVER(inode), NULL) == -EAGAIN) {
3486 rpc_restart_call_prepare(task);
3487 return -EAGAIN;
3488 }
3489 nfs_refresh_inode(inode, data->res.fattr);
3490 return 0;
3491}
3492
3483static int nfs4_commit_done(struct rpc_task *task, struct nfs_write_data *data)
3493static int nfs4_commit_done(struct rpc_task *task, struct nfs_commit_data *data)
3484{
3485 if (!nfs4_sequence_done(task, &data->res.seq_res))
3486 return -EAGAIN;
3494{
3495 if (!nfs4_sequence_done(task, &data->res.seq_res))
3496 return -EAGAIN;
3487 return data->write_done_cb(task, data);
3497 return data->commit_done_cb(task, data);
3488}
3489
3498}
3499
3490static void nfs4_proc_commit_setup(struct nfs_write_data *data, struct rpc_message *msg)
3500static void nfs4_proc_commit_setup(struct nfs_commit_data *data, struct rpc_message *msg)
3491{
3492 struct nfs_server *server = NFS_SERVER(data->inode);
3493
3494 if (data->lseg) {
3495 data->args.bitmask = NULL;
3496 data->res.fattr = NULL;
3497 } else
3498 data->args.bitmask = server->cache_consistency_bitmask;
3501{
3502 struct nfs_server *server = NFS_SERVER(data->inode);
3503
3504 if (data->lseg) {
3505 data->args.bitmask = NULL;
3506 data->res.fattr = NULL;
3507 } else
3508 data->args.bitmask = server->cache_consistency_bitmask;
3499 if (!data->write_done_cb)
3500 data->write_done_cb = nfs4_commit_done_cb;
3509 if (data->commit_done_cb == NULL)
3510 data->commit_done_cb = nfs4_commit_done_cb;
3501 data->res.server = server;
3502 msg->rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_COMMIT];
3503 nfs41_init_sequence(&data->args.seq_args, &data->res.seq_res, 1);
3504}
3505
3506struct nfs4_renewdata {
3507 struct nfs_client *client;
3508 unsigned long timestamp;

--- 3077 unchanged lines hidden (view full) ---

6586 .decode_dirent = nfs4_decode_dirent,
6587 .read_setup = nfs4_proc_read_setup,
6588 .read_rpc_prepare = nfs4_proc_read_rpc_prepare,
6589 .read_done = nfs4_read_done,
6590 .write_setup = nfs4_proc_write_setup,
6591 .write_rpc_prepare = nfs4_proc_write_rpc_prepare,
6592 .write_done = nfs4_write_done,
6593 .commit_setup = nfs4_proc_commit_setup,
3511 data->res.server = server;
3512 msg->rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_COMMIT];
3513 nfs41_init_sequence(&data->args.seq_args, &data->res.seq_res, 1);
3514}
3515
3516struct nfs4_renewdata {
3517 struct nfs_client *client;
3518 unsigned long timestamp;

--- 3077 unchanged lines hidden (view full) ---

6596 .decode_dirent = nfs4_decode_dirent,
6597 .read_setup = nfs4_proc_read_setup,
6598 .read_rpc_prepare = nfs4_proc_read_rpc_prepare,
6599 .read_done = nfs4_read_done,
6600 .write_setup = nfs4_proc_write_setup,
6601 .write_rpc_prepare = nfs4_proc_write_rpc_prepare,
6602 .write_done = nfs4_write_done,
6603 .commit_setup = nfs4_proc_commit_setup,
6604 .commit_rpc_prepare = nfs4_proc_commit_rpc_prepare,
6594 .commit_done = nfs4_commit_done,
6595 .lock = nfs4_proc_lock,
6596 .clear_acl_cache = nfs4_zap_acl_attr,
6597 .close_context = nfs4_close_context,
6598 .open_context = nfs4_atomic_open,
6599 .init_client = nfs4_init_client,
6600 .secinfo = nfs4_proc_secinfo,
6601};

--- 22 unchanged lines hidden ---
6605 .commit_done = nfs4_commit_done,
6606 .lock = nfs4_proc_lock,
6607 .clear_acl_cache = nfs4_zap_acl_attr,
6608 .close_context = nfs4_close_context,
6609 .open_context = nfs4_atomic_open,
6610 .init_client = nfs4_init_client,
6611 .secinfo = nfs4_proc_secinfo,
6612};

--- 22 unchanged lines hidden ---