में पथ से इनोड प्राप्त करना मैं वर्तमान में कर्नेल फ़ंक्शन में दिए गए पथनाम के लिए एक इनोड प्राप्त करने का प्रयास कर रहा हूं। मेरे पास उपलब्ध है पूर्ण पथनाम है। मैंने प्रयासों की कोशिश की है:लिनक्स कर्नेल
user_path_at(AT_FDCWD, buffer, LOOKUP_FOLLOW, &path);
लेकिन उस दिए गए पथ में दंत चिकित्सा मान्य नहीं है, ऐसा लगता है कि यह निकलता है। तब मैंने सोचा कि शायद स्टेट() की कोशिश कर रहा है और उस से इनोड नंबर प्राप्त कर रहा है। हालांकि, यह केवल मुझे एक संख्या देता है, एक संरचना इनोड नहीं। मुझे किसी मौजूदा इनोड को पकड़ने और इनोड की पूरी सूची को घुमाने के बिना एक इनोड नंबर को एक इनोड में परिवर्तित करने का तरीका पता नहीं है। और मुझे यह भी नहीं पता कि यह काम करेगा या नहीं। लेकिन मैं निश्चित रूप से ऐसा नहीं करना चाहता हूं।
क्या कर्नेल के अंदर char * pathname से स्ट्रक्चर इनोड प्राप्त करने का कोई आसान तरीका है?
यह सिर्फ मुझे मारा (लगभग 3 घंटे बाद) कि stat() मेरी आवश्यकताओं के लिए पर्याप्त होगा, क्योंकि मुझे केवल जानकारी की आवश्यकता है। मैं इनोड को प्राप्त करने के लिए इतना नरक हो गया कि मैंने आंशिक रूप से मेरे लक्ष्य को खो दिया। और मैं इसे कर्नेल के भीतर से कर रहा हूं। तो प्रदर्शन करने वाला स्टेट() वास्तव में इष्टतम नहीं है, लेकिन करेगा। –
लिंक मर चुका है। यही कारण है कि लिंक केवल जवाब खराब हैं। – MSalters