> > Yes. But just to stress again, one issue I see is that if there is a > page in the BIO that is not charged, you cannot charge the compressed page. I got it. Thanks. > > Assume you have some FS on that zram block device and you want to make > sure it gets properly charged to whoever is reading/writing a file on > that filesystem. (imagine something like a compress shmem) > > If a user (or the filesystem?) can trigger a BIO that has an uncharged > page in it, it would not get charged accordingly. > > The "easy" reproducer would have been O_DIRECT write() using the shared > zeropage, but zram_write_page() is smart enough to optimize for that > case (page_same_filled()). :) Ok, I will try it. > > Maybe I'm over-thinking this (well, the we do have partial I/O support, > so something seems to be able to trigger such cases), and it would be > great if someone with more FS->BIO experience could comment. > > I'll note that this is fundamentally different to zswap, because with > zswap you don't get arbitrary BIOs, you get an anon or shmem page (that > should be charged). > Hi David, I know your concern and I will try to find the uncharged case. > -- > Cheers, > > David / dhildenb >