From patchwork Thu Feb 2 03:10:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Longlong Xia X-Patchwork-Id: 13125226 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 C5EB4C636D3 for ; Thu, 2 Feb 2023 03:12:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E9CE6B0075; Wed, 1 Feb 2023 22:12:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 572776B0078; Wed, 1 Feb 2023 22:12:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 413106B007B; Wed, 1 Feb 2023 22:12:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 32CC76B0075 for ; Wed, 1 Feb 2023 22:12:31 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 046C480363 for ; Thu, 2 Feb 2023 03:12:30 +0000 (UTC) X-FDA: 80420878902.26.7F0991F Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by imf23.hostedemail.com (Postfix) with ESMTP id A380A14000A for ; Thu, 2 Feb 2023 03:12:28 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=none; spf=pass (imf23.hostedemail.com: domain of xialonglong1@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=xialonglong1@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675307549; 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; bh=znlQkz01T07XUFYZDSHFhwE8Fn9kYmtXmiBcD3xoUUo=; b=GfEw6Fd9V5gaXmKMaxz7La08PdXXr9lKmsu77Ejan2o+fQ6lj2kSx0e0/ctJVAFrmKJFDu CXvDANSVNeX8sa3OueggUf0o9tpTldXpgjYj+mqZPyNlKwDW/ujWSnpdq78irdAqaanBI2 Y8dxYLcvVQeuBBCe2J3+cgEvpKMw4cM= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=none; spf=pass (imf23.hostedemail.com: domain of xialonglong1@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=xialonglong1@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675307549; a=rsa-sha256; cv=none; b=r7NoExymYk7/qWXdGpOCvadwYPnB137BD5Fo51ZQOgOXz87I2RtwjP4TSce3g/7o1J3xSr A9461O/7isaS0foP7VMZ6pJJlqAGV6Gnew0Jl8v1EvssQTrA3wA4XvitSn7UhQPhKo/H27 rmJ9S5hwVfL4R3zDMcoM8x9DG0bj6Os= Received: from kwepemm600003.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4P6kL85NvgzRrG2; Thu, 2 Feb 2023 11:10:08 +0800 (CST) Received: from localhost.localdomain (10.175.112.125) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 2 Feb 2023 11:12:22 +0800 From: Longlong Xia To: CC: , , , , Subject: [PATCH -next 2/3] devtmpfs: add debug info to handle() Date: Thu, 2 Feb 2023 03:10:45 +0000 Message-ID: <20230202031046.1224338-3-xialonglong1@huawei.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202031046.1224338-1-xialonglong1@huawei.com> References: <20230202031046.1224338-1-xialonglong1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.112.125] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemm600003.china.huawei.com (7.193.23.202) X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 36n4c3sfqb8o65mj1kjhc9dyyst1i7fw X-Rspamd-Queue-Id: A380A14000A X-HE-Tag: 1675307548-393124 X-HE-Meta: U2FsdGVkX1+ReJ9y/1baaZ6EcS88H4358UafM2n7UQCKaqcyVi+jpssiAiBmDOy05R9riA7o/1WVHRynOf2ED2ZqTQgOJHcMALJTTp9is23Ipu9lyv8D/NaVGgstBLACjohQQjXAAfAMn+PRbZV9j6+SeXZHVLMw3U+cNqbFKnTGjs5IrFOX2DHnlFXbg1aWypkM02o79ryvwKYKdW/Hx8eQ/Xp8ktW/AkE/xnVvnvWeFkluOyBxDRDW1pPujX+ir+par8PBeRaAJUCf4u1GoB5z8qoVfuaepze1eF2UVFsgIk4gyUpmM1CI+a5/Uf3925bVgI7DGR5QyLM/JF9wdlaPDIquHhMyhWnwiw3ojDbvxpRspPm1F8ZUs2Uxx8R4cvJPQjlQ2uukgwLkEuNn2qboy+jjPBugTjFwL1Zmk81DeO2d2vQlGuUDg1HQTp/G7lpO6IVgSlS9kwBLQX2P9ZsEpx2A2oGEFmfdJwa3Z35wYC3qGxy58IBKWcarblbP272/fY0o4bh6fzUOauEBKSBTI9K58QtOiAcyDebhdQkKTyx4DXaBoDG6x4c8BwjIQ+eVz4dX0/Nt77IK/SzQ/+vYqRUzJncZ5OpsvFsmxWrlOCjft06OUr4SZQO53mr7qCRZRojxF5vIQbEVkFCTHFuejh3LXCjKWJHm1MclMQExqr6sJQgaNMexlXY2zNy7pI6yRp7OW+YeODAWhFzQJR+zUZVGY6dqpbHAeGHfAR7cl6VOdR7lFdDShw6cMAN4/7vSkcgnuoa43+QhDSeG1MingES2u3rnslY8OkEYLNVo9BRJslTvmc06JjEcpfEd4PtWa+g58+Bxcs9wtFkllukx7aUH9E99gEe1wrY4GU57TqxUhqaUlixjBKNI2QPYfJBgEWFFElfPgq638rxYHtqMX6cr/nR95DhWW9p9uAZIVlbLloDQLC9y8PEjxK7jGQVJR8i9HoZBrXqa+R9 ZZsjG2PP uOFMi8YxOXJY1R87y70u2LCdD7NkcdlBgPNQuyXtDT2yLplJUvsy4+RyS6rujrBOcvkd6BgQ6AnNjo/MJXPTVp1vL+93z95G85++y6M7+68v4XSJSy8YoYbcQgAq3bg0sIlC7eXuGZjrI7suh4azSYxke8SBJkoGs8Se7 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: The devtmpfs_*_node() are used to mount/unmount devices to /dev, but their callers don't check their return value, so we don't know the reason for the failure. Let's add some debug info in handle() to help users know why failed. Signed-off-by: Longlong Xia --- drivers/base/devtmpfs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index ae72d4ba8547..77ca64f708ce 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -389,10 +389,18 @@ static __initdata DECLARE_COMPLETION(setup_done); static int handle(const char *name, umode_t mode, kuid_t uid, kgid_t gid, struct device *dev) { + int ret; + if (mode) - return handle_create(name, mode, uid, gid, dev); + ret = handle_create(name, mode, uid, gid, dev); else - return handle_remove(name, dev); + ret = handle_remove(name, dev); + + if (ret) + pr_err_ratelimited("failed to %s %s, ret = %d\n", + mode ? "create" : "remove", name, ret); + + return ret; } static void __noreturn devtmpfs_work_loop(void)