Das ist das eben der Vorteil des Großkonzerns, denn Android basiert auch auf dem Linux Kernel und Leute die sich damit auskennen, düfte es bei Samsung genug geben, denn wie viele Geräte von Samsung laufen den unter Android? Auch wenn wohl wenige bis keines davon auch mdadm RAID nutzt, so ist das dann doch ein vergleichsweise kleine Schritt sich das anzusehen und dabei dürfte dann der Fehler aufgefallen sein. Es passiert ja oft, dass Fremde Fehler finden die denen die damit immer arbeiten nicht auffallen.
Das Teilen der Speicherbreiches zweier Pointer war ja ohne TRIM problemlos weil die Daten beim Lesen oder Schreiben nicht geändert wurden, dann wurde TRIM implementiert und dabei hat man nicht daran gedacht, dass bei mdraid noch ein weitere Pointer auf den Bereich zeigen kann und der Bereich auf den beide zeigen sich danach bei TRIM Befehlen noch ändert weil die zu trimmenden LBAs dort erst später eingetragen werden. So habe ich das hier jedenfalls verstanden und da wurde eben nicht dran gedacht. Bei so einer Änderung der Abarbeitungsreihenfolge würde ich auch direkt mehr Bugs befürchten, wer weiß wo da noch Stellen sind wo sowas auftritt, denn TRIM Befehle scheinen im Kernel ganz anders als Lese- und Schreibbefehle verarbeitet zu werden und die TRIM Unterstützung ist eben nach lange nach dem Erstellen der ganzen Rotinen eingepflegt worden, was alleine schon immer ein erhöhtes Risiko von Bugs bedeutet, weil die ursprüngliche Entwicklung das eben nicht vorgesehen hatte und die die es Nachpflegen dann meist nicht alle Effekte an allen Stellen kennen und untersuchen.
Statt
kommt da nun
und wenn ich mir nur den Namen bio_clone_fast ansehe, würde ich auch nicht sofort darauf kommen, dass dort nur ein zweiter Pointer auf den gleichen Adressbereich erzeugt wird, clone klingt sehr nach einer Deep Copy, also dem Anlegen eines zweiten Puffers für den neuen Pointer und dem Kopieren der Daten dort rein.
PS: @blackiwid: Polemik, Provokationen sind auch verboten und wer Beiträge mit so viele Rechtschreibfehlern bringt, das man dahinter keinen Menschen mehr vermuten kann, weil niemand bei derart bei vielen Fehlern in einem Wort und im ganzen Satzbau noch den Sinn begreifen kann, der muss sich über entsprechende Antworten nicht wundern. Wie man in den Wald ruft....
Außerdem habe ich Deine ganze angeblichen Argumente doch schon alle widerlegt und Du kommst immer wieder mit den selben Sachen wie dem angeblichen Treiber von Samsung den es nicht gibt, ohne je seine Existenz belegt zu haben.
Wenn man seine Meinung nicht der Faktenlage anpasst, wird sie zur Polemik und in Deinem Fall hier zu klarem Bashing.
PS2: Für alle die es vergessen haben, hier noch ein Auszug aus den Regeln:
Das Teilen der Speicherbreiches zweier Pointer war ja ohne TRIM problemlos weil die Daten beim Lesen oder Schreiben nicht geändert wurden, dann wurde TRIM implementiert und dabei hat man nicht daran gedacht, dass bei mdraid noch ein weitere Pointer auf den Bereich zeigen kann und der Bereich auf den beide zeigen sich danach bei TRIM Befehlen noch ändert weil die zu trimmenden LBAs dort erst später eingetragen werden. So habe ich das hier jedenfalls verstanden und da wurde eben nicht dran gedacht. Bei so einer Änderung der Abarbeitungsreihenfolge würde ich auch direkt mehr Bugs befürchten, wer weiß wo da noch Stellen sind wo sowas auftritt, denn TRIM Befehle scheinen im Kernel ganz anders als Lese- und Schreibbefehle verarbeitet zu werden und die TRIM Unterstützung ist eben nach lange nach dem Erstellen der ganzen Rotinen eingepflegt worden, was alleine schon immer ein erhöhtes Risiko von Bugs bedeutet, weil die ursprüngliche Entwicklung das eben nicht vorgesehen hatte und die die es Nachpflegen dann meist nicht alle Effekte an allen Stellen kennen und untersuchen.
Statt
Code:
split = bio_clone_fast(bio, gfp, bs);
Code:
/*
* Discards need a mutable bio_vec to accommodate the payload
* required by the DSM TRIM and UNMAP commands.
*/
if (bio->bi_rw & REQ_DISCARD)
split = bio_clone_bioset(bio, gfp, bs);
else
split = bio_clone_fast(bio, gfp, bs);
PS: @blackiwid: Polemik, Provokationen sind auch verboten und wer Beiträge mit so viele Rechtschreibfehlern bringt, das man dahinter keinen Menschen mehr vermuten kann, weil niemand bei derart bei vielen Fehlern in einem Wort und im ganzen Satzbau noch den Sinn begreifen kann, der muss sich über entsprechende Antworten nicht wundern. Wie man in den Wald ruft....
Außerdem habe ich Deine ganze angeblichen Argumente doch schon alle widerlegt und Du kommst immer wieder mit den selben Sachen wie dem angeblichen Treiber von Samsung den es nicht gibt, ohne je seine Existenz belegt zu haben.
Wenn man seine Meinung nicht der Faktenlage anpasst, wird sie zur Polemik und in Deinem Fall hier zu klarem Bashing.
PS2: Für alle die es vergessen haben, hier noch ein Auszug aus den Regeln:
Zuletzt bearbeitet: