file io - open O_CREAT | O_EXCL on NFS in Linux? -


लिनक्स 2.6 कर्नेल में और एनएफएस 3 में खुला ("fname", O_CREAT | O_EXCL) मान्य हो गया? वर्तमान वैधानिक open (2) सिस्टम कॉल दस्तावेज़ीकरण () कहता है सब कुछ ठीक है:

  - O_EXCL - ... NFS पर, O_EXCL केवल तब समर्थित है जब NFSv3 या बाद में कर्नेल 2.6 या बाद में। एनएफएस परिवेश में जहां O_EXCL का समर्थन नहीं दिया गया है, ऐसे कार्यक्रम जो लॉकिंग कार्यों के लिए उस पर भरोसा करते हैं, वे रेस की स्थिति में होंगे। पोर्टेबल प्रोग्राम जो लॉकफाइल का उपयोग करके परमाणु फ़ाइल लॉकिंग करना चाहते हैं, और O_EXCL के लिए NFS समर्थन पर निर्भरता से बचने की आवश्यकता हो सकती है ...  

यह पढ़ता है जैसे कि सभी 2.6 कर्नेल ठीक हैं, लेकिन मैन पेज (ca देर कर्नेल 2.6.23) 2.6.0 के बाद वैधता चार साल का संकेत देना शुरू हो गया है, और वेब बोर्ड उपयोगकर्ताओं के साथ इस उपयोग की निंदा करने के लिए है पिछले साल या दो मैं RHEL 5 (2.6.18) सिस्टम पर इस सेटअप का उपयोग करना चाहता हूं, लेकिन जब मैं वास्तव में सुरक्षित बन गया तो मैं पिन नहीं कर सका क्या किसी के पास एक निश्चित जवाब है?

जाहिर है, एनएफएस लोग दावा करते हैं कि NFSv3 < / Strong> और 2.6.5 पर लिनक्स ठीक है।

से:

  • D10 मैं एकाधिक ग्राहकों पर उपयोग की गई फ़ाइलों को लॉक करने के लिए झुंड () / बीएसडी लॉक का उपयोग करने की कोशिश कर रहा हूं, लेकिन फ़ाइलें दूषित हो गई हैं कैसे आए?
    • ए झुंड () / बीएसडी ताले केवल स्थानीय रूप से 2.6.12 से पहले लिनक्स एनएफएस क्लाइंट पर कार्य करते हैं। यह सुनिश्चित करने के लिए कि फाइल लॉक अन्य क्लाइंटों के लिए दृश्यमान हैं fcntl () / POSIX लॉक का उपयोग करें।
    • यहां कुछ तरीके हैं जो किसी NFS फाइल को एक्सेस करने के लिए सीरियल कर सकते हैं।
      • fcntl () / POSIX लॉकिंग एपीआई का प्रयोग करें। इस प्रकार की लॉकिंग एनएलएम प्रोटोकॉल के माध्यम से, या एनएफएसवी 4 के माध्यम से कई ग्राहकों में बाइट-रेंज लॉकिंग प्रदान करती है।
      • एक अलग लॉकफाइल का उपयोग करें, और इसके लिए हार्ड लिंक बनाएं Creat (2) मैन पेज के O_EXCL अनुभाग में विवरण देखें।
    • यह ध्यान देने योग्य है कि 2.6 केरल के प्रारंभ तक, O_EXCL बनाता है, लिनक्स NFS क्लाइंट पर परमाणु नहीं थे। O_EXCL का उपयोग न करें और कई एनएफएस क्लाइंट के बीच परमाणु व्यवहार की अपेक्षा करें जब तक आप 2.6.5 की तुलना में कोई नया कर्नेल नहीं चलते।
    • ...

Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -