2012-11-22 25 views
6

पर लटकता है मैं एक लिनक्स ब्लॉक डिवाइस ड्राइवर लिख रहा हूं और मेरे पास प्रारंभिक सामान काम करने के बहुत सारे हैं। हालांकि, जब मैं अंततः add_disk() पर कॉल करता हूं, तो मॉड्यूल insmod के दौरान लटकता है।add_disk() insmod

हमलावर स्निपेट यहां है:

set_capacity(gendisk, dev->nsectors); 
add_disk(gendisk); 

//this line is never reached 

उत्तर

6

यह प्रतीत होता है set_capacity()से पहले डिस्क को जोड़ने के साथ क्षमता स्थापित करने की वजह से किया जाना है। this mailing list के अनुसार, add_disk को gendisk->capacity = 0 के साथ एक गैन्डिस्क पर कॉल किया जाना चाहिए, अन्यथा यह check_partition() में लटकता है।

निम्नलिखित काम करने के लिए प्रकट होता है:

set_capacity(gendisk, 0) 
add_disk(gendisk); 
set_capacity(gendisk, dev->nsectors); 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^