{"push_id":1632663414,"size":1,"distinct_size":1,"ref":"refs/heads/fix","head":"a99ee9f61ba58a461385a34ffab9a03ebda20dd8","before":"9a7a476d80e930caaa50e5bb16cdbfbe4bdbfb3b","commits":[{"sha":"a99ee9f61ba58a461385a34ffab9a03ebda20dd8","author":{"name":"Wentao Zhang","email":"b3d8599bc8577c4ba1a9bd01c0face89e64d16f1@huawei.com"},"message":"Fix when power off the VM during pull a image, couldn't pull the same image druing next bootup\n\nIssue Description:\nWhile running loading image test, power off or restart the VM, and then\nthere are\nsome chances that we can not load the image. And \"Error running\ndeviceCreate (createSnapDevice) dm_task_run failed\" will be reported.\n\nReproduce Steps:\n> 1. run  `docker load -i xxx.tar`\n> 2. virsh restart VM; # restart the VM.\n> 3. After startup, run `docker load -i xxx.tar`, will fail to import\n> the image\n\nAnalysis:\nFrom syslog, we found that docker was executing \"Umount Device\" then VM\npowered restart. And found\ntwo failure reasons:\n> 1. Rollback operation only remove the device on DM thin pool, not\n> remove the device in memory\n> 2. TransactionData or metadata not flushed to Disk.\n\nSolution:\n> 1. Rollback operation for DM, should remove the devices cache in DM\n> driver.\n> 2. When restore layers and images, check whether the device exists in\n> graphdriver.\n     If desen't, remove the layer( and the metadata) and do not load the\nimage.\n\nSigned-off-by: Wentao Zhang <zhangwentao234@huawei.com>","distinct":true,"url":"https://api.github.com/repos/moypray/docker/commits/a99ee9f61ba58a461385a34ffab9a03ebda20dd8"}]}
{"actor":{"display_login":"moypray"}}