OSDN Git Service

btrfs: send: replace check with an assert in gen_unique_name
authorDavid Sterba <dsterba@suse.cz>
Mon, 3 Feb 2014 17:24:09 +0000 (18:24 +0100)
committerJosef Bacik <jbacik@fb.com>
Mon, 10 Mar 2014 19:15:44 +0000 (15:15 -0400)
The buffer passed to snprintf can hold the fully expanded format string,
64 = 3x largest ULL + 3x char + trailing null.  I don't think that removing the
check entirely is a good idea, hence the ASSERT.

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Josef Bacik <jbacik@fb.com>
fs/btrfs/send.c

index 154a717..08edd0a 100644 (file)
@@ -1418,11 +1418,7 @@ static int gen_unique_name(struct send_ctx *sctx,
        while (1) {
                len = snprintf(tmp, sizeof(tmp), "o%llu-%llu-%llu",
                                ino, gen, idx);
-               if (len >= sizeof(tmp)) {
-                       /* should really not happen */
-                       ret = -EOVERFLOW;
-                       goto out;
-               }
+               ASSERT(len < sizeof(tmp));
 
                di = btrfs_lookup_dir_item(NULL, sctx->send_root,
                                path, BTRFS_FIRST_FREE_OBJECTID,