I moved this away from Proxmox 4.4 virtio_scsi regression to avoid necroposting, this is a reply to post from @t.lamprecht originally.
NB I do not solicit any reaction, I just wanted to let anyone, who wants to correct me, give that opportunity. But the below is my understanding.
The way I understood this whole historical situation:
1. there was unexplained corruption happening with some user somewhere on mdraid;
2. hypothesis was made why this is happening;
3. test case written (and then passed on to Stanislav to post this to kernel BZ?);
4. displeased with inaction, the hypothesis (2) was added to the thread;
5. displeased with continuing inaction, other solution was chosen.
I do not care as much for (5), as this is your choice, for your own solution, but the reasoning is completely wrong:
6. If I now ship this test case (3) to Hannes, I would be source of good laugh, as I am reproducing something that is literally expected to behave the way it does;
7. I cannot reproduce the hypothetical (2) which the case (3) was supposed to demonstrate;
8. I can choose filesystem that ignores my O_DIRECT (as you did), but;
9. I can also choose not to use O_DIRECT.
Noteworthy is also that qemu does not even default to O_DIRECT.
You just killed off (your list) every single but CoW filesystems.
The so-called test case is not relevant (6). It is a bit like saying that a test case exists that mdraid level 1 cannot fix silent corruption.
But cannot reproduce.
I have no reproducer for.
So instead of not using it you *need* a filesystem that ... ignores it.
You all reference each other, but historically only Dietmar had a point with "too difficult for users to recover from failures".
There are points not to use mdraid for sure, but those are well known, not this one blown out of proportion.
To this day, we do not know what caused it. I know how it feels, I had it happen with unnamed filesystem too.
NB I do not solicit any reaction, I just wanted to let anyone, who wants to correct me, give that opportunity. But the below is my understanding.
Yeah, and as Wolfgang wrote one can trigger a modification of the butter after write was issued,
The way I understood this whole historical situation:
1. there was unexplained corruption happening with some user somewhere on mdraid;
2. hypothesis was made why this is happening;
3. test case written (and then passed on to Stanislav to post this to kernel BZ?);
4. displeased with inaction, the hypothesis (2) was added to the thread;
5. displeased with continuing inaction, other solution was chosen.
I do not care as much for (5), as this is your choice, for your own solution, but the reasoning is completely wrong:
6. If I now ship this test case (3) to Hannes, I would be source of good laugh, as I am reproducing something that is literally expected to behave the way it does;
7. I cannot reproduce the hypothetical (2) which the case (3) was supposed to demonstrate;
8. I can choose filesystem that ignores my O_DIRECT (as you did), but;
9. I can also choose not to use O_DIRECT.
Noteworthy is also that qemu does not even default to O_DIRECT.
so a storage technology should be resilient to those
You just killed off (your list) every single but CoW filesystems.
In any way the fact that there is a test case that can make this happen is enough for it to be a problem, the kernel cannot tell the difference if a user space behavior is made possible through a made up test case or a (also made up) "real" program.
The so-called test case is not relevant (6). It is a bit like saying that a test case exists that mdraid level 1 cannot fix silent corruption.
The "re-use just swapped out memory" is one vector Wolfgang singled out
But cannot reproduce.
but there can be others.
I have no reproducer for.
And sure O_DIRECT is a PITA interface
So instead of not using it you *need* a filesystem that ... ignores it.
as mentioned by Wolfgang/Fabian, that's why md-RAID is just not an option for Proxmox VE
You all reference each other, but historically only Dietmar had a point with "too difficult for users to recover from failures".
There are points not to use mdraid for sure, but those are well known, not this one blown out of proportion.
this thread was opened due to a user running into problems that were very real world for them.
To this day, we do not know what caused it. I know how it feels, I had it happen with unnamed filesystem too.
Last edited: