Vfs परत पर linux कर्नेल में कैसे जांचें कि फ़ाइल ऑब्जेक्ट निर्देशिका या फ़ाइल के लिए है - linux, filesystems, कर्नेल, vfs

Vfs परत पर linux कर्नेल में कैसे जांचें कि फ़ाइल ऑब्जेक्ट निर्देशिका या फ़ाइल के लिए है या नहीं?

मैंने पाया है कि एक समारोह कहा जाता है is_dx(dir) जो इसके लिए जांचता है लेकिन यह मौजूद है namei.c में ext3 या ext4। मुझे यह करने की ज़रूरत है वीएफएस परत कि फाइल सिस्टम से स्वतंत्र है।

उत्तर:

जवाब के लिए 0 № 1

हाथ में प्रारंभिक निर्देशिका के कोड, कोड होने के बाद

प्राप्त करने के लिए पहले नाम से मेल खाने वाली प्रविष्टि की जांच करता है

संबंधित inode।

q फिर उस नोड वाले निर्देशिका फ़ाइल को डिस्क से पढ़ा जाता है और

दूसरे नाम से मेल खाने वाली प्रविष्टि की जांच करने के लिए जांच की जाती है

संबंधित inode।

q पथ में शामिल प्रत्येक नाम के लिए यह प्रक्रिया दोहराई जाती है।

दंत चिकित्सा कैश काफी प्रक्रिया को गति देता है

फाइल सिस्टम ऑपरेशंस ज्यादातर डीसीएसी स्तर पर किए जाते हैं, इसलिए

वे सभी कर्नेल लॉक के नीचे हैं।


जवाब के लिए 2 № 2

के बारे में कैसा S_ISDIR() मैक्रो परिभाषित include/linux/stat.h? यहinode->i_mode यह जांचने के लिए फ़ील्ड कि प्रश्न में इनोड निर्देशिका या फ़ाइल से संबंधित है या नहीं।


संबंधित सवाल
सबसे लोकप्रिय