On Sat, Mar 22, 2014 at 02:04:56PM -0700, Marc MERLIN wrote:
After deleting a huge directory tree in my /home subvolume, syncing
snapshots now fails with:
ERROR: rmdir o1952777-157-0 failed. No such file or directory
Error line 156 with status 1
DIE: Code dump:
153 if [[ -n "$init" ]]; then
154 btrfs send "$src_newsnap" | $ssh btrfs receive "$dest_pool/"
155 else
156 btrfs send -p "$src_snap" "$src_newsnap" | $ssh btrfs receive
"$dest_pool/"
157 fi
158
159 # We make a read-write snapshot in case you want to use it for a chroot
Is there anything useful I can provide before killing my snapshot and doing
a full sync again?
I have been able to work around this by hacking up btrfs receive to
ignore the rmdir. As far as I can tell (tree comparison) the
resulting tree is correct.
David
diff --git a/cmds-receive.c b/cmds-receive.c
index d6cd3da..5bd4161 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -492,6 +492,9 @@ static int process_rmdir(const char *path, void *user)
fprintf(stderr, "ERROR: rmdir %s failed. %s\n", path,
strerror(-ret));
}
+ // Ugly hack to work around kernel problem of sending
+ // redundant rmdirs.
+ ret = 0;
free(full_path);
return ret;
--
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