ผู้ใช้พบว่า io_uring ใน Linux ยังส่งข้อมูลไปยังอุปกรณ์หลังจากกระบวนการถูกสังหารและ reaped ผ่าน waitpid() ซึ่งขัดกับความเข้าใจเดิมที่ I/O จะหยุดทำงานเมื่อกระบวนการตาย หลักฐานจากทดสอบแสดงว่าข้อมูลยังเขียนถึงอุปกรณ์ได้แม้กระบวนการจะถูกสังหารแล้ว โดยใช้ NVMe ที่มีการล่าช้า 3 วินาที พบว่าข้อมูลเขียนถึงได้หลังจาก waitpid() กลับค่า ปัญหานี้เกิดจาก I/O ยังคงทำงานในระบบแม้กระบวนการจะถูกปิด ซึ่งกระทบแอปที่พึ่งพา waitpid() เป็นบาร์ริเออร์ I/O วิธีแก้คือการใช้ flock() เพื่อสร้างล็อกแบบเดียวสำหรับอุปกรณ์ ทำให้กระบวนการใหม่ไม่สามารถเขียนข้อมูลได้จนกว่า I/O ของกระบวนการเก่าจะเสร็จ ผลการทดสอบยืนยันว่าล็อกนี้ป้องกันการเขียนข้อมูลหลังกระบวนการตายได้ แม้ใน NVMe ที่ไม่ใช่ dm-delay ก็ยังพบการเขียนข้อมูลล่าช้า 627/1024 บล็อก
สรุปด้วย MAF Local AI · เนื้อหาต้นฉบับเป็นของแหล่งข่าว