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 94CC2CE79AA for ; Tue, 19 Sep 2023 21:41:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 279FA6B00DF; Tue, 19 Sep 2023 17:41:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 22A046B00E0; Tue, 19 Sep 2023 17:41:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 118F96B00E1; Tue, 19 Sep 2023 17:41:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 02B5C6B00DF for ; Tue, 19 Sep 2023 17:41:12 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D19C9B419F for ; Tue, 19 Sep 2023 21:41:11 +0000 (UTC) X-FDA: 81254667942.13.B07F50F Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf26.hostedemail.com (Postfix) with ESMTP id 0B78814001C for ; Tue, 19 Sep 2023 21:41:09 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=W6tIaulL; dmarc=none; spf=none (imf26.hostedemail.com: domain of rdunlap@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=rdunlap@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695159670; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+OICXMqXKe+Hn7aCZpgT9ykVO8ucUUmG7sDoNC+T+iA=; b=1/8DvHkkYGtnvZcNCi3qwPUWkN8I6BTOwjRcGXzimo/IaM54pA/zQwCGVRQVu0F/hlzGc2 JUITo5H2KvkRmnSoLICq3BhkHNnrrJ1Hwf4VYB/gncdKMx2k+z4J2oXsJaxfqBc/YB6w8z mr9CgfpMmYw0It22b2F3B38r3923MlE= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=W6tIaulL; dmarc=none; spf=none (imf26.hostedemail.com: domain of rdunlap@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=rdunlap@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695159670; a=rsa-sha256; cv=none; b=yiYlLK1N0nXVuKu9QeHahvJoIUTBZvRGF/QmTKzexc11C0DaGV0vf3PiyL//SGjO5yVBz/ ad9Ah9UsTtVCNeWV9C2Hn/ZeIe6h5gJ5xJGHcZVzQpkDJ7L7RDrvX8jBbuCx2kP29gD09I +K4+ZsILD+5es213wLNvBBGjGXK+Z3s= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Sender:Reply-To:Content-ID:Content-Description; bh=+OICXMqXKe+Hn7aCZpgT9ykVO8ucUUmG7sDoNC+T+iA=; b=W6tIaulLcdYUah2+pjrzozhkSc jWuuYdOLPUMmNzFfXBT+I7hkZPOyY6rf6at9ebH0zLZduinD2UKKJ7r8LJMvdz5h2oN47y1cYgADR Cy5omls3ZxcV42lz/HRa4coysfY48S3yN/96V01XioMLxEaQUG3c618Uepud7y8n7uyjRYrukzvCw zzLGh+EJPwxeJXnhKkF5GA39kFKRuUXeGJ8+CUEPNmtEBz53n7jBhv8FpKZjpxgMtWROsoo/I0oRt rLC9AjEsXKTvGD2HSbsREsC/21FmAqCcodKXL3Rt/HIlQaoYcbJ/Gui64ZedAJIS+NFSQzYRp7o8o b+/pnXkQ==; Received: from [2601:1c2:980:9ec0::9fed] by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1qiiSo-001IkI-1I; Tue, 19 Sep 2023 21:40:58 +0000 Message-ID: Date: Tue, 19 Sep 2023 14:40:55 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] pipe_fs_i.h: add pipe_buf_init() Content-Language: en-US To: Max Kellermann , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , Hugh Dickins Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org References: <20230919080707.1077426-1-max.kellermann@ionos.com> From: Randy Dunlap In-Reply-To: <20230919080707.1077426-1-max.kellermann@ionos.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0B78814001C X-Stat-Signature: mmgm4do4zm3xihnbtrwbmpqjyq4qsjay X-Rspam-User: X-HE-Tag: 1695159669-753214 X-HE-Meta: U2FsdGVkX1+LKj5jMp5/NknLr9Cbm1TQTxEacV49Vg+EMz7OUVKu4A9KofrB48tgeH4mP5u+Ln5k+XZhPlggx6ov8frpjodn4Gei7A+q1Zr1mpqmMJ6y0DNfY+C/L5dtU/XXnGAHzTg9y5zVONNj55Jl6PVnsy4wRqQctjF7GJ2xVjpLm5hTu6153eJACsrYGbGsCkTWC0+9uwbb1NBqrWeL9IlZaXE49gftFF3LyUwaktvl3iwz9ppzuozgS93DFjRAwveJS0mWBHgb+WlVmx0JfjYILWa8mBBEDsj/4wA8T/EDWLSY4jw3m//2RIUkbQ9MqbzWODdNN2dS6/z7Lu6ym7r9DP1mjL+lboYnbxR+MTTDOlmkMAsu0LdCZBwarDJtuC3/D6R/gydnA9rU1ihDwW56nHGebPLbdf6WoNo3cuGchEzVFtcv0tORfeebrKCSLIWvMc7xoFxiVsrb+vHznTChQIS5SAsDZ2PQmJDPFFg6w2TxBZf4QdpTePa4P59yCPoqIRpT0FUfQjsS4MEIWk9Ar5vlX95e4jFHvepMslirODkacSNfLAssz3cURAJNdVblKkmjJ50GVdSROJTMY6NbxcVCTEjrc2aosp6RMlPpSzeC7Id0v4ryV3yPYG29IKBy0qFUw6jC2306C8twqDwZFtvTnsHw/kfT8p2CTcptMs73GCN7+i0/IRriOFkFAaTYQRdqBTRRKC8wdLGTVMJYYAT6KZ9Vdd66OAls2IQsL0CXfAa56T60xZtv69MhQ2Z+24tynyBupoWrLnFgs5XFM6EEumqdwM/noaW6d8QpQUgc3ns5ehNPaiQ5nK1r6PyQdBtgrBN3auRUI9wJyK/ZhTvoHjw6X28RSow8vqBXKCX40f2OMaZxCfK1jnUVxHPrvN63CM0bLx9ofL92WNglw1RreiP17TyMvukiTvoVMZd5+FstWYtV+3XeWfXmXrO4do9rEOZdASy FNpVdBox AUvFUEFmxCnZ2suDXRvfXYCW3p1TI2o1mFGSVlMejHwMdixFTuRB6yr5Lou975Iln597hYRdQf3xmMhkx/r1X0wDOLUkJDq76B1PrmqviCdUQOxXctnqNh3ZIFVr+SqKImII1BASnIgZJgspkJy9kSSqK2CP0VHvmy2Ia9jYMMblamOJd60KvXgutcinFAjIw6QUvO/QXWVVMplftBcl/H6BmhUEar/yhzFNXZadZG8NH7sWtKxdF5vPdnimXIL5MlHyCziWUibzzm4a0t0B4jYgnS2QbvjscNNjOVNIEuTr5Y1B2Lg7jLCP5kbyg+Z4Khnp6Rgxh8p0nbVT6wb+EQO9ZRQ== 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: Hi-- On 9/19/23 01:07, Max Kellermann wrote: > Adds one central function which shall be used to initialize a newly > allocated struct pipe_buffer. This shall make the pipe code more > robust for the next time the pipe_buffer struct gets modified, to > avoid leaving new members uninitialized. Instead, adding new members > should also add a new pipe_buf_init() parameter, which causes > compile-time errors in call sites that were not adapted. > > This commit doesn't refactor fs/fuse/dev.c because this code looks > obscure to me; it initializes pipe_buffers incrementally through a > variety of functions, too complicated for me to understand. > > Signed-off-by: Max Kellermann > --- > fs/pipe.c | 9 +++------ > fs/splice.c | 9 ++++----- > include/linux/pipe_fs_i.h | 20 ++++++++++++++++++++ > kernel/watch_queue.c | 8 +++----- > mm/filemap.c | 8 ++------ > mm/shmem.c | 9 +++------ > 6 files changed, 35 insertions(+), 28 deletions(-) > > diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h > index 608a9eb86bff..2ef2bb218641 100644 > --- a/include/linux/pipe_fs_i.h > +++ b/include/linux/pipe_fs_i.h > @@ -176,6 +176,26 @@ static inline struct pipe_buffer *pipe_head_buf(const struct pipe_inode_info *pi > return pipe_buf(pipe, pipe->head); > } > > +/** > + * Initialize a struct pipe_buffer. > + */ That's not a kernel-doc comment so don't begin it with /**. Just use /* instead. Thanks. > +static inline void pipe_buf_init(struct pipe_buffer *buf, > + struct page *page, > + unsigned int offset, unsigned int len, > + const struct pipe_buf_operations *ops, > + unsigned int flags) > +{ > + buf->page = page; > + buf->offset = offset; > + buf->len = len; > + buf->ops = ops; > + buf->flags = flags; > + > + /* not initializing the "private" member because it is only > + used by pipe_buf_operations which inject it via struct > + partial_page / struct splice_pipe_desc */ > +} > + > /** > * pipe_buf_get - get a reference to a pipe_buffer > * @pipe: the pipe that the buffer belongs to -- ~Randy