fs: ext4: fix symlink read function
authorGary Bisson <gary.bisson@boundarydevices.com>
Mon, 7 Sep 2015 09:20:07 +0000 (11:20 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 11 Sep 2015 21:15:29 +0000 (17:15 -0400)
Since last API changes for files >2GB, the read of symlink is broken as
ext4fs_read_file now returns 0 instead of the length of the actual read.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
fs/ext4/ext4_common.c

index 410419e241bc64f9709e0008bfbb3382eb029c74..727a2f753df391457010925aa237a46330b5cf5f 100644 (file)
@@ -2046,7 +2046,7 @@ static char *ext4fs_read_symlink(struct ext2fs_node *node)
                status = ext4fs_read_file(diro, 0,
                                           __le32_to_cpu(diro->inode.size),
                                           symlink, &actread);
-               if (status == 0) {
+               if ((status < 0) || (actread == 0)) {
                        free(symlink);
                        return 0;
                }