Sounds good to me generally. Also, we need to identify the filter by its node name when the file names of a node and of the filter above it are the same. And what about automatically generated node name for the filter? We will want to pass it to the stream routine. Andrey ________________________________ From: Vladimir Sementsov-Ogievskiy Sent: Thursday, April 30, 2020 10:12 PM To: Max Reitz ; qemu block Cc: Kevin Wolf ; qemu-devel ; Andrey Shinkevich Subject: Re: backing chain & block status & filters > > .... The only difference is that if you use file-child-based filters, you can't do stream/commit around them. I just think, that binding the concept to the "backing" link of the node is simpler and more generic. In blockdev era, when all nodes will be named and libvirt will take care of all nodes including filters, we will not need any filter-skipping magic, libvirt will directly point to exact nodes it means. And we can deprecate "file" children of existing filters, to finally reach simple architecture with simple backing chain of nodes (any nodes). And after deprecating old filename-based interfaces, we'll drop all filter-skipping magic.. What do you think? -- Best regards, Vladimir