From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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 C9956338581 for ; Thu, 20 Nov 2025 12:40:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642438; cv=none; b=at6hrbCCMsh2LHwBQpfo8jy1Va4LUs168npH8ogCj0MBGBrJ2+Vif0lrPv+EtnuR9vfQB/i0MWrw65WMYf2t3hdKbdq75QZIuXLmgeNTh474weixXruha5aB3JFFn9AvK/yzgy0lxgLQp0jBUDn9gOkCYQkJzOFQJO4K2ElM8oc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642438; c=relaxed/simple; bh=HJ5OfsjGZ9ETLVDt5fQgOFn/ljFMtNgamwgQcYv3XPM=; h=From:Date:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=iyGt2KinCcarkmTVpyGjFz0rzYj91cZS3le/SsWc5IIMpI94P6SFJmpTwaVOdMsp2pEc1O13W+5pDQBNW3x7IT8OgnXn3uxCdRlUjvtzk2Cgtg05mSyu5WM+yChwIjgksLmEV2LlTkKZSfZPsZ4oUTAg2a7wLSzE8h30enw7Kc8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KVFtQ7Sk; arc=none smtp.client-ip=209.85.167.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KVFtQ7Sk" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-5942b58ac81so560548e87.2 for ; Thu, 20 Nov 2025 04:40:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763642435; x=1764247235; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=Rj43N+4U1YLZGmJlvK9URuZROac32VOsSVNQ3r7b8ZQ=; b=KVFtQ7Sk+wdC1+yRtgSeZWT0l/gSlm2/eXg8YrGkaZuhn2IOkmvauGwoRyP8L3hVv2 00z5WAZpm0cC9gdXCM3f/2mvqDlMGtc5DQj/WeDWlRvp2u8HBOjkiJp+8VlR8lTZRgQ/ AxlaZPhDiDf3x2W5astBPP1248ysYgqInNnwW2ZddvDV/n9quW976UBV2XqvueuxyqH7 b/t/TJdilIKaG0ByuueVgik/Y+QSvXGYWFVmMarla6dylaQCgcsEW6FuDpY0zU9Wy3NZ zmYDF659uYFPjBUXQkWB/qUyNfg7d/Bo4W17Ir2iS5X4QWiHbrJIs/HhmG6fTQUdJMOf 9nZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763642435; x=1764247235; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Rj43N+4U1YLZGmJlvK9URuZROac32VOsSVNQ3r7b8ZQ=; b=wznQZ3RUFuPlSt9ZDVJzbCD+BdehsxyAXqAQI7/5beOT9VteGTDWJq0P5KnVt/6bmM Et1z0la8rRnzO8+BgPAgG4SrqbM1seyqF67z5ajXEbJ4H87EBtrwzI7EacB7/7QkNMfi n54XeyYiKwEdpFKNSOysRz6kjDjc48gUnsl696oKMCHL2rdQ4PFE9yfAjV6CMrOG1vpr c0Q/UkGyzRoVLTsqtR2dsAn6GISMz9865b2STTJjyQ82crdT0EzO8Lk59qMRnbWYA864 36kWYMbeBaMH2PaNhHtqkhmb8KdWXWIpcFZl8Jrw5+urhvDCfhYC0C9uH7MKxVTTXQyu 5cwg== X-Forwarded-Encrypted: i=1; AJvYcCV20j1yjoGMfJdBOGG3uJLCBn3FgorFmDQgHvDlPRdsp3d6jJVxkpQmweOyMwFveEXSSdb6EA4XCLzedZA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy2Ptpf6Ki2mVouFC3jzla4UTSeTFjLoyWdrgyXA2FOZdD0sswm qk5WhRuO48OzxAAlma+pCpN0Jsn6lfOw6FgiL2bItgY0IaprK2mgT8Qq X-Gm-Gg: ASbGncsvy7NruXdOYbQwZ1fSfsQFf3oHS1wPolwlurJLlctcE8ymglA4NMlvWGW2jMB xm4yWApaY5aLruCKwUS+R5SWOcyLh695ffcZ0ScjvnTS/BTd/r38vS/EZ0ebcaHEZ4uFdFTpbut 5mexUw2hquQK3Tk2EiqpascxJ1ct7JXYkfIlcuX/k9k1Yic5VVv0R/8Z9ExZX0idJ6MSZ+iE5Qi wc2QH+4ZtAmV1A3EOHb1lb2FqdloIiIUo5LGlZsiAWeOxSORv49sVVXKyWsduS56sCZInq0c1sL 8vqzO2K2LJqTaAYHB9AHaPQVm8i90kpN4CM4A8FM+ws5SvUZxEimy8mZOhckZVJS0Os+BZOLG4N pAIhMOmNjCyanugCIMVRDg4gUtgwsc82rhNRTBRz5H9TI0UpSTiI5WBuejfpJfACTdd228kZLxU /ngr0OYgCR5zr8C7DC3XAWqFj4oSwE26G0waPMnyzH X-Google-Smtp-Source: AGHT+IHBl6BFzjfisuiTZNzkpedRmFFPCvgI3f9anngAJjJ5eJ+Li9Mx8i1lt0x6h8rHLby/oMwb/A== X-Received: by 2002:a05:6512:3d8b:b0:595:7e96:a709 with SMTP id 2adb3069b0e04-5969e2d29efmr820562e87.10.1763642434649; Thu, 20 Nov 2025 04:40:34 -0800 (PST) Received: from pc636 (host-90-233-212-127.mobileonline.telia.com. [90.233.212.127]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5969db81b1dsm656473e87.23.2025.11.20.04.40.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Nov 2025 04:40:34 -0800 (PST) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Thu, 20 Nov 2025 13:40:32 +0100 To: Christoph Hellwig , Mikulas Patocka Cc: Christoph Hellwig , Mikulas Patocka , Benjamin Marzinski , Alasdair Kergon , DMML , Andrew Morton , Mike Snitzer , LKML Subject: Re: [RESEND PATCH] dm-ebs: Mark full buffer dirty even on partial write Message-ID: References: <20251117105945.10179-1-urezki@gmail.com> <73556fc8-5fbf-37cb-26b9-7cdb88f69720@redhat.com> <230baa83-cd79-f232-5fb8-1476115e1ae7@redhat.com> <20251119054635.GB19993@lst.de> <20251120062146.GA29990@lst.de> 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=us-ascii Content-Disposition: inline In-Reply-To: On Thu, Nov 20, 2025 at 01:08:57PM +0100, Uladzislau Rezki wrote: > On Thu, Nov 20, 2025 at 07:21:46AM +0100, Christoph Hellwig wrote: > > On Wed, Nov 19, 2025 at 06:26:13PM +0100, Mikulas Patocka wrote: > > > > > > > > > On Wed, 19 Nov 2025, Christoph Hellwig wrote: > > > > > > > On Tue, Nov 18, 2025 at 06:21:56PM +0100, Mikulas Patocka wrote: > > > > > OK - I accepted Uladzislau's patch. As logical block size and physical > > > > > block size seem to be unreliable, it's better to set the size in dm-ebs. > > > > > > > > logical and physical block size are reliable. Uladzislau just seems > > > > to have a completely broken device that needs fixing, because it will > > > > > > He created a qemu-emulated NVMe device with physical and logical block > > > size 8192 in a virtual machine. And logical block size was reported as 512 > > > in the guest kernel - so it is either a qemu bug or a kernel bug. > > > > No, that's not the case. If you use his command line you'll see a qemu > > device with 8192 logical blocks assuming you have support for large > > folios, or a completely unusuable device that claims to have 512 > > byte blocks for compatibility, but also a capacity of zero so that no > > one can use it for anything but passthrough. > > > > > in nvme_update_disk_info there is this piece of code: > > > if (blk_validate_block_size(bs)) { > > > bs = (1 << 9); > > > valid = false; > > > } > > > > Yes, that's what I mentioned above. The valid=false sets the capacity > > to zero, so you're not actually going to be able to use this device. > > > > > So, the valid block size depends on whether CONFIG_TRANSPARENT_HUGEPAGE is > > > defined, which is quite weird. > > > > And also the page size, and none of that is too weird. You need support > > efficiently allocating large order folios to support a > > block size > PAGE_SIZE and currently CONFIG_TRANSPARENT_HUGEPAGE is > > the guard for that. There was some talk of lifting that, but that > > requires a bit of work. > > > Could you please check below? Is the last one is correctly reported? > I have enabled the CONFIG_TRANSPARENT_HUGEPAGE option. If i specify, > 8192, 8192 first case, reports are what i set. Second variant 512, 8129 > shows 512, 512: > > CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y > CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y > CONFIG_TRANSPARENT_HUGEPAGE=y > CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y > # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set > # CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set > > -device nvme,drive=drv0,serial=foo,logical_block_size=8192,physical_block_size=8192 > urezki@pc638:~$ sudo nvme list > Node Generic SN Model Namespace Usage Format FW Rev > --------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- -------- > /dev/nvme0n1 /dev/ng0n1 foo QEMU NVMe Ctrl 1 8.49 GB / 8.49 GB 8 KiB + 0 B 10.0.6 > urezki@pc638:~$ sudo cat /sys/block/nvme0n1/queue/logical_block_size > 8192 > urezki@pc638:~$ sudo cat /sys/block/nvme0n1/queue/physical_block_size > 8192 > urezki@pc638:~$ > > > -device nvme,drive=drv0,serial=foo,logical_block_size=512,physical_block_size=8192 > urezki@pc638:~$ sudo nvme list > Node Generic SN Model Namespace Usage Format FW Rev > --------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- -------- > /dev/nvme0n1 /dev/ng0n1 foo QEMU NVMe Ctrl 1 8.49 GB / 8.49 GB 512 B + 0 B 10.0.6 > urezki@pc638:~$ sudo cat /sys/block/nvme0n1/queue/physical_block_size > 512 > urezki@pc638:~$ sudo cat /sys/block/nvme0n1/queue/logical_block_size > 512 > urezki@pc638:~$ > It might be that qemu changes this, i will check. Christoph, but i assume it is valid case: logical=512B, physical=8192K. Could you please confirm? Thanks! -- Uladzislau Rezki