إهلاك SDCardFS

تم إهمال SDCardFS على الأجهزة التي تعمل بنظام التشغيل Android 11 أو إصدار أحدث وتعمل بإصدار kernel 5.4 أو إصدار أحدث. على مثل هذه الأجهزة، لا يسمح اختبار VTS بأنظمة الملفات المثبتة والمدرجة على أنها SDCardFS. يمكن للأجهزة التي تعمل بنظام التشغيل Android 11 أو إصدار أحدث ولكنها تعمل بإصدار kernel 4.19 أو إصدار أقل الاستمرار في استخدام SDCardFS، لكن Google لا تقدم دعمًا إضافيًا.

قبل إيقافها، كانت SDCardFS توفر طريقة للتحكم في الوصول إلى وحدة التخزين الداخلية التي تمت محاكاتها وبطاقات SD الخارجية، مما يسمح للتطبيقات بالوصول فقط إلى البيانات ذات الصلة بها. بالإضافة إلى ذلك، فقد وفرت طبقة من عدم حساسية حالة الأحرف، بالإضافة إلى بعض تتبع التخزين الإضافي.

وظيفة استبدال SDCardFS

يستخدم استبدال SDCardFS العديد من ميزات نظام ملفات Linux kernel لتحقيق نتائج مماثلة. يتم التعامل مع عدم حساسية حالة الأحرف مباشرة من خلال نظام الملفات؛ يؤدي هذا إلى أوقات بحث متطابقة تقريبًا في المجلدات الحساسة لحالة الأحرف وغير الحساسة لحالة الأحرف، مما يؤدي إلى إزالة تباطؤ المجلدات الكبيرة من SDCardFS. تم الآن تكوين تتبع الحصص الذي كان يقوم به SDCardFS لجمع بيانات التخزين للإعدادات بسرعة من مساحة المستخدم باستخدام حصص المشروع. في بعض السياقات الحساسة للأداء، يتم ربط الدلائل في مكانها. يوفر تطبيق FUSE الجديد مساحة تخزين محددة للوصول المباشر إلى نظام الملفات، وذلك في المقام الأول لدعم تنقيح معلومات الموقع.

تكوين وظيفة استبدال بطاقة SDCard

لتمكين حصص المشروع وطي الحالة للتخزين الذي تمت محاكاته بدون 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 ميزات التخزين المحددة النطاق هذه.