public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] btrfs: test a directory fsync scenaro after replacing a subdir with a file
@ 2026-03-03 17:20 fdmanana
  2026-03-03 18:01 ` Darrick J. Wong
  2026-03-03 18:07 ` [PATCH v2] " fdmanana
  0 siblings, 2 replies; 10+ messages in thread
From: fdmanana @ 2026-03-03 17:20 UTC (permalink / raw)
  To: fstests; +Cc: linux-btrfs, Filipe Manana

From: Filipe Manana <fdmanana@suse.com>

Test a scenario where we remove a directory previously persisted, create
a file with the same name and parent directory, create two directories in
the same parent directory, create a hard link for the new file in one of
the new directories, fsync the directory with the hard link and fsync the
parent directory. After a power failure we expect both directories to be
persisted as well as the new file and its hard link.

This exercises a bug on btrfs fixed by the following kernel patch:

  "btrfs: log new dentries when logging parent dir of a conflicting inode"

Signed-off-by: Filipe Manana <fdmanana@suse.com>
---
 tests/generic/790     | 69 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/790.out | 12 ++++++++
 2 files changed, 81 insertions(+)
 create mode 100755 tests/generic/790
 create mode 100644 tests/generic/790.out

diff --git a/tests/generic/790 b/tests/generic/790
new file mode 100755
index 00000000..a25203a1
--- /dev/null
+++ b/tests/generic/790
@@ -0,0 +1,69 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2026 SUSE S.A.  All Rights Reserved.
+#
+# FS QA Test 790
+#
+# Test a scenario where we remove a directory previously persisted, create a
+# file with the same name and parent directory, create two directories in the
+# same parent directory, create a hard link for the new file in one of the
+# new directories, fsync the directory with the hard link and fsync the parent
+# directory. After a power failure we expect both directories to be persisted
+# as well as the new file and its hard link.
+#
+. ./common/preamble
+_begin_fstest auto quick log
+
+_cleanup()
+{
+	_cleanup_flakey
+	cd /
+	rm -r -f $tmp.*
+}
+
+. ./common/dmflakey
+
+_require_scratch
+_require_dm_target flakey
+
+[ "$FSTYP" = "btrfs" ] && _fixed_by_kernel_commit xxxxxxxxxxxx \
+	"btrfs: log new dentries when logging parent dir of a conflicting inode"
+
+_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed"
+_require_metadata_journaling $SCRATCH_DEV
+_init_flakey
+_scratch_mount
+
+mkdir $SCRATCH_MNT/foo
+
+_scratch_sync
+
+rmdir $SCRATCH_MNT/foo
+
+# Create two new directories in the same parent directory as the new file.
+mkdir $SCRATCH_MNT/dir1
+mkdir $SCRATCH_MNT/dir2
+
+# Create a file with the name of the directly we deleted and was persisted
+# before.
+touch $SCRATCH_MNT/foo
+
+# Create a hard link for the new file inside one of the new directories.
+ln $SCRATCH_MNT/foo $SCRATCH_MNT/dir2/link
+
+$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/dir2
+$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/
+
+# Simulate a power failure and then mount again the filesystem to replay the
+# journal/log.
+_flakey_drop_and_remount
+
+# We expect to see dir1, dir2, file foo and its hard link, since dir2 was
+# explicitly fsynced as well as the parent directory.
+echo -e "Filesystem content after power failure:\n"
+# Exclude 'lost+found' dir from ext4 and last line if it's blank (due to removal
+# of 'lost+found').
+ls -R $SCRATCH_MNT/ | grep -v 'lost+found' | sed -e '${/^$/d;}'
+
+# success, all done
+_exit 0
diff --git a/tests/generic/790.out b/tests/generic/790.out
new file mode 100644
index 00000000..d2232a19
--- /dev/null
+++ b/tests/generic/790.out
@@ -0,0 +1,12 @@
+QA output created by 790
+Filesystem content after power failure:
+
+/home/fdmanana/btrfs-tests/scratch_1/:
+dir1
+dir2
+foo
+
+/home/fdmanana/btrfs-tests/scratch_1/dir1:
+
+/home/fdmanana/btrfs-tests/scratch_1/dir2:
+link
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-03 17:20 [PATCH] btrfs: test a directory fsync scenaro after replacing a subdir with a file fdmanana
@ 2026-03-03 18:01 ` Darrick J. Wong
  2026-03-03 18:08   ` Filipe Manana
  2026-03-03 18:07 ` [PATCH v2] " fdmanana
  1 sibling, 1 reply; 10+ messages in thread
From: Darrick J. Wong @ 2026-03-03 18:01 UTC (permalink / raw)
  To: fdmanana; +Cc: fstests, linux-btrfs, Filipe Manana

On Tue, Mar 03, 2026 at 05:20:10PM +0000, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
> 
> Test a scenario where we remove a directory previously persisted, create
> a file with the same name and parent directory, create two directories in
> the same parent directory, create a hard link for the new file in one of
> the new directories, fsync the directory with the hard link and fsync the
> parent directory. After a power failure we expect both directories to be
> persisted as well as the new file and its hard link.
> 
> This exercises a bug on btrfs fixed by the following kernel patch:
> 
>   "btrfs: log new dentries when logging parent dir of a conflicting inode"
> 
> Signed-off-by: Filipe Manana <fdmanana@suse.com>
> ---
>  tests/generic/790     | 69 +++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/790.out | 12 ++++++++
>  2 files changed, 81 insertions(+)
>  create mode 100755 tests/generic/790
>  create mode 100644 tests/generic/790.out
> 
> diff --git a/tests/generic/790 b/tests/generic/790
> new file mode 100755
> index 00000000..a25203a1
> --- /dev/null
> +++ b/tests/generic/790
> @@ -0,0 +1,69 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2026 SUSE S.A.  All Rights Reserved.
> +#
> +# FS QA Test 790
> +#
> +# Test a scenario where we remove a directory previously persisted, create a
> +# file with the same name and parent directory, create two directories in the
> +# same parent directory, create a hard link for the new file in one of the
> +# new directories, fsync the directory with the hard link and fsync the parent
> +# directory. After a power failure we expect both directories to be persisted
> +# as well as the new file and its hard link.
> +#
> +. ./common/preamble
> +_begin_fstest auto quick log
> +
> +_cleanup()
> +{
> +	_cleanup_flakey
> +	cd /
> +	rm -r -f $tmp.*
> +}
> +
> +. ./common/dmflakey
> +
> +_require_scratch
> +_require_dm_target flakey
> +
> +[ "$FSTYP" = "btrfs" ] && _fixed_by_kernel_commit xxxxxxxxxxxx \
> +	"btrfs: log new dentries when logging parent dir of a conflicting inode"
> +
> +_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed"
> +_require_metadata_journaling $SCRATCH_DEV
> +_init_flakey
> +_scratch_mount
> +
> +mkdir $SCRATCH_MNT/foo
> +
> +_scratch_sync
> +
> +rmdir $SCRATCH_MNT/foo
> +
> +# Create two new directories in the same parent directory as the new file.
> +mkdir $SCRATCH_MNT/dir1
> +mkdir $SCRATCH_MNT/dir2
> +
> +# Create a file with the name of the directly we deleted and was persisted
> +# before.
> +touch $SCRATCH_MNT/foo
> +
> +# Create a hard link for the new file inside one of the new directories.
> +ln $SCRATCH_MNT/foo $SCRATCH_MNT/dir2/link
> +
> +$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/dir2
> +$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/
> +
> +# Simulate a power failure and then mount again the filesystem to replay the
> +# journal/log.
> +_flakey_drop_and_remount
> +
> +# We expect to see dir1, dir2, file foo and its hard link, since dir2 was
> +# explicitly fsynced as well as the parent directory.
> +echo -e "Filesystem content after power failure:\n"
> +# Exclude 'lost+found' dir from ext4 and last line if it's blank (due to removal
> +# of 'lost+found').
> +ls -R $SCRATCH_MNT/ | grep -v 'lost+found' | sed -e '${/^$/d;}'
> +
> +# success, all done
> +_exit 0

This all looks good to me, except that...

> diff --git a/tests/generic/790.out b/tests/generic/790.out
> new file mode 100644
> index 00000000..d2232a19
> --- /dev/null
> +++ b/tests/generic/790.out
> @@ -0,0 +1,12 @@
> +QA output created by 790
> +Filesystem content after power failure:
> +
> +/home/fdmanana/btrfs-tests/scratch_1/:
> +dir1
> +dir2
> +foo
> +
> +/home/fdmanana/btrfs-tests/scratch_1/dir1:
> +
> +/home/fdmanana/btrfs-tests/scratch_1/dir2:

...^^^^^^^^^^^^^^ you might want a _filter_scratch for that.

--D

> +link
> -- 
> 2.47.2
> 
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-03 17:20 [PATCH] btrfs: test a directory fsync scenaro after replacing a subdir with a file fdmanana
  2026-03-03 18:01 ` Darrick J. Wong
