rebuild data_buffer
Fixbug: set the data_eof