From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-00364e01.pphosted.com (mx0b-00364e01.pphosted.com [148.163.139.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A41FF377EA5 for ; Wed, 20 May 2026 20:50:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.139.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779310247; cv=none; b=ksYHZUa73eTEb4iDxP7T7UZV6QjlaNeFgyigb1KlrDmPOYCDRZtztxKzEHntZCYcRQM7CVtuKsvgQwfVCbhoUgeSCK7PS2Eit3nVdzd6+zwqaTeeCmdAWYJqAeeLiYrEYYAvuISf1f+LkyhQabpZcwltzivYx2NIAwIgb1ObXDo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779310247; c=relaxed/simple; bh=rA3ee1bVN85AK8Xbqqgod0QTROlaUP31hnwYXO5EEik=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o+XSYCIyBQdWK2MPEBBiF7NoV/nR9pCMCnyfvxYMpgBY0jONf4Yrz8lqScIJc8f744lcRoWCaoLUl8WPhdreDbJXKXDdDFS3gun0RnZzkofm24qSNUdAYoCK6W5/pooylOmLkBkPMqFPmQaXHIpdQucA9mIwI7aeOBVSPT7ChFU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=iHJauhNO; arc=none smtp.client-ip=148.163.139.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="iHJauhNO" Received: from pps.filterd (m0167077.ppops.net [127.0.0.1]) by mx0b-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64KKOQv31271403 for ; Wed, 20 May 2026 16:50:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=yDlB tkSZ/QVPh/7V2LuCLj7vDoerhrZrGeObhOfbEDE=; b=iHJauhNOQfQGuWQ9PBMd 9498doyET3MaIYPPH6gAxhnfTbaNfiN2HpEWnhfQQydxrwb9YLjAr0f4Hzz9oE/O fgZj57LX1AT6vGPBI4TBSadyl2n+Ha4Tz+b8UVbJXRMfLIBkIuY/Ve9fGyVT4co8 CWfypz/xg3x2wPetKTOGO0gbdH/nfd8bk8oUJYPlHyI8bnWD4jXB1S/B9q8XPwVg a/q7T59AHt1VqQQ1Jq/DCsxu26G8aGUFIr5qhSBAsd9ZVD/1vrojSd1jGW4Sf5ya FNIQdmkD5+yJCvLbmPd1L6c+MvkJlF6HEAnpWHT38ExeFCzYB0ApWQz8kBWW88CI Fg== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0b-00364e01.pphosted.com (PPS) with ESMTPS id 4e98j6wc8u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 20 May 2026 16:50:42 -0400 (EDT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-913fcc4c164so1255757685a.1 for ; Wed, 20 May 2026 13:50:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779310241; x=1779915041; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yDlBtkSZ/QVPh/7V2LuCLj7vDoerhrZrGeObhOfbEDE=; b=dTzWE6ShHIfT3+GnWXp0XzumkQVQCh7wpMqdL9oTnlMTTLzNCXtopXzLu19PRn2Tfi CqgAH8+i61F5/0OkQ9u8Dc4Ucby1+v25nuVi5sMJm+kDZFwQg9tlFv2NiHi+Vqa1v4bs 7HEevNqsUSPGgUFspqKkY0NzDz0/RW8HrtOASYOjce56sNcwO5XuM0bNcL1dButgnymZ hL6NFFfpqZcBdXRpYRqtjBtz0Hmg7B8xdRgiSV4MX0MoOJ8X7qX9pMvoEMxiv9OSJ293 LrR4wMqEG2wooDGhQ7ec3MLgno5HMqxVsCLNJJphTPAw31VGhythE4toVghTLPkclpgC luCA== X-Forwarded-Encrypted: i=1; AFNElJ/wg0hf0xw8kj9nO7wuy9HovwyZfWxe/wW3R7FUMgaM6x37zC5vj5bLrHWKa9PLYX0U68JpPdqa8RN8Cgg=@vger.kernel.org X-Gm-Message-State: AOJu0YwmwyZM6LBqWnrmeFR5eati7ATSUPXxxuHVv3mSCvKQ/7DDd1MW cXeUf86suYqFMk8MMYCWZAs5naPjgMXY7tTus/i8uB+zCCYFISbRA1MgNq9Cwxx7MfeInS8voew 0Bbr+clDWTSzdJkV/4mMr/Af8KGRp9kx80dVB+/ai8E+H+Y9dLXmACcggG+Uc4w== X-Gm-Gg: Acq92OFyL+IOC4DdGZOZbRfFI2ulZbJ9O79GaKAU3HbWMUaqa4vw3ZwrKnWOpGYOuH5 gXI+qiBZqV5/YxKMPiaFFJDkllGxFE6KDn0EUbpJiJE9Sfb2eggVme69ycpCblsebzjyJ6X6a1E 2XoSrw1tqQo6LEFO7I3JiPkQW+BJcaA95V5MnJDLixeHCURV/jJTxEM+nlPGYLQNgKrSudYK2Q5 aMelPgsxD57mrZego0xuW13QJsuf5TZzrVIkWVJalP1h1ZpakGRxnwVgMaU+c5PQWC9Zq++edJu tbvn3JanXww67976cxfytdcrEbyIKE75gy3re+ljq2o1T7NlJYei0X6ImSUxXprky02scu1lSL6 O1XIQrbINSJBMgKDo8asxIJ2pIlVg571dOlI3HJy1x/Eg6TXuhxvVGoDVMs+ytIjB+AZDcU0c5q 6Bfg== X-Received: by 2002:a05:620a:1986:b0:911:ed:d285 with SMTP id af79cd13be357-911cf9e0c41mr3857316185a.62.1779310241573; Wed, 20 May 2026 13:50:41 -0700 (PDT) X-Received: by 2002:a05:620a:1986:b0:911:ed:d285 with SMTP id af79cd13be357-911cf9e0c41mr3857309585a.62.1779310241059; Wed, 20 May 2026 13:50:41 -0700 (PDT) Received: from [127.0.1.1] (dyn-160-39-33-242.dyn.columbia.edu. [160.39.33.242]) by smtp.gmail.com with ESMTPSA id af79cd13be357-910bcf37274sm2232692085a.37.2026.05.20.13.50.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 13:50:40 -0700 (PDT) From: Tal Zussman Date: Wed, 20 May 2026 16:49:00 -0400 Subject: [PATCH RFC 09/11] fs: move dir_pages() from to Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260520-filemap-split-v1-9-c36ddc2b6cf2@columbia.edu> References: <20260520-filemap-split-v1-0-c36ddc2b6cf2@columbia.edu> In-Reply-To: <20260520-filemap-split-v1-0-c36ddc2b6cf2@columbia.edu> To: "Matthew Wilcox (Oracle)" , Jan Kara , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Alexander Viro , Christian Brauner , Jens Axboe Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, io-uring@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1779310229; l=1369; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=rA3ee1bVN85AK8Xbqqgod0QTROlaUP31hnwYXO5EEik=; b=DCkZp86sCfuyRVBmRVmURwps78q7smwQhnDSiFfY5HPBUU3kJlF0UIoGU21dz9wQUTuZXJkNF UGqHDG78m7UBDAclN2Kez4FnTKNYWYrHvBGgRUTdHLcho2GLQ+5jpkl X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDIwMyBTYWx0ZWRfXyFU9i8CPK+vy aHBlrq83X1fdfCR9pKulgl6UtvQHclL+2iaDl/mIg4DHrT1RbFDen1o9UkSv86fdj728VojHIbY qXRpb6JLo4lPSUgGvmuFqp4Z0GQpID7hsk3A0Qz9jew8vD/02ekOJzYDFR6e5rLzJ9N444OChnB MudDeO2+Sg02L/GxNCLr6r1xiXxNL8rQn0bFxy3wk79t87jBUgyPjJDTMSPC4RDRIyr6FwIio3A irXvPjda9jzwJNCytm6YLzLCWvoV/hcAZv2QPIf0aNKk1knhClUnTYS25z9V1JPEDv3PvXQkeb0 OskQ/6a4PWvfuR+aX0z4bih3OhPV0X60V5qZLqs/OYUpBLiFmwr/Fr29/mBd1WPpoAFKVXvavBl ew5QnA3IfG8cl3h4oe8WGo/iY3X92fvA6JOB74XsQRQFPlA/N3VBLEssFul1XWjUe0EWnpx0lv6 NQiiQyr6vnKRyThJf/g== X-Authority-Analysis: v=2.4 cv=TsDWQjXh c=1 sm=1 tr=0 ts=6a0e1ea2 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=GaPK54s0Se3oFqK5NkZy0g==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=QOCMdifcju39GKoXhKua:22 a=8LwvE8iKX1rSyJpzT4YA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: 4C9KsNmECyf3RsheoxFqDKZxoSnmX__I X-Proofpoint-ORIG-GUID: 4C9KsNmECyf3RsheoxFqDKZxoSnmX__I X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11792 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=10 suspectscore=0 phishscore=0 lowpriorityscore=10 adultscore=0 spamscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 bulkscore=10 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200203 This is an inode-based helper and should live with other inode helpers. Signed-off-by: Tal Zussman --- include/linux/fs.h | 6 ++++++ include/linux/pagemap.h | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index cd5088dfe9a1..776cc82932a7 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1171,6 +1171,12 @@ static inline void i_size_write(struct inode *inode, loff_t i_size) #endif } +static inline unsigned long dir_pages(const struct inode *inode) +{ + return (unsigned long)(inode->i_size + PAGE_SIZE - 1) >> + PAGE_SHIFT; +} + static inline unsigned iminor(const struct inode *inode) { return MINOR(inode->i_rdev); diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 84ccb682cca8..f86a550ad516 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -1356,12 +1356,6 @@ static inline size_t readahead_batch_length(const struct readahead_control *rac) return rac->_batch_count * PAGE_SIZE; } -static inline unsigned long dir_pages(const struct inode *inode) -{ - return (unsigned long)(inode->i_size + PAGE_SIZE - 1) >> - PAGE_SHIFT; -} - /** * folio_mkwrite_check_truncate - check if folio was truncated * @folio: the folio to check -- 2.39.5