@ 2026-03-03 18:07 ` fdmanana
  2026-03-03 18:16   ` Darrick J. Wong
  2026-03-04 13:05   ` Christoph Hellwig
  1 sibling, 2 replies; 10+ messages in thread
From: fdmanana @ 2026-03-03 18:07 UTC (permalink / raw)
  To: fstests; +Cc: linux-btrfs, Filipe Manana

From: Filipe Manana <fdmanana@suse.com>

Test a scenario where we remove a directory previously persisted, create
a file with the same name and parent directory, create two directories in
the same parent directory, create a hard link for the new file in one of
the new directories, fsync the directory with the hard link and fsync the
parent directory. After a power failure we expect both directories to be
persisted as well as the new file and its hard link.

This exercises a bug on btrfs fixed by the following kernel patch:

  "btrfs: log new dentries when logging parent dir of a conflicting inode"

Signed-off-by: Filipe Manana <fdmanana@suse.com>
---

V2: Add missing scratch filter for the ls output.

 tests/generic/790     | 70 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/790.out | 12 ++++++++
 2 files changed, 82 insertions(+)
 create mode 100755 tests/generic/790
 create mode 100644 tests/generic/790.out

diff --git a/tests/generic/790 b/tests/generic/790
new file mode 100755
index 00000000..c9bac6d0
--- /dev/null
+++ b/tests/generic/790
@@ -0,0 +1,70 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2026 SUSE S.A.  All Rights Reserved.
+#
+# FS QA Test 790
+#
+# Test a scenario where we remove a directory previously persisted, create a
+# file with the same name and parent directory, create two directories in the
+# same parent directory, create a hard link for the new file in one of the
+# new directories, fsync the directory with the hard link and fsync the parent
+# directory. After a power failure we expect both directories to be persisted
+# as well as the new file and its hard link.
+#
+. ./common/preamble
+_begin_fstest auto quick log
+
+_cleanup()
+{
+	_cleanup_flakey
+	cd /
+	rm -r -f $tmp.*
+}
+
+. ./common/filter
+. ./common/dmflakey
+
+_require_scratch
+_require_dm_target flakey
+
+[ "$FSTYP" = "btrfs" ] && _fixed_by_kernel_commit xxxxxxxxxxxx \
+	"btrfs: log new dentries when logging parent dir of a conflicting inode"
+
+_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed"
+_require_metadata_journaling $SCRATCH_DEV
+_init_flakey
+_scratch_mount
+
+mkdir $SCRATCH_MNT/foo
+
+_scratch_sync
+
+rmdir $SCRATCH_MNT/foo
+
+# Create two new directories in the same parent directory as the new file.
+mkdir $SCRATCH_MNT/dir1
+mkdir $SCRATCH_MNT/dir2
+
+# Create a file with the name of the directly we deleted and was persisted
+# before.
+touch $SCRATCH_MNT/foo
+
+# Create a hard link for the new file inside one of the new directories.
+ln $SCRATCH_MNT/foo $SCRATCH_MNT/dir2/link
+
+$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/dir2
+$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/
+
+# Simulate a power failure and then mount again the filesystem to replay the
+# journal/log.
+_flakey_drop_and_remount
+
+# We expect to see dir1, dir2, file foo and its hard link, since dir2 was
+# explicitly fsynced as well as the parent directory.
+echo -e "Filesystem content after power failure:\n"
+# Exclude 'lost+found' dir from ext4 and last line if it's blank (due to removal
+# of 'lost+found').
+ls -R $SCRATCH_MNT/ | grep -v 'lost+found' | sed -e '${/^$/d;}' | _filter_scratch
+
+# success, all done
+_exit 0
diff --git a/tests/generic/790.out b/tests/generic/790.out
new file mode 100644
index 00000000..d9c0592d
--- /dev/null
+++ b/tests/generic/790.out
@@ -0,0 +1,12 @@
+QA output created by 790
+Filesystem content after power failure:
+
+SCRATCH_MNT/:
+dir1
+dir2
+foo
+
+SCRATCH_MNT/dir1:
+
+SCRATCH_MNT/dir2:
+link
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-03 18:01 ` Darrick J. Wong
@ 2026-03-03 18:08   ` Filipe Manana
  0 siblings, 0 replies; 10+ messages in thread
From: Filipe Manana @ 2026-03-03 18:08 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: fstests, linux-btrfs, Filipe Manana

On Tue, Mar 3, 2026 at 6:01 PM Darrick J. Wong <djwong@kernel.org> wrote:
>
> On Tue, Mar 03, 2026 at 05:20:10PM +0000, fdmanana@kernel.org wrote:
> > From: Filipe Manana <fdmanana@suse.com>
> >
> > Test a scenario where we remove a directory previously persisted, create
> > a file with the same name and parent directory, create two directories in
> > the same parent directory, create a hard link for the new file in one of
> > the new directories, fsync the directory with the hard link and fsync the
> > parent directory. After a power failure we expect both directories to be
> > persisted as well as the new file and its hard link.
> >
> > This exercises a bug on btrfs fixed by the following kernel patch:
> >
> >   "btrfs: log new dentries when logging parent dir of a conflicting inode"
> >
> > Signed-off-by: Filipe Manana <fdmanana@suse.com>
> > ---
> >  tests/generic/790     | 69 +++++++++++++++++++++++++++++++++++++++++++
> >  tests/generic/790.out | 12 ++++++++
> >  2 files changed, 81 insertions(+)
> >  create mode 100755 tests/generic/790
> >  create mode 100644 tests/generic/790.out
> >
> > diff --git a/tests/generic/790 b/tests/generic/790
> > new file mode 100755
> > index 00000000..a25203a1
> > --- /dev/null
> > +++ b/tests/generic/790
> > @@ -0,0 +1,69 @@
> > +#! /bin/bash
> > +# SPDX-License-Identifier: GPL-2.0
> > +# Copyright (c) 2026 SUSE S.A.  All Rights Reserved.
> > +#
> > +# FS QA Test 790
> > +#
> > +# Test a scenario where we remove a directory previously persisted, create a
> > +# file with the same name and parent directory, create two directories in the
> > +# same parent directory, create a hard link for the new file in one of the
> > +# new directories, fsync the directory with the hard link and fsync the parent
> > +# directory. After a power failure we expect both directories to be persisted
> > +# as well as the new file and its hard link.
> > +#
> > +. ./common/preamble
> > +_begin_fstest auto quick log
> > +
> > +_cleanup()
> > +{
> > +     _cleanup_flakey
> > +     cd /
> > +     rm -r -f $tmp.*
> > +}
> > +
> > +. ./common/dmflakey
> > +
> > +_require_scratch
> > +_require_dm_target flakey
> > +
> > +[ "$FSTYP" = "btrfs" ] && _fixed_by_kernel_commit xxxxxxxxxxxx \
> > +     "btrfs: log new dentries when logging parent dir of a conflicting inode"
> > +
> > +_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed"
> > +_require_metadata_journaling $SCRATCH_DEV
> > +_init_flakey
> > +_scratch_mount
> > +
> > +mkdir $SCRATCH_MNT/foo
> > +
> > +_scratch_sync
> > +
> > +rmdir $SCRATCH_MNT/foo
> > +
> > +# Create two new directories in the same parent directory as the new file.
> > +mkdir $SCRATCH_MNT/dir1
> > +mkdir $SCRATCH_MNT/dir2
> > +
> > +# Create a file with the name of the directly we deleted and was persisted
> > +# before.
> > +touch $SCRATCH_MNT/foo
> > +
> > +# Create a hard link for the new file inside one of the new directories.
> > +ln $SCRATCH_MNT/foo $SCRATCH_MNT/dir2/link
> > +
> > +$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/dir2
> > +$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/
> > +
> > +# Simulate a power failure and then mount again the filesystem to replay the
> > +# journal/log.
> > +_flakey_drop_and_remount
> > +
> > +# We expect to see dir1, dir2, file foo and its hard link, since dir2 was
> > +# explicitly fsynced as well as the parent directory.
> > +echo -e "Filesystem content after power failure:\n"
> > +# Exclude 'lost+found' dir from ext4 and last line if it's blank (due to removal
> > +# of 'lost+found').
> > +ls -R $SCRATCH_MNT/ | grep -v 'lost+found' | sed -e '${/^$/d;}'
> > +
> > +# success, all done
> > +_exit 0
>
> This all looks good to me, except that...
>
> > diff --git a/tests/generic/790.out b/tests/generic/790.out
> > new file mode 100644
> > index 00000000..d2232a19
> > --- /dev/null
> > +++ b/tests/generic/790.out
> > @@ -0,0 +1,12 @@
> > +QA output created by 790
> > +Filesystem content after power failure:
> > +
> > +/home/fdmanana/btrfs-tests/scratch_1/:
> > +dir1
> > +dir2
> > +foo
> > +
> > +/home/fdmanana/btrfs-tests/scratch_1/dir1:
> > +
> > +/home/fdmanana/btrfs-tests/scratch_1/dir2:
>
> ...^^^^^^^^^^^^^^ you might want a _filter_scratch for that.

Indeed, did it in so many tests with the filter and now I forgot it.
Fixed in v2, thanks.

>
> --D
>
> > +link
> > --
> > 2.47.2
> >
> >

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-03 18:07 ` [PATCH v2] " fdmanana
@ 2026-03-03 18:16   ` Darrick J. Wong
  2026-03-04 13:05   ` Christoph Hellwig
  1 sibling, 0 replies; 10+ messages in thread
