[PATCH v3 0/3] __btrfs_drop_extents() BUG_ON reproducer
David Disseldorp
ddiss at suse.de
Fri Feb 7 04:35:38 CST 2014
This patch-set provides a reproducer for hitting the 3.14.0-rc1 BUG_ON()
at:
692 int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
...
839 /*
840 * | ---- range to drop ----- |
841 * | -------- extent -------- |
842 */
843 if (start <= key.offset && end < extent_end) {
844 BUG_ON(extent_type == BTRFS_FILE_EXTENT_INLINE);
845
846 memcpy(&new_key, &key, sizeof(new_key));
The first patch adds a small cloner binary which is used by btrfs/035 to
dispatch BTRFS_IOC_CLONE_RANGE requests.
This workload resembles that of Samba's vfs_btrfs module, when a Windows
client restores a file from a shadow-copy (snapshot) using server-side
copy requests.
Changes since V2:
- Remove explicit write error checks
Changes since V1:
- Use strtoull instead of atoi
- Print error conditions in cloner
- Check for cloner binary before running test
- Continue test on failure
- Add cloner to .gitignore
Feedback appreciated.
Cheers, David
.gitignore | 1 +
configure.ac | 1 +
src/Makefile | 2 +-
src/cloner.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/btrfs/035 | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/btrfs/035.out | 3 +++
tests/btrfs/group | 1 +
7 files changed, 276 insertions(+), 1 deletion(-)
More information about the xfs
mailing list