Thanks, I fixed the objectid test. Apply with --scissors. -- >8 -- Subject: [PATCH] btrfs send: warn when skipping snapshots created with older kernels.
This message is more explicit than "ERROR: could not resolve root_id", the message that will be shown immediately before `btrfs send` bails. Also skip invalid high OIDs, to prevent spurious warnings. Signed-off-by: Gabriel de Perthuis <[email protected]> --- send-utils.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/send-utils.c b/send-utils.c index a43d47e..03ca72a 100644 --- a/send-utils.c +++ b/send-utils.c @@ -224,13 +224,18 @@ int subvol_uuid_search_init(int mnt_fd, struct subvol_uuid_search *s) if ((sh->objectid != 5 && sh->objectid < BTRFS_FIRST_FREE_OBJECTID) || - sh->objectid == BTRFS_FREE_INO_OBJECTID) + sh->objectid > BTRFS_LAST_FREE_OBJECTID) goto skip; if (sh->type == BTRFS_ROOT_ITEM_KEY) { /* older kernels don't have uuids+times */ if (sh->len < sizeof(root_item)) { root_item_valid = 0; + fprintf(stderr, + "Ignoring subvolume id %llu, " + "btrfs send needs snapshots " + "created with kernel 3.6+\n", + sh->objectid); goto skip; } root_item_ptr = (struct btrfs_root_item *) -- 1.7.12.117.gdc24c27 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