From: Darrick J. Wong @ 2026-03-03 18:16 UTC (permalink / raw)
  To: fdmanana; +Cc: fstests, linux-btrfs, Filipe Manana

On Tue, Mar 03, 2026 at 06:07:33PM +0000, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
> 
> Test a scenario where we remove a directory previously persisted, create
> a file with the same name and parent directory, create two directories in
> the same parent directory, create a hard link for the new file in one of
> the new directories, fsync the directory with the hard link and fsync the
> parent directory. After a power failure we expect both directories to be
> persisted as well as the new file and its hard link.
> 
> This exercises a bug on btrfs fixed by the following kernel patch:
> 
>   "btrfs: log new dentries when logging parent dir of a conflicting inode"
> 
> Signed-off-by: Filipe Manana <fdmanana@suse.com>
> ---
> 
> V2: Add missing scratch filter for the ls output.

Looks good to me now,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>

--D

> 
>  tests/generic/790     | 70 +++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/790.out | 12 ++++++++
>  2 files changed, 82 insertions(+)
>  create mode 100755 tests/generic/790
>  create mode 100644 tests/generic/790.out
> 
> diff --git a/tests/generic/790 b/tests/generic/790
> new file mode 100755
> index 00000000..c9bac6d0
> --- /dev/null
> +++ b/tests/generic/790
> @@ -0,0 +1,70 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2026 SUSE S.A.  All Rights Reserved.
> +#
> +# FS QA Test 790
> +#
> +# Test a scenario where we remove a directory previously persisted, create a
> +# file with the same name and parent directory, create two directories in the
> +# same parent directory, create a hard link for the new file in one of the
> +# new directories, fsync the directory with the hard link and fsync the parent
> +# directory. After a power failure we expect both directories to be persisted
> +# as well as the new file and its hard link.
> +#
> +. ./common/preamble
> +_begin_fstest auto quick log
> +
> +_cleanup()
> +{
> +	_cleanup_flakey
> +	cd /
> +	rm -r -f $tmp.*
> +}
> +
> +. ./common/filter
> +. ./common/dmflakey
> +
> +_require_scratch
> +_require_dm_target flakey
> +
> +[ "$FSTYP" = "btrfs" ] && _fixed_by_kernel_commit xxxxxxxxxxxx \
> +	"btrfs: log new dentries when logging parent dir of a conflicting inode"
> +
> +_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed"
> +_require_metadata_journaling $SCRATCH_DEV
> +_init_flakey
> +_scratch_mount
> +
> +mkdir $SCRATCH_MNT/foo
> +
> +_scratch_sync
> +
> +rmdir $SCRATCH_MNT/foo
> +
> +# Create two new directories in the same parent directory as the new file.
> +mkdir $SCRATCH_MNT/dir1
> +mkdir $SCRATCH_MNT/dir2
> +
> +# Create a file with the name of the directly we deleted and was persisted
> +# before.
> +touch $SCRATCH_MNT/foo
> +
> +# Create a hard link for the new file inside one of the new directories.
> +ln $SCRATCH_MNT/foo $SCRATCH_MNT/dir2/link
> +
> +$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/dir2
> +$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/
> +
> +# Simulate a power failure and then mount again the filesystem to replay the
> +# journal/log.
> +_flakey_drop_and_remount
> +
> +# We expect to see dir1, dir2, file foo and its hard link, since dir2 was
> +# explicitly fsynced as well as the parent directory.
> +echo -e "Filesystem content after power failure:\n"
> +# Exclude 'lost+found' dir from ext4 and last line if it's blank (due to removal
> +# of 'lost+found').
> +ls -R $SCRATCH_MNT/ | grep -v 'lost+found' | sed -e '${/^$/d;}' | _filter_scratch
> +
> +# success, all done
> +_exit 0
> diff --git a/tests/generic/790.out b/tests/generic/790.out
> new file mode 100644
> index 00000000..d9c0592d
> --- /dev/null
> +++ b/tests/generic/790.out
> @@ -0,0 +1,12 @@
> +QA output created by 790
> +Filesystem content after power failure:
> +
> +SCRATCH_MNT/:
> +dir1
> +dir2
> +foo
> +
> +SCRATCH_MNT/dir1:
> +
> +SCRATCH_MNT/dir2:
> +link
> -- 
> 2.47.2
> 
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-03 18:07 ` [PATCH v2] " fdmanana
  2026-03-03 18:16   ` Darrick J. Wong
