HI,

After taking a look at design of send/receive, I feel that severe
directory structure movement combined with name collision might be a
trouble maker for send to calculate the snapshot difference.
Therefore, I started using fsstress + random directory movement to
test. Since the diff commands might contain a lot of instructions, I
try to simplify them before reporting.

Thanks for your help.

Thanks.
robbieko

2015-03-31 16:40 GMT+08:00 Filipe David Manana <fdman...@gmail.com>:
> On Tue, Mar 31, 2015 at 4:06 AM, Robbie Ko <robbi...@synology.com> wrote:
>> Hi,
>>
>> I have  testing btrfs send/receive recently.
>>
>> I got an error "send ioctl failed with -12: Cannot allocate memory" on
>> send side.
>> WARN_ON happened on "len > PATH_MAX" in fs_path_ensure_buf.
>>
>> I got an error "utime failed: No such file or directory" on receive side.
>> The followings are simple reproduced steps and related information.
>>
>> I have applied the following patch in the url :
>> https://patchwork.kernel.org/patch/6113581/.
>> However, it did not fix the problem.
>>
>> Is there any  idea about what this might be or how to fix it?
>>
>> Steps to reproduce:
>>
>>   $ mkfs.btrfs -f /dev/sdb
>>   $ mount /dev/sdb /mnt
>>   $ mkfs.btrfs -f /dev/sdc
>>   $ mount /dev/sdc /mnt2
>>
>> $ mkdir -p /mnt/data
>> $ mkdir -p /mnt/data/n1/n2
>> $ mkdir -p /mnt/data/n4
>> $ mkdir -p /mnt/data/t6/t7
>> $ mkdir -p /mnt/data/t5
>> $ mkdir -p /mnt/data/t7
>> $ mkdir -p /mnt/data/n4/t2
>> $ mkdir -p /mnt/data/t4
>> $ mkdir -p /mnt/data/t3
>> $ mv /mnt/data/t7 /mnt/data/n4/t2
>> $ mv /mnt/data/t4 /mnt/data/n4/t2/t7
>> $ mv /mnt/data/t5 /mnt/data/n4/t2/t7/t4
>> $ mv /mnt/data/t6 /mnt/data/n4/t2/t7/t4/t5
>> $ mv /mnt/data/n1/n2 /mnt/data/n4/t2/t7/t4/t5/t6
>> $ mv /mnt/data/n1 /mnt/data/n4/t2/t7/t4/t5/t6
>> $ mv /mnt/data/n4/t2/t7/t4/t5/t6/t7 /mnt/data/n4/t2/t7/t4/t5/t6/n2
>> $ mv /mnt/data/t3 /mnt/data/n4/t2/t7/t4/t5/t6/n2/t7
>>
>>   $ btrfs subvolume snapshot -r /mnt /mnt/snap1
>>
>> $ mv /mnt/data/n4/t2/t7/t4/t5/t6/n1 /mnt/data/n4
>> $ mv /mnt/data/n4/t2 /mnt/data/n4/n1
>> $ mv /mnt/data/n4/n1/t2/t7/t4/t5/t6/n2 /mnt/data/n4/n1/t2
>> $ mv /mnt/data/n4/n1/t2/n2/t7/t3 /mnt/data/n4/n1/t2
>> $ mv /mnt/data/n4/n1/t2/t7/t4/t5/t6 /mnt/data/n4/n1/t2
>> $ mv /mnt/data/n4/n1/t2/t7/t4 /mnt/data/n4/n1/t2/t6
>> $ mv /mnt/data/n4/n1/t2/t7 /mnt/data/n4/n1/t2/t3
>> $ mv /mnt/data/n4/n1/t2/n2/t7 /mnt/data/n4/n1/t2
>>
>>   $ btrfs subvolume snapshot -r /mnt /mnt/snap2
>>
>>   $ btrfs send /mnt/snap1 | btrfs receive /mnt2
>>   $ btrfs send -p /mnt/snap1 /mnt/snap2 | btrfs receive /mnt2
>> ERROR: send ioctl failed with -12: Cannot allocate memory
>> ERROR: utimes data/n4/t2/t7/t4/t5/t6/n2 failed. No such file or directory.
>
>
> Hi,
>
> May I ask if these reproducers come from a real application/workload
> or are they generated through some fuzz tester (like fsstress)?
> It would be easier, and save time, if you mention how to get such
> reproducers instead of sending the same e-mail over and over again but
> with different reproducers.
>
> I'll take a look at it soon.
>
> thanks
>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
>
> --
> Filipe David Manana,
>
> "Reasonable men adapt themselves to the world.
>  Unreasonable men adapt the world to themselves.
>  That's why all progress depends on unreasonable men."
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to