Track actual bytes read in read operations
Add functionality to determine the actual number of bytes read during read operations, making it possible to detect when a read was truncated because it went past the end of the file. Changes: - Modified file_tree_read() to calculate and return actual_bytes via new output parameter - Updated metadata server to send actual_bytes in READ_SUCCESS messages - Added bytes_read field to ToastyResult structure - Modified client to parse, store, and report actual bytes read - Updated toasty_read() to return the actual number of bytes read instead of always returning 0 - Fixed web server to use bytes_read field instead of non-existent count field This allows clients to distinguish between: - Reading zeros because the file is sparse (has holes) - Reading past the end of the file (truncated read)
This commit is contained in:
@@ -159,6 +159,7 @@ typedef struct {
|
||||
ToastyResultType type;
|
||||
ToastyListing listing;
|
||||
void *user;
|
||||
int bytes_read; // For read operations: actual number of bytes read
|
||||
} ToastyResult;
|
||||
|
||||
// If the operation specified by "handle" is complete,
|
||||
|
||||
Reference in New Issue
Block a user