qemu-img: let 'qemu-img convert' flush data
The 'qemu-img convert -h' advertise that the default cache mode is 'writeback', while in fact it is 'unsafe'. This patch 1) fix the help manual and 2) let bdrv_close() call bdrv_flush() 2) is needed because some backend storage doesn't have a self-flush mechanism(for e.g., sheepdog), so we need to call bdrv_flush() to make sure the image is really writen to the storage instead of hanging around writeback cache forever. Signed-off-by: Liu Yuan <tailai.ly@taobao.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							
								
								
									
										1
									
								
								block.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								block.c
									
									
									
									
									
								
							| @@ -812,6 +812,7 @@ unlink_and_fail: | ||||
|  | ||||
| void bdrv_close(BlockDriverState *bs) | ||||
| { | ||||
|     bdrv_flush(bs); | ||||
|     if (bs->drv) { | ||||
|         if (bs->job) { | ||||
|             block_job_cancel_sync(bs->job); | ||||
|   | ||||
| @@ -66,8 +66,8 @@ static void help(void) | ||||
|            "  'filename' is a disk image filename\n" | ||||
|            "  'fmt' is the disk image format. It is guessed automatically in most cases\n" | ||||
|            "  'cache' is the cache mode used to write the output disk image, the valid\n" | ||||
|            "    options are: 'none', 'writeback' (default), 'writethrough', 'directsync'\n" | ||||
|            "    and 'unsafe'\n" | ||||
|            "    options are: 'none', 'writeback' (default, except for convert), 'writethrough',\n" | ||||
|            "    'directsync' and 'unsafe' (default for convert)\n" | ||||
|            "  'size' is the disk image size in bytes. Optional suffixes\n" | ||||
|            "    'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)\n" | ||||
|            "    and T (terabyte, 1024G) are supported. 'b' is ignored.\n" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user