On Tue, Mar 18, 2025 at 07:56:03AM +0100, Christoph Hellwig wrote:
> On Mon, Mar 17, 2025 at 12:45:07AM -0400, Benjamin Marzinski wrote:
> > A future device-mapper patch will make use of this new argument. No
> > functional changes intended in this patch.
>
> If you care about the old limits just
On Tue, 18 Mar 2025, Bart Van Assche wrote:
> On 3/18/25 7:26 AM, Mikulas Patocka wrote:
> > The block limits may be read while they are being modified. The statement
> > "q->limits = *lim" is not really atomic. The compiler may turn it into
> > memcpy (clang does).
>
> Which code reads block
On Tue, Mar 18, 2025 at 03:26:10PM +0100, Mikulas Patocka wrote:
> The block limits may be read while they are being modified. The statement
It is supposed to not be so for IO path, that is why queue is usually down
or frozen when updating limit.
For other cases, limit lock can be held for sync t
From: Zhang Yi
Add fsx to suppoet fallocate FALLOC_FL_WRITE_ZEROES command by
introducing OP_WRITE_ZEROES operation.
Signed-off-by: Zhang Yi
---
ltp/fsx.c | 80 +++
1 file changed, 80 insertions(+)
diff --git a/ltp/fsx.c b/ltp/fsx.c
index 41
On 3/18/25 7:26 AM, Mikulas Patocka wrote:
The block limits may be read while they are being modified. The statement
"q->limits = *lim" is not really atomic. The compiler may turn it into
memcpy (clang does).
Which code reads block limits while these are being updated? This should
be mentioned
On Mon, Mar 17, 2025 at 12:45:09AM -0400, Benjamin Marzinski wrote:
> __bind(). Otherwise the zone resources could change while accessing
> them. Finally, it is possible that md->zone_revalidate_map will change
> while calling this function. Only read it once, so that we are always
> using the same
From: Zhang Yi
With the development of flash-based storage devices, we can quickly
write zeros to SSDs using the WRITE_ZERO command if the devices do not
actually write physical zeroes to the media. Therefore, we can use this
command to quickly preallocate a real all-zero file with written
extent
From: Zhang Yi
Test the fallocate FALLOC_FL_WRITE_ZEROES command on a block device,
including unsupported flags.
Signed-off-by: Zhang Yi
---
tests/generic/766 | 80 +++
tests/generic/766.out | 23 +
2 files changed, 103 insertions(+)
cre
From: Zhang Yi
When the device supports the Write Zeroes command and the DEAC bit, it
indicates that the deallocate bit in the Write Zeroes command is
supported, and the bytes read from a deallocated logical block are
zeroes. This means the device supports unmap Write Zeroes, so set the
BLK_FEAT_
From: Zhang Yi
When the device supports the Write Zeroes command and the zeroing mode
is set to SD_ZERO_WS16_UNMAP or SD_ZERO_WS10_UNMAP, this means that the
device supports unmap Write Zeroes, so set the corresponding
BLK_FEAT_WRITE_ZEROES_UNMAP feature to the device's queue limit.
Signed-off-b
From: Zhang Yi
Set the BLK_FEAT_WRITE_ZEROES_UNMAP feature on stacking queue limits by
default. This feature shall be disabled if any underlying device does
not support it.
Signed-off-by: Zhang Yi
---
drivers/md/dm-table.c | 7 +--
drivers/md/dm.c | 1 +
2 files changed, 6 insertions
From: Zhang Yi
Add support for FALLOC_FL_WRITE_ZEROES. This first allocates blocks as
unwritten, then issues a zero command outside of the running journal
handle, and finally converts them to a written state.
Signed-off-by: Zhang Yi
---
fs/ext4/extents.c | 59
From: Zhang Yi
Add support for FALLOC_FL_WRITE_ZEROES. It directly calls
blkdev_issue_zeroout() with flags set to 0. The underlying process will
attempt to use the fastest method for issuing zeroes. First, the block
layer will try to issue a write zeroes command if the storage device
supports it;
From: Zhang Yi
Only the flags passed to blkdev_issue_zeroout() differ among the three
zeroing branches in blkdev_fallocate(). Therefore, do cleanup by
factoring them out.
Signed-off-by: Zhang Yi
---
block/fops.c | 40 +++-
1 file changed, 15 insertions(+), 2
From: Zhang Yi
Add fstress to suppoet fallocate FALLOC_FL_WRITE_ZEROES command by
introducing OP_WZERO operation.
Signed-off-by: Zhang Yi
---
ltp/fsstress.c | 12
src/global.h | 4
2 files changed, 16 insertions(+)
diff --git a/ltp/fsstress.c b/ltp/fsstress.c
index 3d248e
On Tue, Mar 18, 2025 at 03:27:48PM +1100, Dave Chinner wrote:
> Yes, NOWAIT may then add an incremental performance improvement on
> top for optimal layout cases, but I'm still not yet convinced that
> it is a generally applicable loop device optimisation that everyone
> wants to always enable due
From: Zhang Yi
Set the BLK_FEAT_WRITE_ZEROES_UNMAP feature while creating multipath
stacking queue limits by default. This feature shall be disabled if any
attached namespace does not support it.
Signed-off-by: Zhang Yi
---
drivers/nvme/host/multipath.c | 3 ++-
1 file changed, 2 insertions(+)
From: Zhang Yi
Currently, disks primarily implement the write zeroes command (aka
REQ_OP_WRITE_ZEROES) through two mechanisms: the first involves
physically writing zeros to the disk media (e.g., HDDs), while the
second performs an unmap operation on the logical blocks, effectively
putting them i
From: Zhang Yi
The Linux kernel is planning to support FALLOC_FL_WRITE_ZEROES in
fallocate(2). Add FALLOC_FL_ZERO_RANGE support to fallocate utility by
introducing a new 'fwzero' command to xfs_io.
Signed-off-by: Zhang Yi
---
io/prealloc.c | 36
man/man
From: Zhang Yi
Test block device unmap write zeroes sysfs interface with NVMeT devices
which are based on various SCSI debug devices. The
/sys/block//queue/write_zeroes_unmap interface should return 1 if
the NVMeT devices support the unmap write zeroes command, and it should
return 0 otherwise.
From: Zhang Yi
Test block device unmap write zeroes sysfs interface with various SCSI
debug devices. The /sys/block//queue/write_zeroes_unmap interface
should return 1 if the SCSI device enable the WRITE SAME command with
unmap functionality, and it should return 0 otherwise.
Signed-off-by: Zhan
From: Zhang Yi
The Linux kernel is planning to support FALLOC_FL_WRITE_ZEROES in
fallocate(2). Add tests for the newly added BLK_FEAT_WRITE_ZEROES_UNMAP
feature flag on the block device queue limit. These tests test block
device unmap write zeroes sysfs interface
/sys/block//queue/write_
From: Zhang Yi
The Linux kernel is planning to supports FALLOC_FL_WRITE_ZEROES in
fallocate(2). Add FALLOC_FL_ZERO_RANGE support to fallocate utility by
introducing a new option -w|--write-zeroes.
Signed-off-by: Zhang Yi
---
sys-utils/fallocate.1.adoc | 11 +--
sys-utils/fallocate.c
On 3/19/25 7:10 AM, Benjamin Marzinski wrote:
> On Tue, Mar 18, 2025 at 07:57:21AM +0100, Christoph Hellwig wrote:
>> On Mon, Mar 17, 2025 at 12:45:09AM -0400, Benjamin Marzinski wrote:
>>> __bind(). Otherwise the zone resources could change while accessing
>>> them. Finally, it is possible that md
On Tue, 18 Mar 2025, Ming Lei wrote:
> On Tue, Mar 18, 2025 at 03:26:10PM +0100, Mikulas Patocka wrote:
> > The block limits may be read while they are being modified. The statement
>
> It is supposed to not be so for IO path, that is why queue is usually down
> or frozen when updating limit.
The block limits may be read while they are being modified. The statement
"q->limits = *lim" is not really atomic. The compiler may turn it into
memcpy (clang does).
On x86-64, the kernel uses the "rep movsb" instruction for memcpy - it is
optimized on modern CPUs, but it is not atomic, it may be
On Tue, Mar 18, 2025 at 12:08:32PM +0100, Martin Wilck wrote:
> On Mon, 2025-03-17 at 16:00 -0400, Benjamin Marzinski wrote:
> > On Mon, Mar 17, 2025 at 06:33:51PM +0100, Xose Vazquez Perez wrote:
> > > Cc: Martin Wilck
> > > Cc: Benjamin Marzinski
> > > Cc: Christophe Varoqui
> > > Cc: DM-DEVEL
On Tue, Mar 18, 2025 at 04:31:35PM +0100, Mikulas Patocka wrote:
>
>
> On Tue, 18 Mar 2025, Ming Lei wrote:
>
> > On Tue, Mar 18, 2025 at 03:26:10PM +0100, Mikulas Patocka wrote:
> > > The block limits may be read while they are being modified. The statement
> >
> > It is supposed to not be so
On 3/18/25 7:22 PM, Ming Lei wrote:
> On Tue, Mar 18, 2025 at 04:31:35PM +0100, Mikulas Patocka wrote:
>>
>>
>> On Tue, 18 Mar 2025, Ming Lei wrote:
>>
>>> On Tue, Mar 18, 2025 at 03:26:10PM +0100, Mikulas Patocka wrote:
The block limits may be read while they are being modified. The statement
On Tue, Mar 18, 2025 at 07:57:21AM +0100, Christoph Hellwig wrote:
> On Mon, Mar 17, 2025 at 12:45:09AM -0400, Benjamin Marzinski wrote:
> > __bind(). Otherwise the zone resources could change while accessing
> > them. Finally, it is possible that md->zone_revalidate_map will change
> > while calli
On Thu, 2025-03-13 at 08:17 +0100, Xose Vazquez Perez wrote:
> Add IBM Storage FlashSystem C200:
> https://www.ibm.com/docs/en/flashsystem-c200/8.7.x_cd?topic=system-settings-linux-hosts
>
> Cc: Martin Wilck
> Cc: Benjamin Marzinski
> Cc: Christophe Varoqui
> Cc: DM-DEVEL ML
> Signed-off-by: X
From: Zhang Yi
Add generic tests for the fallocate FALLOC_FL_WRITE_ZEROES command.
Signed-off-by: Zhang Yi
---
tests/generic/765 | 40 +++
tests/generic/765.out | 269 ++
2 files changed, 309 insertions(+)
create mode 100755 tests/generic/765
On Mon, Mar 17, 2025 at 12:45:07AM -0400, Benjamin Marzinski wrote:
> A future device-mapper patch will make use of this new argument. No
> functional changes intended in this patch.
If you care about the old limits just use a queue_limits_start_update +
queue_limits_commit_update{,frozen} pair.
33 matches
Mail list logo