@ 2026-03-04 13:05   ` Christoph Hellwig
  2026-03-04 15:03     ` Filipe Manana
  2026-03-04 15:18     ` Zorro Lang
  1 sibling, 2 replies; 10+ messages in thread
From: Christoph Hellwig @ 2026-03-04 13:05 UTC (permalink / raw)
  To: fdmanana; +Cc: fstests, linux-btrfs, Filipe Manana

The subject is wrong, this is actually a generic test.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-04 13:05   ` Christoph Hellwig
@ 2026-03-04 15:03     ` Filipe Manana
  2026-03-04 15:18     ` Zorro Lang
  1 sibling, 0 replies; 10+ messages in thread
From: Filipe Manana @ 2026-03-04 15:03 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: fstests, linux-btrfs, Filipe Manana

On Wed, Mar 4, 2026 at 1:05 PM Christoph Hellwig <hch@infradead.org> wrote:
>
> The subject is wrong, this is actually a generic test.

Yes, I'm sure Zorro can replace "btrfs:" with "generic:" when he picks this.

Thanks.

>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-04 13:05   ` Christoph Hellwig
  2026-03-04 15:03     ` Filipe Manana
@ 2026-03-04 15:18     ` Zorro Lang
  2026-03-04 15:25       ` Christoph Hellwig
  1 sibling, 1 reply; 10+ messages in thread
