From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FEDC321F5F for ; Tue, 30 Jun 2026 22:14:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782857684; cv=none; b=tO+g8lhnT0A6IQlZM0ss2lPoymTvrZ78AXd5FyflUUgTtBHVW3f4P+guP8O6dKyYFFNr3MA+Yu27wLJ9sda7ci98CkEd+qmm6Dt+bVhISVOuvt/WBTvlTj0bMq0fTeTANS5gKziAFkJ5FEGEMF52CWBzBiWmuWqnjG8ClDX2hxg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782857684; c=relaxed/simple; bh=OHho8xisLBkXPsux52lTSAnNEXH9FZ3N849yTj8opFU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=hWfAiGlVTl+rFWGV5/9GwufYV/mSB0Ag5v6Bd98qV9a5ZKSmE9YE4wPegMfFzfh3g1kVTTpUt6HMTkuePLgbEOXvjCtrE2ws9GCo+3Ijqo3tQIzZWnuyH5kcutbWv1WcmOVfqmV+7zdsDS5wnoVCtoil2YLseIhmIkEcUIoAJk8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gourry.net; spf=pass smtp.mailfrom=gourry.net; dkim=pass (2048-bit key) header.d=gourry.net header.i=@gourry.net header.b=iJuRD3X5; arc=none smtp.client-ip=209.85.222.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gourry.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gourry.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gourry.net header.i=@gourry.net header.b="iJuRD3X5" Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-92e67555e24so106917585a.3 for ; Tue, 30 Jun 2026 15:14:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1782857681; x=1783462481; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Zvvq7XwN+0vU39EaqWqw5+H08MVeyEUcwD3F1pdYD7Y=; b=iJuRD3X5LQ9ohMnkNlThLBpo+UQ9qaC0RrFMo9qr3Kmk4KwTm4/WYQOHwCwAJ52nlx 8tkMbRNtk/jB0fGP7+MMlzX+g22mriw3rAFTh/AR5j3U7aY6Bi2a7EGE5VxoetPTLfU5 1vhZcPsiMO/cGhW5krAdqO3TN4vs7dmncABS9OI4weB9/202nDHDJ86tF1Njr4sPARQv Bf1k6bml2tBVGk/df9rPXOuDywaIk8j7U8/JtX/Ymf8biiCxFBe0KP274D9Su/ZQ9OPF 8PEA+2gVslEOmg5e1PvmQX3rK9CLX1PSV94fxD5Wg5iA7ze+T4Sn0S0MKssgyTkhJjXf irKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782857681; x=1783462481; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zvvq7XwN+0vU39EaqWqw5+H08MVeyEUcwD3F1pdYD7Y=; b=MmAlw7hSEZk70wncPBzi68gNqvEXBfIAwV2NEjxYMQ9DWHDDWg8tHJXpoUXs0BKFPK OIXuDUZwU0ER8ClKE5l8PVaL7lWKYeMHj914ZIrzEsiMR4Iyzyft/5IPxpOJeMACKrVA aFFQHCh7kiQ9UNzQO1SCpnjSU260X1K3Hlrxc8vZ0hefYIWeJf740OoDfO0hjicXA080 9rNoAmVVh0rCSBrLjiKilhOOZENqYtrYB5VPjOFju1SuyTpJBl8r4QzD6WEScR70Hf+u Wa0WrkLrjXm6GgucGa5WhGV5L0uo1nLKpFDT/bYeL80oND2bwF3bA4rCjCn2Tf4GrrPy 5wiw== X-Forwarded-Encrypted: i=1; AFNElJ8nffx//ykhEjIfcfVmYsxTD4bS8wrs93Y5Lmk9saF+7MF6aR1s2t+ADHKNdhyRPnd/jMgeOJ/ym7WFUIg=@vger.kernel.org X-Gm-Message-State: AOJu0YyABBG21NAef39f2sbEjZUa7jSOXonKEkSz9owsRsoLyKsGEdID 4g4aPIN1SKB508Ci9KG4+AOYyfhGuFLkMi9kYfaINJniXg5EeBx63yzDfLggDxylgFw= X-Gm-Gg: AfdE7cnYQ4HyAkyeOizLX08aCq7vLHmLvuUi8yfLDkupdwuDNHcHF98HAxcgy7TwrV+ frJK6jn6w4GbUqElkFAwKs/qXJjFDbVqdF2FAQkfFAx8hKzQejbYa3qV0TSoT7bSI2X2tBsY2rg LnsLcUHfCEfLgcuqB0jcpEq/u2yZHhBBQQ/9qu1XTUEyY0BA5lO9sHdeTh1ro1J1gKnodrp96XG 2/nS8r3U8+w+td5v2mhKZNDxDNmMOurha63IM3dOPn1Yx4OtE8VmPSpm6KgMoGfs+ZcMHyk2fJj kbOrDkw2DWnG2kwOLGgcCnHCVGtOWsYzHZ7DqJ2pTQttW0JqrPB6m6aWAKxJft89b//S+h10Jzf xDyoqTRqOsPy3nQX9/ps5Wz6Rqgy9stWRe/GciffwkN2nPPuIwUcljZk/TrMknqDG+8tPXwmmuv E+uAZlrdIwdNQyzVqww7ZmRy1wG5tyiGw6s7hVt0mdl6nGydltd1ZtJEV/xMbpM/s+ewvGdjZzj rvO/70= X-Received: by 2002:a05:620a:6cc6:b0:915:b852:4361 with SMTP id af79cd13be357-92e624e3088mr975087285a.20.1782857681333; Tue, 30 Jun 2026 15:14:41 -0700 (PDT) Received: from gourry-fedora-PF4VCD3F (pool-173-79-60-52.washdc.fios.verizon.net. [173.79.60.52]) by smtp.gmail.com with ESMTPSA id af79cd13be357-92e6213b953sm346810685a.2.2026.06.30.15.14.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 15:14:40 -0700 (PDT) Date: Tue, 30 Jun 2026 18:14:30 -0400 From: Gregory Price To: linux-mm@kvack.org Cc: nvdimm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-cxl@vger.kernel.org, driver-core@lists.linux.dev, linux-kselftest@vger.kernel.org, kernel-team@meta.com, david@kernel.org, osalvador@suse.de, gregkh@linuxfoundation.org, rafael@kernel.org, dakr@kernel.org, djbw@kernel.org, vishal.l.verma@intel.com, dave.jiang@intel.com, alison.schofield@intel.com, akpm@linux-foundation.org, ljs@kernel.org, liam@infradead.org, vbabka@kernel.org, rppt@kernel.org, surenb@google.com, mhocko@suse.com, shuah@kernel.org, iweiny@kernel.org, Smita.KoralahalliChannabasappa@amd.com, apopple@nvidia.com, Hannes Reinecke Subject: Re: [PATCH v6 09/10] dax/kmem: add sysfs interface for atomic whole-device hotplug Message-ID: References: <20260630211842.2252800-1-gourry@gourry.net> <20260630211842.2252800-10-gourry@gourry.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Ha7M+e+kLoFbO4pS" Content-Disposition: inline In-Reply-To: <20260630211842.2252800-10-gourry@gourry.net> --Ha7M+e+kLoFbO4pS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Jun 30, 2026 at 05:18:41PM -0400, Gregory Price wrote: > There is no atomic mechanism to offline and remove an entire > multi-block DAX kmem device. This is presently done in two steps: ... snip snip snip ... Sashiko pointed out a false-positive, but adding a fixup patch here that adds additional consistency. On total failure - release all resources. This makes the sysfs interface consistent with the probe failure path. Just attaching a fixup here, since technically it's not a bug, could fold in separately ~Gregory --Ha7M+e+kLoFbO4pS Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=0001-fixup-dax-kmem-add-sysfs-interface-for-atomic-whole-.patch >From e341860c83fd5d5e8549d8adbf71a484c8990c5f Mon Sep 17 00:00:00 2001 From: Gregory Price Date: Tue, 30 Jun 2026 14:49:06 -0700 Subject: [PATCH] fixup! dax/kmem: add sysfs interface for atomic whole-device hotplug --- drivers/dax/kmem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/dax/kmem.c b/drivers/dax/kmem.c index 19effe0da3dc..f597d8a99c1f 100644 --- a/drivers/dax/kmem.c +++ b/drivers/dax/kmem.c @@ -380,8 +380,11 @@ static ssize_t state_store(struct device *dev, struct device_attribute *attr, return rc; rc = dax_kmem_do_hotplug(dev_dax, data, online_type); - if (rc < 0) + if (rc < 0) { + /* Total failure, drop the reservations we took. */ + dax_kmem_cleanup_resources(dev_dax, data); return rc; + } data->state = online_type; return len; -- 2.53.0-Meta --Ha7M+e+kLoFbO4pS--