SDCardFS का बंद होना

SDCardFS, Android 11 या इसके बाद के वर्शन और कर्नेल वर्शन 5.4 या इसके बाद के वर्शन वाले डिवाइसों पर काम नहीं करता. ऐसे डिवाइसों पर, VTS जांच में, SDCardFS के तौर पर सूची में शामिल माउंट किए गए फ़ाइल सिस्टम का इस्तेमाल नहीं किया जा सकता. Android 11 या इसके बाद के वर्शन के साथ लॉन्च होने वाले, लेकिन कर्नेल वर्शन 4.19 या इससे पहले के वर्शन वाले डिवाइसों में SDCardFS का इस्तेमाल जारी रखा जा सकता है. हालांकि, Google इसकी कोई और सहायता नहीं देता.

बंद होने से पहले, SDCardFS की मदद से, एमुलेट किए गए डिवाइस के इंटरनल स्टोरेज और बाहरी एसडी कार्ड का ऐक्सेस कंट्रोल किया जा सकता था. इससे ऐप्लिकेशन, सिर्फ़ अपने काम का डेटा ऐक्सेस कर पाते थे. इसके अलावा, यह केस इनसेंसिटिविटी की सुविधा भी देता है. साथ ही, स्टोरेज को ट्रैक करने की कुछ अन्य सुविधाएं भी देता है.

SDCardFS की जगह लेने वाली सुविधा

SDCardFS की जगह, इसी तरह के नतीजे पाने के लिए, Linux kernel फ़ाइल सिस्टम की कई सुविधाओं का इस्तेमाल किया जाता है. केस-इनसेंसिटिव फ़ाइल सिस्टम, केस-सेंसिटिव और केस-इनसेंसिटिव फ़ोल्डर में, फ़ाइलों को खोजने में लगने वाले समय में ज़्यादा अंतर नहीं होने देता. इससे, SDCardFS में बड़े फ़ोल्डर को खोजने में लगने वाला समय कम हो जाता है. सेटिंग के लिए स्टोरेज डेटा को तुरंत इकट्ठा करने के लिए, SDCardFS जो कोटा ट्रैकिंग कर रहा था उसे अब प्रोजेक्ट कोटा का इस्तेमाल करके, उपयोगकर्ता स्पेस से कॉन्फ़िगर किया गया है. परफ़ॉर्मेंस पर असर डालने वाले कुछ कॉन्टेक्स्ट में, डायरेक्ट्री को जगह पर बाइंड माउंट किया जाता है. FUSE के नए वर्शन में, फ़ाइल सिस्टम को सीधे ऐक्सेस करने के लिए, स्कोप वाला स्टोरेज उपलब्ध कराया जाता है. इसका मकसद, मुख्य रूप से जगह की जानकारी हटाने की सुविधा को बेहतर बनाना है.

एसडी कार्ड बदलने की सुविधा को कॉन्फ़िगर करना

Android 11 या इसके बाद के वर्शन वाले डिवाइस पर, एमुलेट किए गए स्टोरेज के लिए प्रोजेक्ट कोटा और केस फ़ोल्डिंग की सुविधा चालू करने के लिए, device.mk फ़ाइल में emulated_storage.mk से इनहेरिट करें:

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

चेतावनी: Android 10 या इससे पहले के वर्शन वाले डिवाइसों पर ऐसा करें. ऐसा इसलिए, क्योंकि फ़ाइल सिस्टम में केस-इनसेंसिटिविटी की सुविधा, ऐसे डिवाइसों पर इस्तेमाल की जाने वाली फ़ाइल-आधारित एन्क्रिप्शन सेटिंग के साथ काम नहीं करती. ऐसे डिवाइसों पर, SDCardFS का इस्तेमाल करना ज़रूरी है.

SDCardFS को बंद करने की वजहें

SDCardFS को बंद करने की कई वजहें हैं.

ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना

SDCardFS को केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) से जुड़ी कई समस्याओं का सामना करना पड़ता है. साथ ही, कम मेमोरी की स्थिति से जुड़ी कुछ समस्याएं भी आती हैं. केस-इनसेंसिटिव लुकअप, बड़ी डायरेक्ट्री में धीमे काम कर सकते हैं, क्योंकि लुकअप को वैकल्पिक केस ढूंढने के लिए, डायरेक्ट्री के सबसे नीचे तक जाना पड़ता है. एक ही समय पर अपर और लोअर फ़ाइल सिस्टम को ऐक्सेस करने से भी समस्याएं आ सकती हैं.

अपस्ट्रीम पैरिटी

SDCardFS को VFS में कुछ और पैच करने की ज़रूरत होती है, ताकि बिंड माउंट पर विकल्प बदलने की सुविधा काम कर सके. इन पैच की वजह से, इन इलाकों में अपस्ट्रीम बदलावों को स्वीकार करने के लिए ज़्यादा काम करना पड़ता है. SDCardFS की सुविधाओं को अपस्ट्रीम कॉम्पोनेंट की मदद से दोहराया जा सकता है. इससे, इस समस्या को हल किया जा सकता है.

एपीआई के साथ सुविधाओं की समानता

Android के पिछले वर्शन में, स्कोप वाले स्टोरेज की सुविधा से कुछ खास तरह के मेटाडेटा का ऐक्सेस सीमित किया गया था. SDCardFS की मदद से, स्टोरेज को सीधे ऐक्सेस करने की सुविधा, स्टोरेज के दायरे से जुड़ी इन सुविधाओं के साथ काम नहीं करती.