Cisco သည် Rust ဖြင့်ရေးသားထားသော Linux kernel အတွက် module တစ်ခုအနေဖြင့်အကောင်အထည်ဖော်သည့် PuzzleFS ဖိုင်စနစ်အသစ်ကို အဆိုပြုထားသည်။ ဖိုင်စနစ်သည် သီးခြားကွန်တိန်နာများကို လက်ခံကျင်းပရန်အတွက် အသုံးပြုရန် ဒီဇိုင်းထုတ်ထားပြီး Atomfs ဖိုင်စနစ်တွင် အဆိုပြုထားသည့် အကြံဉာဏ်များကို ဆက်လက်ဖန်တီးထားသည်။ အကောင်အထည်ဖော်မှုသည် ရှေ့ပြေးပုံစံအဆင့်တွင်ရှိနေဆဲဖြစ်ပြီး သံချေးတက်နေသည့် Linux kernel ဌာနခွဲဖြင့် တည်ဆောက်ခြင်းကို ပံ့ပိုးထားပြီး Apache 2.0 နှင့် MIT လိုင်စင်များအောက်တွင် ဖွင့်လှစ်ထားသည်။
ပရောဂျက်သည် OCI (Open Container Initiative) ဖော်မက်တွင် ကွန်တိန်နာပုံများကို အသုံးပြုသည့်အခါ ဖြစ်ပေါ်လာသည့် ကန့်သတ်ချက်များကို ကျော်လွှားရန် ရည်ရွယ်သည်။ PuzzleFS သည် ထပ်တူဒေတာများကို ထိရောက်စွာ သိမ်းဆည်းခြင်း၊ တိုက်ရိုက်တပ်ဆင်နိုင်စွမ်း၊ ထပ်တလဲလဲနိုင်သော ရုပ်ပုံတည်ဆောက်ခြင်းနှင့် မှတ်ဉာဏ်လုံခြုံရေးကဲ့သို့သော ပြဿနာများကို ဖြေရှင်းပေးပါသည်။
မတူညီသော ကွန်တိန်နာများတွင် ထပ်တလဲလဲပြုလုပ်ထားသော ဒေတာကို ပွားရန်အတွက် FastCDC (Fast Content-Defined Chunking) အယ်လဂိုရီသမ်ကို အသုံးပြုပြီး ဒေတာများကို အများသူငှာအရွယ်အစားအပိုင်းအစများအဖြစ် ပိုင်းခြားကာ စီမံဆောင်ရွက်ထားသောအပိုင်းအစများ၏ hashes ဖြင့် အညွှန်းကိန်းတစ်ခုအား ထိန်းသိမ်းခြင်းဖြင့် အလုပ်လုပ်ပါသည်။ ထပ်ခါတလဲလဲ အပိုင်းအစများကို တစ်ကြိမ် သိမ်းဆည်းပြီး ဖိုင်စနစ်၏ အလွှာအားလုံးအတွက် ပူးတွဲ အညွှန်းကိန်း ၊ ဆိုလိုသည်မှာ၊ ကူးယူခြင်းသည် မတူညီသော mount အမှတ်များကို ဖုံးအုပ်နိုင်သည် (ရှိပြီးသားတစ်ခုအပေါ် အခြေခံ၍ FS အလွှာအသစ်ကို စတင်နိုင်ပြီး ထုတ်ယူနေစဉ်အတွင်း ပါရှိသော ဒေတာအပိုင်းအစများကို အသုံးပြုနိုင်ပါသည်။)
ကွန်တိန်နာပုံဖော်မတ်၏ ပုံသဏ္ဍာန်ပုံဖော်မတ်ကို သတ်မှတ်ခြင်းအားဖြင့် ကွန်တိန်နာပုံများကို ထပ်ခါတလဲလဲ စုစည်းမှု အောင်မြင်သည်။ Direct-mount သည် သင့်အား ခွဲခြားသတ်မှတ်မှုအဖြစ် ကွန်တိန်နာမန်နီးဖက်စ်မှ အကြောင်းအရာများ၏ hash ကို အသုံးပြု၍ ပထမဦးစွာ ထုပ်ပိုးခြင်းမပြုဘဲ ကမ္ဘာလုံးဆိုင်ရာ မျှဝေသိုလှောင်မှုမှ OCI ကွန်တိန်နာပုံတစ်ပုံကို တပ်ဆင်နိုင်စေပါသည်။ မျှဝေထားသော သိုလှောင်ခန်းကို အသုံးပြုသည့်အခါ ဒေတာခိုင်မာမှုကို အတည်ပြုရန် fs-verity ယန္တရားကို အသုံးပြုနိုင်ပြီး၊ ဖိုင်များကို ဝင်ရောက်သည့်အခါတွင် အမှန်တကယ် အကြောင်းအရာနှင့် binary အညွှန်းတွင် သတ်မှတ်ထားသည့် ဟက်ကာများ၏ စာပေးစာယူကို စစ်ဆေးသည်။
Rust ဘာသာစကားသည် ရလဒ်ထွက်ကုဒ်များ၏ မြင့်မားသောစွမ်းဆောင်ရည်နှင့် မမ်မိုရီဖြင့်အလုပ်လုပ်နိုင်စေရန် လုပ်ဆောင်နိုင်စွမ်းများနှင့် ပေါင်းစပ်ထားသောကြောင့် ၎င်းသည် မန်မိုရီဧရိယာသို့ဝင်ရောက်ခြင်းကဲ့သို့သော ချို့ယွင်းချက်များ၏အန္တရာယ်ကို လျှော့ချပေးပြီး ၎င်းသည် လွတ်မြောက်ပြီးသည့်နောက်တွင် ကြားခံနယ်နိမိတ်များ ပြည့်လျှံနေပါသည်။ kernel module အတွက် Rust ကိုအသုံးပြုခြင်းဖြင့် kernel နှင့် user-space အစိတ်အပိုင်းများအကြား ကုဒ်များကို မျှဝေနိုင်စေခဲ့ပြီး တစ်ခုတည်းသော၊ လုံခြုံသောအကောင်အထည်ဖော်မှုကို ဖန်တီးနိုင်စေပါသည်။
ပရောဂျက်၏အခြားရည်မှန်းချက်များပါဝင်သည်- အလွန်လျင်မြန်သောပုံများတည်ဆောက်ခြင်းနှင့် တပ်ဆင်ခြင်း၊ ပုံများကို canonicalization ပြုလုပ်ရန်အတွက် ရွေးချယ်နိုင်သော အလယ်အလတ်အဆင့်ကို အသုံးပြုနိုင်မှု၊ အလွှာပေါင်းစုံဖွဲ့စည်းပုံကို အသုံးပြုသည့်အခါ mtree-style file tree ၏ရွေးချယ်ခွင့်၊ ကာစင့်ခ်ပုံစံထည့်သွင်းခြင်း အပြောင်းအလဲများနှင့် အကောင်အထည်ဖော်ရန် လွယ်ကူသော ဗိသုကာလက်ရာများ။
source: opennet.ru