stec-inc / EnhanceIO

EnhanceIO Open Source for Linux
Other
420 stars 176 forks source link

'ro' mode doesn't seem to bypass writes #61

Closed onlyjob closed 9 years ago

onlyjob commented 10 years ago

When cache created in 'ro' (read-only) mode then writes to cached device are also go to SSD cache. As far as I understand this is expected for 'wt' (write-through) mode but not for read-only mode which is not expected to save anything to cache during write operations. This looks like bug as at the moment I don't see any difference between read-only and write-through mode. Please advise.

bhansaliakhil commented 10 years ago

Hi,

This can not be the case. You may certainly have reads as well in your write workload which would eventually generate "caching writes" to SSD.

However, if you have pure write workload; and still if you see SSD writes in case of "read only" cache mode, it is an issue!!

Please verify!

onlyjob commented 10 years ago

@bhansaliakhil: How about you try to reproduce the problem I reported before saying "This can not be the case"? I confirmed the issue before reporting it. Reproducing may be as easy as to copy from /dev/zero to cached device and observe disk (and cache device) activity using nmon.

bhansaliakhil commented 10 years ago

Hi,

I did not want to offend you; I just want to cross check with you around the configuration. Thank you for clarification. I did try to reproduce and is reproducible. It is surprising as I see all the writes issued to target on readonly cache are being written to SSD as well.

I will take a look at the code to verify what is wrong. Thank you for reporting!

onlyjob commented 10 years ago

No worries, thanks for looking into this problem.

bhansaliakhil commented 10 years ago

https://github.com/stec-inc/EnhanceIO/pull/70

Here is the link for the fix of this issue. I have submitted pull request to main stec-inc/EnhanceIO repository. You may apply this fix to your local repository to test and verify the fix. Thank you.

onlyjob commented 9 years ago

Thanks to @bhansaliakhil this issue is fixed . IMHO this bug can be closed.