[Cluster-devel] [PATCH v4 12/27] cifs: set mapping error when page writeback fails in writepage or launder_pages

Jan Kara <[email protected]>
Newsgroups com.redhat.cluster-devel,net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-block,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-cifs,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kernel.vger.linux-nilfs,org.kernel.vger.linux-xfs,org.kvack.linux-mm
Message-ID <[email protected]>
On Tue 09-05-17 11:49:15, Jeff Layton wrote:
> Signed-off-by: Jeff Layton <[email protected]>
> Reviewed-by: Christoph Hellwig <[email protected]>

Looks good to me. You can add:

Reviewed-by: Jan Kara <[email protected]>

								Honza

> ---
>  fs/cifs/file.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/cifs/file.c b/fs/cifs/file.c
> index 21d404535739..0bee7f8d91ad 100644
> --- a/fs/cifs/file.c
> +++ b/fs/cifs/file.c
> @@ -2234,14 +2234,16 @@ cifs_writepage_locked(struct page *page, struct writeback_control *wbc)
>  	set_page_writeback(page);
>  retry_write:
>  	rc = cifs_partialpagewrite(page, 0, PAGE_SIZE);
> -	if (rc == -EAGAIN && wbc->sync_mode == WB_SYNC_ALL)
> -		goto retry_write;
> -	else if (rc == -EAGAIN)
> +	if (rc == -EAGAIN) {
> +		if (wbc->sync_mode == WB_SYNC_ALL)
> +			goto retry_write;
>  		redirty_page_for_writepage(wbc, page);
> -	else if (rc != 0)
> +	} else if (rc != 0) {
>  		SetPageError(page);
> -	else
> +		mapping_set_error(page->mapping, rc);
> +	} else {
>  		SetPageUptodate(page);
> +	}
>  	end_page_writeback(page);
>  	put_page(page);
>  	free_xid(xid);
> -- 
> 2.9.3
> 
> 
-- 
Jan Kara <[email protected]>
SUSE Labs, CR
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.