मुझे जो समझ में आया है, btrfs सबवॉल्म्स एक ही फाइल सिस्टम "स्टोरेज" को साझा करते हैं, इसलिए मुझे यह जानकर आश्चर्य हुआ कि अलग-अलग सबवोल्यूम के बीच फाइल हिलाना एक महंगा ऑपरेशन है, जैसे अलग-अलग फाइलसिस्टम (कॉपी + डिलीट) के बीच चलना।
मैं विशेष रूप से आश्चर्यचकित था जब किसी ने इस काम के बारे में सुझाव दिया था: सबवोल्यूम के बीच रिफ़्लिंक-कॉपी फाइलें, फिर मूल वाले को हटा दें। इसे एक सस्ता ऑपरेशन (केवल मेटाडेटा के चारों ओर घूमना) कहा जाता है। कैसे है कि गाय का उपयोग करते समय अलग-अलग उप-खंड डेटा ब्लॉक साझा कर सकते हैं, लेकिन नहीं में-बढ़ते डेटा का आसान संचालन होना चाहिए?
cp --reflink
दो सबवोल्यूम्स के बीच उपयोग करने में सक्षम होने के लिए मुझे शीर्ष स्तर के सबवोल्यूम को माउंट करने और उस नेमस्पेस के अंदरcp
कमांड जारी करने के लिए मजबूर किया गया था , अन्यथा एक त्रुटि के साथ बाहर निकल जाएगाcp
...Invalid cross-device link
mv
एक मानक कॉपी ( चेंगलॉग ) पर वापस गिरने से पहले एक रिफ्लिन की कोशिश करेगा ।