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 BA7C2C7EE26 for ; Fri, 19 May 2023 16:47:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2519F900004; Fri, 19 May 2023 12:47:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 202BF900003; Fri, 19 May 2023 12:47:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C9E1900004; Fri, 19 May 2023 12:47:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E51AF900003 for ; Fri, 19 May 2023 12:47:13 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 9D221ADE75 for ; Fri, 19 May 2023 16:47:13 +0000 (UTC) X-FDA: 80807584746.05.29ED73D Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf06.hostedemail.com (Postfix) with ESMTP id 625B1180008 for ; Fri, 19 May 2023 16:47:11 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MK8SukoO; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf06.hostedemail.com: domain of dhowells@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684514831; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kGTp4YSqe8PMCEMeYpjLy5orX2bqNMMdtWu7X7iaM3w=; b=q6y3DVb8dTbNN+QhJoQtXC/Wx9BRMDBAXJPRTzhHDWfcaXCjJBgoxc0gxiYRcJzdPF4iR4 l9rQwjjyOIiM/XGP6bleX5qVhRRjso23K/qn3bVNilnf1FJip3bOBO8HYWAtFEtvNAwkFL y3HjTW0XFrg6qOQgwnLZIlkMWi6Dg1M= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MK8SukoO; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf06.hostedemail.com: domain of dhowells@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684514831; a=rsa-sha256; cv=none; b=du3dbOrz/eagK3HOum4eP67dOdSRcplj4UyVIa6l51oyqAbTIzIAPpwqxsTHdbvG42przh v6xYLu5wBYL7nXKoQ09O2y5ziouTgtGLIoaA7+N2o5qza5CTnM3cxiTBb7zJT5ZEOVUIZj LlQWv6IAvs3VcVnqvVQ9cXaUbHc1njY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684514830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=kGTp4YSqe8PMCEMeYpjLy5orX2bqNMMdtWu7X7iaM3w=; b=MK8SukoO3UiyZFTtlnQ8TDERnWS6Nm9FlZ+25m3seWGNuKzjVpjoPrVolX4cJeBqRMgXUb rUvyLapjxwLv3GoaKRiiDvPwPfYClVe4/WXPhH6Dk4lupWVpqdxbJ2xowpsfd35pnqHAor /61y6UGaVUxCN7ijgbxNOv6C7CogGgU= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-562-qFD4N4mXO-uljX8bPPuivw-1; Fri, 19 May 2023 12:47:07 -0400 X-MC-Unique: qFD4N4mXO-uljX8bPPuivw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 769E6101A585; Fri, 19 May 2023 16:47:06 +0000 (UTC) Received: from warthog.procyon.org.uk (unknown [10.42.28.221]) by smtp.corp.redhat.com (Postfix) with ESMTP id CD76B2166B25; Fri, 19 May 2023 16:47:03 +0000 (UTC) Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 From: David Howells In-Reply-To: References: <20230519074047.1739879-1-dhowells@redhat.com> <20230519074047.1739879-4-dhowells@redhat.com> To: Linus Torvalds Cc: dhowells@redhat.com, Jens Axboe , Al Viro , Christoph Hellwig , Matthew Wilcox , Jan Kara , Jeff Layton , David Hildenbrand , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Christoph Hellwig Subject: Re: [PATCH v20 03/32] splice: Make direct_read_splice() limit to eof where appropriate MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1845767.1684514823.1@warthog.procyon.org.uk> Date: Fri, 19 May 2023 17:47:03 +0100 Message-ID: <1845768.1684514823@warthog.procyon.org.uk> X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 625B1180008 X-Stat-Signature: 4ad9scd3orbpxnttqafs14b1oibmsrjh X-Rspam-User: X-HE-Tag: 1684514831-814075 X-HE-Meta: U2FsdGVkX1+BDl1ehNP6uY3WAayChg6N+IH3NHdedwbi44eic92eiS8a5HJ9jcXlqDkqqvWwy2Rr/Ye4PxdA7tBFofp+tim+2QXymYfbib8bs3P1/urQplJ78GQG5HDvTy+OQSdvt4Gfu7dhSHIXWIaloZ3Jqu+AZ9/4gp41/9zIvQNMdHVpl4e7r1TFilNZ9xUmyAgTIk6gZVVxJ922BivWbuHhqeo4yOeSSigh+LUhxlQhUdKbK8Hl7/TZtkqOknyspPhqxXtsRw6zXT9Luzux+8NTrbBnNnfD3Ce6EjgQnrPcyfFCvIWXSNIxEH3epL6i81I6LiI88HHg/SPP8DorOAgzrXIpP53a+L73y44ckZqLW2yxv5Jf8nj3mXfk/3FigUTljdwBKAfvRAXPRbO0ktR66woxJAwS92248lbSfhps+263cEwqoKz/hEGjYvQwN5JHBcSwiYrvoYDws8fUM36hF87R8OIU/bc1nZlrEmSAbmBVpMjV79Cy4+2uRlJYkIUmhD2XQf/W6PmfLXtQ7dLMnsH0FU3cSxAqbJZ7RaeV/jNpbXD2Ulrf1wIY+Kkxtw1RU7qqpVDULKAqhzVs0ZYH9+xathJKs32nhIhuIBNxOJB+F1MLB5y3WtS6xnKG/mw914soeb//weKNbck3n8/V8V5lC0Lcfwpyt25vT/PWaCkhib7RgKmviNat7jdlOIuicQRPiP1gwxMFM1kzQdmmPTT03v5WLU4hN6nzQzUeT8qCn4ZJiJdfD6520/Cu8KMGE96rFHXe0iH4XFjqiOQbrUxmuHxh83g+uRIHg4kle0fhQEfms5SRBMJQCwtptgDDyj/1BUW3OiTgAPFDMjTtm5o89E6JyBwYzOMgFDcdAwlk/2WYN2cQi6kPWjOnBX2OIpRcijbaQxL1byZv9FYjz6J0LLigP0nF+BOAuiYAia8k8hevdwznt7ebnqJl5tOdB3fD7nNu3f0 93FV8Evr L+pObtb8WsmMnHLpo83V1i3quQy48Ev5hcg49PI5XjX7f/JTDSXXR1ajzbcXUmBTXsUOd/JVTRLHTMot4mEjdGb2/63qPS0PyA41ciUhPceFCtxLF03jHtzoX05EZ+LGPE+iI3j7S1yUpXIHGEuZmYF5dc/mQpok/I7VoKGvQBCisFKREqyOm98cBi13EgbpVKENsBcxfpi/32lyWBNLJQWeuZS5U1HpqqracRG7GJ8Zuvnu45nHE2QznllwRCjB1z+r6W0yhIl7TCUs= 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: Linus Torvalds wrote: > > + if (S_ISREG(file_inode(in)->i_mode) || > > + S_ISBLK(file_inode(in)->i_mode)) { > > This really feels fundamentally wrong to me. > > If block and regular files have this limit, they should have their own > splice_read() function that implements that limit. > > Not make everybody else check it. > > IOW, this should be a separate function ("block_splice_read()" or > whatever), not inside a generic function that other users use. This is just an optimisation to cut down the amount of bufferage allocated, so I could just drop it and leave it to userspace for now as the filesystem/block layer will stop anyway if it hits the EOF. Christoph would prefer that I call direct_splice_read() from generic_file_splice_read() in all O_DIRECT cases, if that's fine with you. David