Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 258f0603 authored by Pavel Shilovsky's avatar Pavel Shilovsky Committed by Steve French
Browse files

CIFS: Move unlocking pages from wdata_send_pages()



Currently wdata_send_pages() unlocks pages after sending.
This complicates further refactoring and doesn't align
with the function name. Move unlocking to writepages.

Signed-off-by: default avatarPavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent c7d38dbe
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -2080,8 +2080,7 @@ wdata_send_pages(struct TCP_Server_Info *server, struct cifs_writedata *wdata,
		 unsigned int nr_pages, struct address_space *mapping,
		 struct writeback_control *wbc)
{
	int rc = 0;
	unsigned int i;
	int rc;

	wdata->sync_mode = wbc->sync_mode;
	wdata->nr_pages = nr_pages;
@@ -2094,7 +2093,7 @@ wdata_send_pages(struct TCP_Server_Info *server, struct cifs_writedata *wdata,

	rc = adjust_credits(server, &wdata->credits, wdata->bytes);
	if (rc)
		goto send_pages_out;
		return rc;

	if (!wdata->cfile) {
		cifs_dbg(VFS, "No writable handle in writepages\n");
@@ -2108,10 +2107,6 @@ wdata_send_pages(struct TCP_Server_Info *server, struct cifs_writedata *wdata,
						       cifs_writedata_release);
	}

send_pages_out:
	for (i = 0; i < nr_pages; ++i)
		unlock_page(wdata->pages[i]);

	return rc;
}

@@ -2200,6 +2195,9 @@ static int cifs_writepages(struct address_space *mapping,

		rc = wdata_send_pages(server, wdata, nr_pages, mapping, wbc);

		for (i = 0; i < nr_pages; ++i)
			unlock_page(wdata->pages[i]);

		/* send failure -- clean up the mess */
		if (rc != 0) {
			add_credits_and_wake_if(server, &wdata->credits, 0);