edit of ft_read_data, deal with incomplete data blocks