Hi Alexander,
I studied all the kernel + user code, and I have a long list of questions.
Meanwhile, I want to report two small bugs:
# BTRFS_SEND_C_MKNOD command: the receive path expects
BTRFS_SEND_A_MODE, but kernel doesn't send it. So currently it errors.
It looks like kernel need to send it, otherwise how do we know which
kind of mknod to create.
# BTRFS_SEND_C_LINK -> process_link()
ret = link(lnk, full_path); ==> I think it should be the other way
around, the old path comes first and then the new path. Otherwise, it
fails.
If you prefer, I can send you patches for those.
I will keep playing with your code & let you know what else I find.
Thanks!
Alex.