Remove solved TODO from TODO.txt and fix a bug in file_tree_read
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
- Chunks should not be separated between the main and orphaned folders. The concept of "orphans" or "to be removed" should only be held in-memory. If a chunk server crashes, upon restarting and reconnecting to the master any chunk will be re-marked for removal when speaking to the master.
|
- Chunks should not be separated between the main and orphaned folders. The concept of "orphans" or "to be removed" should only be held in-memory. If a chunk server crashes, upon restarting and reconnecting to the master any chunk will be re-marked for removal when speaking to the master.
|
||||||
- Implement write on the client
|
|
||||||
- Implement proper operation handles that allow users to wait for specific events
|
- Implement proper operation handles that allow users to wait for specific events
|
||||||
- Clean up the read operation for clients
|
- Clean up the read operation for clients
|
||||||
- Check that the corner case where read and writes go over the length of the file work correctly
|
- Check that the corner case where read and writes go over the length of the file work correctly
|
||||||
@@ -7,5 +6,5 @@
|
|||||||
- Return the number of bytes read or written in the TinyDFS_Result struct
|
- Return the number of bytes read or written in the TinyDFS_Result struct
|
||||||
- Make parallel uploads/downloads configurable
|
- Make parallel uploads/downloads configurable
|
||||||
- Recalculate next write locations whenever a write occurs, not at each read
|
- Recalculate next write locations whenever a write occurs, not at each read
|
||||||
- Make sure there are no mixups with the default tag value for connections, which I think is -1?
|
|
||||||
- avoid replay attacks
|
- avoid replay attacks
|
||||||
|
- find a way to remove over-replicated chunks
|
||||||
|
|||||||
+2
-2
@@ -422,11 +422,11 @@ int file_tree_read(FileTree *ft, string path,
|
|||||||
|
|
||||||
File *f = &e->f;
|
File *f = &e->f;
|
||||||
|
|
||||||
|
*chunk_size = f->chunk_size;
|
||||||
|
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
*chunk_size = f->chunk_size;
|
|
||||||
|
|
||||||
uint64_t first_chunk_index = off / f->chunk_size;
|
uint64_t first_chunk_index = off / f->chunk_size;
|
||||||
uint64_t last_chunk_index = first_chunk_index + (len - 1) / f->chunk_size;
|
uint64_t last_chunk_index = first_chunk_index + (len - 1) / f->chunk_size;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
// TODO: set simulation_should_stop=true on ctrl+C
|
// TODO: set simulation_should_stop=true on ctrl+C
|
||||||
|
|
||||||
startup_simulation(3);
|
startup_simulation(2);
|
||||||
|
|
||||||
// Spawn metadata server (leader)
|
// Spawn metadata server (leader)
|
||||||
spawn_simulated_process("--addr 127.0.0.1 --port 8080 --leader");
|
spawn_simulated_process("--addr 127.0.0.1 --port 8080 --leader");
|
||||||
|
|||||||
Reference in New Issue
Block a user