File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -328,14 +328,20 @@ fn snapshot_memory_to_file(
328
328
let mut file = OpenOptions :: new ( )
329
329
. write ( true )
330
330
. create ( true )
331
- . truncate ( true )
332
331
. open ( mem_file_path)
333
332
. map_err ( |e| MemoryBackingFile ( "open" , e) ) ?;
334
333
335
- // Set the length of the file to the full size of the memory area.
336
334
let mem_size_mib = mem_size_mib ( vmm. guest_memory ( ) ) ;
337
- file. set_len ( ( mem_size_mib * 1024 * 1024 ) as u64 )
338
- . map_err ( |e| MemoryBackingFile ( "set_length" , e) ) ?;
335
+ let expected_size = ( mem_size_mib * 1024 * 1024 ) as u64 ;
336
+ let file_size = file
337
+ . metadata ( )
338
+ . map_err ( |e| MemoryBackingFile ( "get_metadata" , e) ) ?
339
+ . len ( ) ;
340
+ if file_size != expected_size {
341
+ // Set the length of the file to the full size of the memory area.
342
+ file. set_len ( expected_size)
343
+ . map_err ( |e| MemoryBackingFile ( "set_length" , e) ) ?;
344
+ }
339
345
340
346
match snapshot_type {
341
347
SnapshotType :: Diff => {
You can’t perform that action at this time.
0 commit comments