From: Zorro Lang @ 2026-03-04 15:18 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: fdmanana, fstests, linux-btrfs, Filipe Manana

On Wed, Mar 04, 2026 at 05:05:53AM -0800, Christoph Hellwig wrote:
> The subject is wrong, this is actually a generic test.

Yeah, thanks Christoph, I'll change it to "generic" when I merge it.

> 
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-04 15:18     ` Zorro Lang
@ 2026-03-04 15:25       ` Christoph Hellwig
  2026-03-04 15:56         ` Zorro Lang
  0 siblings, 1 reply; 10+ messages in thread
From: Christoph Hellwig @ 2026-03-04 15:25 UTC (permalink / raw)
  To: Zorro Lang
  Cc: Christoph Hellwig, fdmanana, fstests, linux-btrfs, Filipe Manana

On Wed, Mar 04, 2026 at 11:18:00PM +0800, Zorro Lang wrote:
> On Wed, Mar 04, 2026 at 05:05:53AM -0800, Christoph Hellwig wrote:
> > The subject is wrong, this is actually a generic test.
> 
> Yeah, thanks Christoph, I'll change it to "generic" when I merge it.

Assuming you also pick up Johanne's per fs fixed by cleanups, it
would be good to switch the new test over to that scheme.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] btrfs: test a directory fsync scenaro after replacing a subdir with a file
  2026-03-04 15:25       ` Christoph Hellwig
