2
ระบบไฟล์สามารถเขียนด้วย ext4 ได้นานเท่าใด
ขณะที่ผ่านมาได้มีการอภิปรายเกี่ยวกับ ext4 อาจปล่อยไฟล์ที่ว่างเปล่าหลังจากที่ยกเลิกการต่อเชื่อมมลทินสรุปได้สวยดีในบทความนี้ โดยทั่วไปเนื่องจากการจัดสรรล่าช้าการเขียนสามารถเก็บไว้ในแคชการเขียนเป็นเวลานานกว่าช่วงการยอมรับเริ่มต้นของวารสารเจอร์นัล (5 วินาที) ปัญหาดูเหมือนจะได้รับการแก้ไขในโปรแกรมแก้ไขที่บังคับให้บล็อกการจัดสรรในบางสถานการณ์ดังนั้นบังคับให้ข้อมูลไปยังดิสก์หลังจาก 5 วินาทีโดยค่าเริ่มต้น ฉันสงสัยว่าจะเกิดอะไรขึ้นเมื่อแอปพลิเคชันเขียนทับส่วนที่มีอยู่ของไฟล์โดยไม่ต้องตัดทอนหรือต่อท้ายไฟล์เอง จะบังคับให้ดิสก์ภายใน 5 วินาทีหรือไม่ ดูเหมือนว่าจะมีสถานการณ์ที่แตกต่างจากการผนวกเข้ากับไฟล์: เมื่อผนวกแล้วขนาดของไฟล์จะเปลี่ยนแปลงซึ่งเป็นการเปลี่ยนแปลงข้อมูลเมตา ดังนั้นบันทึกประจำวันจะมีความจำเป็นภายใน 5 วินาทีและเนื่องจาก data = สั่งแล้วข้อมูลจะต้องถูกเขียนก่อนหน้านั้นเนื่องจากความกังวลด้านความปลอดภัย (มิฉะนั้นบางส่วนของไฟล์ที่ถูกลบของผู้ใช้คนอื่น ๆ ไฟล์). เมื่อเขียนทับข้อมูลไฟล์ไม่มีเหตุผลว่าทำไมการเขียนข้อมูลควรจะเกิดขึ้นก่อนที่จะทำเจอร์นัลเมทาดาทาเนื่องจากข้อมูลเก่าเป็นของผู้ใช้รายเดียวกันกับผู้ใช้รายใหม่ ดังนั้นการเขียนจะเกิดขึ้นก่อนการส่งมอบต่อไปหรืออาจล่าช้ากว่าช่วงเวลาการส่งมอบบันทึกประจำวันหรือไม่ ถ้าเป็นเช่นนั้นนานเท่าไหร่ อัปเดต: ฉันรู้ว่าทั้งหมดนี้ไม่เกี่ยวข้องเมื่อทำสิ่งที่ถูกต้องนั่นคือใช้ fsync () (นี่เป็นเหตุผลหลักสำหรับการอภิปรายทั้งหมดเกี่ยวกับ ext4 และการสูญเสียข้อมูล - ปัญหาเฉพาะแอปพลิเคชันที่ไม่ได้เป็น fsync () หรือไม่ถูกต้องในช่วงเวลาที่เหมาะสม) ฉันไม่ได้เขียนแอปพลิเคชันของตัวเอง ไม่ทราบว่าแอปพลิเคชันทั้งหมดของฉันทำสิ่งที่ถูกต้องหรือไม่และฉันต้องการทราบระยะเวลาโดยประมาณสำหรับการเขียน "อันตราย" ดังกล่าว เหตุผลในการถามคือไดรเวอร์กราฟิกของฉันทำให้เกิดความตื่นตระหนกของเคอร์เนลเป็นประจำและฉันต้องการทราบว่าฉันต้องกังวลมากกว่า 5 วินาทีสุดท้ายของการเขียนข้อมูลหรือไม่
14
filesystems
ext4