am 16052ec5: Merge "ext4_utils: Fix long symbolic links"

* commit '16052ec56a0836db7de51d6ea4173c6b53f0a9b9':
  ext4_utils: Fix long symbolic links
diff --git a/ext4_utils/indirect.c b/ext4_utils/indirect.c
index 4e768a1..70f04d6 100644
--- a/ext4_utils/indirect.c
+++ b/ext4_utils/indirect.c
@@ -484,9 +484,10 @@
 		unsigned long backing_len)
 {
 	struct block_allocation *alloc;
+	u32 block_len = DIV_ROUND_UP(len, info.block_size);
 	u8 *data = NULL;
 
-	alloc = do_inode_allocate_indirect(inode, len);
+	alloc = do_inode_allocate_indirect(inode, block_len);
 	if (alloc == NULL) {
 		error("failed to allocate extents for %lu bytes", len);
 		return NULL;
@@ -498,6 +499,10 @@
 			error("failed to create backing for %lu bytes", backing_len);
 	}
 
+	rewind_alloc(alloc);
+	if (do_inode_attach_indirect(inode, alloc, block_len))
+		error("failed to attach blocks to indirect inode");
+
 	free_alloc(alloc);
 
 	return data;