Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26e726af authored by Chengyu Song's avatar Chengyu Song Committed by Chris Mason
Browse files

btrfs: incorrect handling for fiemap_fill_next_extent return



fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this was
the last extent that will fit in user array. If 1 is returned, the return
value may eventually returned to user space, which should not happen, according
to manpage of ioctl.

Signed-off-by: default avatarChengyu Song <csong84@gatech.edu>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.cz>
Reviewed-by: default avatarLiu Bo <bo.li.liu@oracle.com>
Signed-off-by: default avatarChris Mason <clm@fb.com>
parent 3c3b04d1
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4514,9 +4514,12 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
		}
		ret = fiemap_fill_next_extent(fieinfo, em_start, disko,
					      em_len, flags);
		if (ret)
		if (ret) {
			if (ret == 1)
				ret = 0;
			goto out_free;
		}
	}
out_free:
	free_extent_map(em);
out: