{"record":{"id":"8dafaea5201c12c2","repo":"firecracker-microvm/firecracker","slug":"vhostuserblock-does-not-support-snapshotting-yet","errorCode":null,"errorMessage":"VhostUserBlock does not support snapshotting yet","messagePattern":"VhostUserBlock does not support snapshotting yet","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/vmm/src/devices/virtio/block/vhost_user/device.rs","lineNumber":253,"sourceCode":"            queues,\n            queue_evts,\n            device_state,\n\n            id: config.drive_id,\n            partuuid: config.partuuid,\n            cache_type: config.cache_type,\n            read_only,\n            root_device: config.is_root_device,\n\n            vu_handle,\n            vu_acked_protocol_features: acked_protocol_features,\n            metrics,\n        })\n    }\n\n    /// Prepare device for being snapshotted.\n    pub fn prepare_save(&mut self) {\n        unimplemented!(\"VhostUserBlock does not support snapshotting yet\");\n    }\n\n    pub fn config(&self) -> VhostUserBlockConfig {\n        VhostUserBlockConfig {\n            drive_id: self.id.clone(),\n            partuuid: self.partuuid.clone(),\n            is_root_device: self.root_device,\n            cache_type: self.cache_type,\n            socket: self.vu_handle.socket_path.clone(),\n        }\n    }\n\n    pub fn config_update(&mut self) -> Result<(), VhostUserBlockError> {\n        let start_time = get_time_us(ClockType::Monotonic);\n        let interrupt = self\n            .device_state\n            .active_state()\n            .expect(\"Device is not initialized\")","sourceCodeStart":235,"sourceCodeEnd":271,"githubUrl":"https://github.com/firecracker-microvm/firecracker/blob/23b09b943fa3cd4a04004fe55724f0b5c2410f45/src/vmm/src/devices/virtio/block/vhost_user/device.rs#L235-L271","documentation":"Error \"VhostUserBlock does not support snapshotting yet\" thrown in firecracker-microvm/firecracker.","triggerScenarios":"Thrown at src/vmm/src/devices/virtio/block/vhost_user/device.rs:243 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Do not snapshot a microVM that uses a vhost-user block device; detach it or use a supported block backend before snapshotting.","Track upstream vhost-user snapshot support and upgrade when available."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"23b09b943fa3cd4a04004fe55724f0b5c2410f45","analyzedAt":"2026-08-19T05:27:02.517Z","contentChangedAt":"2026-08-19T05:27:02.517Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}