vfs_read(): use external buffer