diff options
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r-- | fs/nfs/write.c | 12 |
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 | ||
1412 | static void nfs_commit_release(void *calldata) | 1412 | static 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 | |||
1450 | static 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 | } |