aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
authorFred Isaman <iisaman@netapp.com>2011-03-23 09:27:48 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-03-23 15:29:03 -0400
commit5917ce8440ba0b3f2adee613b5f1258ac5efff02 (patch)
tree39292e35e834db27bad2164ee5cab05082ecca2a /fs/nfs/write.c
parent64bfeb49bd1c2351a8415f7fe6b25eef208872a5 (diff)
NFSv4.1: pull out code from nfs_commit_release
Create a separate support function for later use by data server commit code. Signed-off-by: Fred Isaman <iisaman@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r--fs/nfs/write.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index dbc801810e75..f5f005e9db48 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1409,10 +1409,9 @@ static void nfs_commit_done(struct rpc_task *task, void *calldata)
1409 return; 1409 return;
1410} 1410}
1411 1411
1412static void nfs_commit_release(void *calldata) 1412static void nfs_commit_release_pages(struct nfs_write_data *data)
1413{ 1413{
1414 struct nfs_write_data *data = calldata; 1414 struct nfs_page *req;
1415 struct nfs_page *req;
1416 int status = data->task.tk_status; 1415 int status = data->task.tk_status;
1417 1416
1418 while (!list_empty(&data->pages)) { 1417 while (!list_empty(&data->pages)) {
@@ -1446,6 +1445,13 @@ static void nfs_commit_release(void *calldata)
1446 next: 1445 next:
1447 nfs_clear_page_tag_locked(req); 1446 nfs_clear_page_tag_locked(req);
1448 } 1447 }
1448}
1449
1450static void nfs_commit_release(void *calldata)
1451{
1452 struct nfs_write_data *data = calldata;
1453
1454 nfs_commit_release_pages(data);
1449 nfs_commit_clear_lock(NFS_I(data->inode)); 1455 nfs_commit_clear_lock(NFS_I(data->inode));
1450 nfs_commitdata_release(calldata); 1456 nfs_commitdata_release(calldata);
1451} 1457}