@ 2026-03-04 15:56         ` Zorro Lang
  0 siblings, 0 replies; 10+ messages in thread
From: Zorro Lang @ 2026-03-04 15:56 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: fdmanana, fstests, linux-btrfs, Filipe Manana

On Wed, Mar 04, 2026 at 07:25:34AM -0800, Christoph Hellwig wrote:
> On Wed, Mar 04, 2026 at 11:18:00PM +0800, Zorro Lang wrote:
> > On Wed, Mar 04, 2026 at 05:05:53AM -0800, Christoph Hellwig wrote:
> > > The subject is wrong, this is actually a generic test.
> > 
> > Yeah, thanks Christoph, I'll change it to "generic" when I merge it.
> 
> Assuming you also pick up Johanne's per fs fixed by cleanups, it
> would be good to switch the new test over to that scheme.

Sure, thanks for the reminder. I'm doing that. It has more conflicts with
latest for-next branch, I'm resolving those as well, and will push to
patches-in-queue branch shortly.

> 
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-03-04 15:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-03 17:20 [PATCH] btrfs: test a directory fsync scenaro after replacing a subdir with a file fdmanana
2026-03-03 18:01 ` Darrick J. Wong
2026-03-03 18:08   ` Filipe Manana
2026-03-03 18:07 ` [PATCH v2] " fdmanana
2026-03-03 18:16   ` Darrick J. Wong
2026-03-04 13:05   ` Christoph Hellwig
2026-03-04 15:03     ` Filipe Manana
2026-03-04 15:18     ` Zorro Lang
2026-03-04 15:25       ` Christoph Hellwig
2026-03-04 15:56         ` Zorro Lang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox