def METHOD_NAME(self):
    if self.is_blockdev_mode():
        options = ["node", "overlay"]
        cmd = "blockdev-snapshot"
    else:
        options = ["device", "mode", "snapshot-file", "format"]
        cmd = "blockdev-snapshot-sync"
    arguments = self.params.copy_from_keys(options)
    if not self.is_blockdev_mode():
        arguments["snapshot-file"] = self.snapshot_image.image_filename
    else:
        arguments.setdefault("overlay", "drive_%s" % self.snapshot_tag)
    return self.main_vm.monitor.cmd(cmd, dict(arguments))