From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80D2FC636CC for ; Wed, 8 Feb 2023 14:56:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1245D6B0073; Wed, 8 Feb 2023 09:56:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 05E056B0074; Wed, 8 Feb 2023 09:56:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DCB886B0075; Wed, 8 Feb 2023 09:56:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B3E7A6B0073 for ; Wed, 8 Feb 2023 09:56:17 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 02D0BC0DB7 for ; Wed, 8 Feb 2023 14:56:16 +0000 (UTC) X-FDA: 80444425194.20.1554F45 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf06.hostedemail.com (Postfix) with ESMTP id 3ED9A18001A for ; Wed, 8 Feb 2023 14:56:14 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="jFB+zuP/"; spf=none (imf06.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675868175; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=P8+rJcPo0Fi8EeQaL5ojtZrZIVY5GFF+sRbE8RbykGM=; b=LucbXlJThVaAc0dGzotNxOvEkLmVUoxfH7wRE53xb51Q/IjRTpf64oTutPTs92AJQYAgDB uLqGx5WID93+F+vOD3j+NEL5in6Oz/XU5MMcFSvVwwL3jhPxUuxFqu93aSVSJ+DPiETqHw IQo3+6jFuFmK8SIA4Nw8vBoQX64v6Oc= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="jFB+zuP/"; spf=none (imf06.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675868175; a=rsa-sha256; cv=none; b=ruRPu5++UhkzUeNpAdxVZAc3PtSWL2QlshEOVPJgxAvmUzScwWj+Jt7XXhmIXa+S4gsKnY FDWsWjp161CXhaXHsthwSLH8z028DL7vzTo7dt9jgjwSW/mleOaJjw09LDDb388L/9wCv8 JEa02NMzYkUoAr4dKoGuIGKP/CXn5lg= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=P8+rJcPo0Fi8EeQaL5ojtZrZIVY5GFF+sRbE8RbykGM=; b=jFB+zuP/GErfB3+KWN8VrM6GCP y+Lkp83XJ744+OM2jyf/Qmdrtb6ObhoSe5sdQ+wx0gN2/g9dJ/1iNRGIC31NbAAelMJpegYDswwC2 u00Br5wNVOIPD4wdppYg12n4rKId3hnSJkSRpVePG9OwbnprjAUTj4uc0vRBPp7DMo1YSkqa8GADu eTB2K1phkytHNMgtxFiic62PKkoHRKTGH42Gm8M1JR46xKpM3ePHkuI+uniHuVbMDdP/wam/IDHIA fqFRMYNRoqVaDElgoSphdworh2Wkncu6YZU9KsKaiqOBMahJxVDtIsOra++HVgxXHnJ9N+HSFlePj p8klytRw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pPlrp-001I3E-Ck; Wed, 08 Feb 2023 14:56:13 +0000 From: "Matthew Wilcox (Oracle)" To: linux-cifs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 1/2] cifs: Use a folio in cifs_page_mkwrite() Date: Wed, 8 Feb 2023 14:56:10 +0000 Message-Id: <20230208145611.307706-2-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230208145611.307706-1-willy@infradead.org> References: <20230208145611.307706-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 3ED9A18001A X-Rspam-User: X-Stat-Signature: osq7y7pn6amfj54u33dff3wfu8wuhd86 X-HE-Tag: 1675868174-109466 X-HE-Meta: U2FsdGVkX18YqfrUwVrUF1jwPFmvoI+nljJWFBzO3TarALSlUYWyI9pdZLEU4F9UJyhcBLXStZOL7zCM0HwsM3MtyG/RXbIv8CWrsqR4fqkyiOQLCRcD2YSKMXjxe8/WYCcnUXId6Dfx/j8KWMUEF6+BNp1lMcg0pk3pnciPVl03T7Z7hPh5r6IPcNU1VrGjj8URakgGkdPwLLlieURLoh3mlWeqzEG0qdlT5yPC1CkI0FqVW/9bC6TAVOKufIPZrA4gOjKos8v5wNwufi+KYHAQ9DjLNHiei0UpMiwXXfYSFyAo2QJsBYbrcXBgjPCd+J5ngNj2oMQCWfTiMq05mk1ykoXMrrM1D/zHzSpfvhi95qQtNGQ9HDpkr2MC+Was0REw0lB8ud+GKraIG3dpm7qy1z0LcSmtM26PouRT2tIqeSF1Ni00WNtWvOHhPRx8i7jMtgMFGv6o3wBqYtwoy6Om4PzMSuT474vTqd4WIuS8A0CwS/n+kQbLsJqQYVtv/xs6IlkO3PZHAFyEw4bMbbdMZqcZBvm5F33g7SkeHRZTjsF3NBzISBYSIVZ6xv6fGEkQ2h7+fXAAV2cns2rchA9B+sx/Hdo06CYGbW8FdZU6u1aYopE7I+LsIdPXaFze6C/2a26WDw301b9typNMuP++y/VCfoV0DHrmd0nxyLxYIQ8sZjMfGfVHTORjbxVyDPueGZVm3ldxo5/QfTo+ZTRoLfHD/NcGU3QDqhbkSmzgGueSTFtTeOrLVbs/BSYn0Px0liW6P9r3E2twLZyt1XoiYIeUfFHhz8TsWVtSD/MteFeP/lTIg9O78yl9Qp5a7ZgBMMouGTr4heXiwpyRR1TG/C4e8UYPCnIvWSvYkkeBzu6CPRFPpGKH+ndm4lEq6P86YoUI6/8xVk/sUsLDTOpdYRsFh5uHz34camrYUtx93fw3Q91M4UkS+TTPYgsb1BAO9vdny02C0gNrW0z U8plilM/ 6aPWlQZ55dIdWd3maazb0jLQyv35394/F/jfPfdArhjyOvWqSGZr1KBGqgDpkfATKP5sTBW+iDS1fEGMmhxLs+I7xOQPa/LZjChoq2z3ZqP4MDlPZzN0/BnYRMqQcVIlBENLjvXchcqddWX4q+H05pPVkRaNq8pPWsre8d3ef99vtkYLAin5lOkcl/BFHgUydLqn2/wlPQS/whvGQ1YNP0cfzLt9gFYehYcysBqbSQK74MAAj74gA75Dxkg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Avoids many calls to compound_head() and removes calls to various compat functions. Signed-off-by: Matthew Wilcox (Oracle) --- fs/cifs/file.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 5568a5f4bc5a..233ce38ab612 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -4516,23 +4516,22 @@ cifs_read(struct file *file, char *read_data, size_t read_size, loff_t *offset) * If the page is mmap'ed into a process' page tables, then we need to make * sure that it doesn't change while being written back. */ -static vm_fault_t -cifs_page_mkwrite(struct vm_fault *vmf) +static vm_fault_t cifs_page_mkwrite(struct vm_fault *vmf) { - struct page *page = vmf->page; + struct folio *folio = page_folio(vmf->page); - /* Wait for the page to be written to the cache before we allow it to - * be modified. We then assume the entire page will need writing back. + /* Wait for the folio to be written to the cache before we allow it to + * be modified. We then assume the entire folio will need writing back. */ #ifdef CONFIG_CIFS_FSCACHE - if (PageFsCache(page) && - wait_on_page_fscache_killable(page) < 0) + if (folio_test_fscache(folio) && + folio_wait_fscache_killable(folio) < 0) return VM_FAULT_RETRY; #endif - wait_on_page_writeback(page); + folio_wait_writeback(folio); - if (lock_page_killable(page) < 0) + if (folio_lock_killable(folio) < 0) return VM_FAULT_RETRY; return VM_FAULT_LOCKED; } -- 2.35.1