On Thu, Aug 6, 2020 at 1:15 AM Muneendra Kumar M <muneendra.kumar@xxxxxxxxxxxx> wrote: > > Hi Tejun, > Our main requirement is to track the bio requests coming from different VM > /container applications at the blk device layer(fc,scsi,nvme). > By the time IO request comes to the blk device layer, the context of the > application is lost and we can't track whose IO this belongs. > > In our approach we used the block cgroup to achieve this requirement. > Since Requests also have access to the block cgroup via > bio->bi_blkg->blkcg, and from there we can get the VM UUID. > Therefore we added the VM UUID(app_identifier) to struct blkcg and define > the accessors in blkcg_files and blkcg_legacy_files. > > Could you please let me know is there any another way where we can get the > VM UUID info with the help of blkcg. As Tejun suggested, the mapping between bio->bi_blkg->blkcg and the unique ID could be built in usage scope, such as fabric infrastructure, something like xarray/hash may help to do that without much difficulty. Thanks, Ming