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 --- |