การเลิกใช้งาน SDCardFS

SDCardFS เลิกใช้งานแล้วในอุปกรณ์ที่ใช้ Android 11 ขึ้นไปและใช้เคอร์เนลเวอร์ชัน 5.4 ขึ้นไป ใน อุปกรณ์ VTS การทดสอบ ไม่อนุญาตระบบไฟล์ที่ต่อเชื่อมซึ่งระบุเป็น SDCardFS อุปกรณ์ที่เปิดตัวด้วย Android 11 ขึ้นไป แต่มีเคอร์เนลเวอร์ชัน 4.19 หรือ ยังคงใช้ SDCardFS ต่อไปได้ แต่ Google ไม่ได้ให้ การสนับสนุน

SDCardFS มีวิธีควบคุมการเข้าถึงโปรแกรมจำลองก่อนที่จะเลิกใช้งาน ที่จัดเก็บข้อมูลภายในและการ์ด SD ภายนอก ทำให้แอปพลิเคชันสามารถเข้าถึงได้เฉพาะข้อมูล ที่เกี่ยวข้องกับตน นอกจากนี้ยังเป็นการให้การพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่อีกชั้นหนึ่ง อย่างเช่น รวมถึงการติดตามพื้นที่เก็บข้อมูลเพิ่มเติมบางส่วน

ฟังก์ชันการแทนที่ SDCardFS

การแทนที่ SDCardFS ใช้ฟีเจอร์ระบบไฟล์เคอร์เนลของ Linux หลายอย่างเพื่อ ได้ผลลัพธ์ที่คล้ายกัน การไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่จะจัดการโดย ระบบไฟล์ วิธีนี้ทำให้เวลาการค้นหาแทบจะเหมือนกันทั้งหมดเมื่อพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ โฟลเดอร์ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ จะนำการเลื่อนโฟลเดอร์ขนาดใหญ่ออกจาก SDCardFS การติดตามโควต้าที่ SDCardFS กำลังทำเพื่อรวบรวมข้อมูลในพื้นที่เก็บข้อมูลอย่างรวดเร็ว กำหนดการตั้งค่าจากพื้นที่ผู้ใช้โดยใช้โควต้าโปรเจ็กต์แล้ว ในบางส่วน บริบทที่มีผลต่อประสิทธิภาพการทำงาน ไดเรกทอรีจะต่อเชื่อมอยู่กับที่ ใหม่ การใช้งาน FUSE มีพื้นที่เก็บข้อมูลที่กำหนดขอบเขตสำหรับการเข้าถึงระบบไฟล์โดยตรง เพื่อสนับสนุนการปกปิดข้อมูลตำแหน่งเป็นหลัก

กำหนดค่าฟังก์ชันการแทนที่การ์ด SD

วิธีเปิดใช้โควต้าโปรเจ็กต์และการพับเคสสำหรับพื้นที่เก็บข้อมูลจำลองโดยไม่มี SDCardFS บนอุปกรณ์ที่เปิดตัว ด้วย Android 11 ขึ้นไป รับค่าจาก emulated_storage.mk ในไฟล์ device.mk:

$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)

คำเตือน: โปรดอย่าดำเนินการดังกล่าวในอุปกรณ์ ที่เปิดตัวด้วย Android 10 หรือต่ำกว่า การไม่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่ของระบบไฟล์ใช้ไม่ได้กับไฟล์ การตั้งค่าการเข้ารหัสที่ใช้ในอุปกรณ์ดังกล่าว จำเป็นต้องใช้ SDCardFS ต่อไป บนอุปกรณ์ดังกล่าว

เหตุผลที่เลิกใช้งาน SDCardFS

มีสาเหตุหลายประการในการเลิกใช้งาน SDCardFS

ความเสถียร

SDCardFS ได้รับผลกระทบจากเงื่อนไขการแข่งขันหลายด้าน ซึ่งเกี่ยวกับการพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เช่น รวมถึงปัญหาบางอย่างเกี่ยวกับสถานการณ์ที่มีหน่วยความจำต่ำ ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ การค้นหาอาจค่อนข้างช้าในไดเรกทอรีขนาดใหญ่ เพราะการค้นหาต้องดำเนินการ ไดเรกทอรีด้านล่างเพื่อค้นหาเคสสำรอง การเข้าถึงส่วนบนและล่าง ระบบไฟล์โดยอัตโนมัติก็ทำให้เกิดปัญหาได้เช่นกัน

ความเท่าเทียมกันของอัปสตรีม

SDCardFS ต้องมีแพตช์เพิ่มเติมไปยัง VFS เพื่อรองรับการเปลี่ยนตัวเลือกใน เข้าเล่ม แพตช์เหล่านี้ทำให้ต้องมีการดำเนินการเพิ่มเติมเพื่อยอมรับการเปลี่ยนแปลงอัปสตรีมสำหรับ เหล่านี้ คอมโพเนนต์อัปสตรีมสามารถคัดลอกฟีเจอร์ของ SDCardFS ได้ ถึงการนำประเด็นปัญหานี้ออก

ฟีเจอร์ที่เทียบเท่ากับ API

ใน Android รุ่นก่อนหน้า พื้นที่เก็บข้อมูลที่กำหนดขอบเขตจะเข้าถึงได้อย่างจำกัด ประเภทต่างๆ การเข้าถึงพื้นที่เก็บข้อมูลโดยตรงผ่าน SDCardFS ไม่รองรับการตั้งค่าเหล่านี้ พื้นที่เก็บข้อมูลที่กำหนดขอบเขต