Skip to content
  • Hanna Reitz's avatar
    b3af2af4
    block: Make filter drivers use child_of_bds · b3af2af4
    Hanna Reitz authored
    
    
    Note that some filters have secondary children, namely blkverify (the
    image to be verified) and blklogwrites (the log).  This patch does not
    touch those children.
    
    Note that for blkverify, the filtered child should not be format-probed.
    While there is nothing enforcing this here, in practice, it will not be:
    blkverify implements .bdrv_file_open.  The block layer ensures (and in
    fact, asserts) that BDRV_O_PROTOCOL is set for every BDS whose driver
    implements .bdrv_file_open.  This flag will then be bequeathed to
    blkverify's children, and they will thus (by default) not be probed
    either.
    
    ("By default" refers to the fact that blkverify's other child (the
    non-filtered one) will have BDRV_O_PROTOCOL force-unset, because that is
    what happens for all non-filtered children of non-format drivers.)
    
    Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
    Message-Id: <20200513110544.176672-27-mreitz@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    b3af2af4
    block: Make filter drivers use child_of_bds
    Hanna Reitz authored
    
    
    Note that some filters have secondary children, namely blkverify (the
    image to be verified) and blklogwrites (the log).  This patch does not
    touch those children.
    
    Note that for blkverify, the filtered child should not be format-probed.
    While there is nothing enforcing this here, in practice, it will not be:
    blkverify implements .bdrv_file_open.  The block layer ensures (and in
    fact, asserts) that BDRV_O_PROTOCOL is set for every BDS whose driver
    implements .bdrv_file_open.  This flag will then be bequeathed to
    blkverify's children, and they will thus (by default) not be probed
    either.
    
    ("By default" refers to the fact that blkverify's other child (the
    non-filtered one) will have BDRV_O_PROTOCOL force-unset, because that is
    what happens for all non-filtered children of non-format drivers.)
    
    Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
    Message-Id: <20200513110544.176672-27-mreitz@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Loading