On Fri, Jul 20, 2018 at 01:46:06PM -0700, Verma, Vishal L wrote:
On Thu, 2018-07-12 at 09:47 -0600, Keith Busch wrote:
This patch will find the max contiguous area to determine the largest pmem namespace size that can be created. If the requested size exceeds the largest available, ENOSPC error will be returned.
This fixes the allocation underrun error and wrong error return code that have otherwise been observed as the following kernel warning:
WARNING: CPU: <CPU> PID: <PID> at drivers/nvdimm/namespace_devs.c:913 size_store
Fixes: a1f3e4d6a0c3 ("libnvdimm, region: update nd_region_available_dpa() for multi-pmem support") Cc: stable@vger.kernel.org Signed-off-by: Keith Busch keith.busch@intel.com
Hi Keith,
I was testing these patches and I found:
When booting a VM which has both, a qemu ACPI.NFIT bus, and nfit_test buses, initially the nfit_test buses show correct max_available_extent. But the qemu ACPI.NFIT bus regions (which have an automatic full- capacity namespace created on them when they come up) show max_available_extent of the full region size, even as the available_size attr is zero.
The max extents only counts the free pmem that it can reserve. We shouldn't have been able to reserve non-free pmem, so it sounds like something must be wrong with how the resources were set up.
I'll make a similar qemu config and see why/if the resource was considered free.