Re: [PATCH] fstests: btrfs, test for send with clone operations

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



On Thu, Feb 04, 2016 at 12:11:28AM +0000, fdmanana@xxxxxxxxxx wrote:
> From: Filipe Manana <fdmanana@xxxxxxxx>
> 
> Test that an incremental send operation which issues clone operations
> works for files that have a full path containing more than one parent
> directory component.
> 
> This used to fail before the following patch for the linux kernel:
> 
>   "[PATCH] Btrfs: send, fix extent buffer tree lock assertion failure"
> 
> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>

Looks ok, I've pulled it in. Something to think about:

> +# Create a bunch of small and empty files, this is just to make sure our
> +# subvolume's btree gets more than 1 leaf, a condition necessary to trigger a
> +# past bug (1000 files is enough even for a leaf/node size of 64K, the largest
> +# possible size).
> +for ((i = 1; i <= 1000; i++)); do
> +	echo -n > $SCRATCH_MNT/a/b/c/z_$i
> +done

We already do have a generic function for doing this called
_populate_fs(), it's just not optimised for speed with large numbers
of files being created.

i.e. The above is simple a single directory tree with a single level
with 1000 files of size 0:

	_populate_fs() -d 1 -n 1 -f 1000 -s 0 -r $SCRATCH_MNT/a/b/

Can you look into optimising _populate_fs() to use multiple threads
(say up to 4 by default) and "echo -n" to create files, and then
convert all our open coded "create lots of files" loops in tests to
use it?

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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