Re: [PATCH] generic: test zero-byte writes to new file

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Tue, Feb 25, 2025 at 04:29:29PM -0600, Eric Sandeen wrote:
> On 2/21/25 8:47 AM, Darrick J. Wong wrote:
> > On Fri, Feb 21, 2025 at 10:44:09AM +0530, Nirjhar Roy (IBM) wrote:
> >> On Thu, 2025-02-13 at 12:06 -0600, Eric Sandeen wrote:
> >>> A bug was recently fixed in exfat where attempting to do a zero-byte
> >>> write would yield -EFAULT; test for that here.
> >>>
> >>> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> >>> ---
> >>>
> >>> diff --git a/tests/generic/761 b/tests/generic/761
> >>> new file mode 100755
> >>> index 00000000..e933eb83
> >>> --- /dev/null
> >>> +++ b/tests/generic/761
> >>> @@ -0,0 +1,28 @@
> >>> +#! /bin/bash
> >>> +# SPDX-License-Identifier: GPL-2.0
> >>> +# Copyright (c) 2025 Red Hat, Inc.  All Rights Reserved.
> >>> +#
> >>> +# FS QA Test 761
> >>> +#
> >>> +# test zero-byte writes
> >>> +#
> >>> +# exfat had a regression where a zero-byte write to a file would
> >>> +# yield -EfAULT. Should work on all filesystems - write should
> >>> +# succeed and the zero-byte file should be created.
> >>> +#
> >>> +. ./common/preamble
> >>> +_begin_fstest auto quick
> >>> +
> >>> +[ "$FSTYP" = "exfat" ] && _fixed_by_kernel_commit dda0407a2026 \
> >>> +	"exfat: short-circuit zero-byte writes in
> >>> exfat_file_write_iter"
> >>> +
> >>> +# Modify as appropriate.
> >>> +_require_test
> >>> +
> >>> +rm -f $TEST_DIR/testfile.$seq
> >>> +$XFS_IO_PROG -f -c "pwrite 0 0" $TEST_DIR/testfile.$seq
> >>> +test -f $TEST_DIR/testfile.$seq || _fail "file not created"
> >> Minor: Maybe just remove the test file that is created above (since we
> >> are using the TEST_DIR)and not leave any test artifacts? Or, maybe use
> >> the scratch device? 
> > 
> > Agreed, the _cleanup should remove the testfile.
> 
> ok. I thought we left stuff lying around to age test, but I'll do whatever
> folks like to get this one-liner test merged :) 

Actually there's not a rule about "must remove the file your create in TEST_DIR".
And I remember the TEST_DIR was designed to keep some random files. So from my
side, if the file size isn't too large, I'm good to keep it in TEST_DIR :)

Thanks,
Zorro

> 
> -Eric
> 
> 





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux