میں متوازی براہ راست تحریروں کو غیر توسیع دینے کے لیے سپورٹ شامل کرنا قطار میں FUSE کی”آئندہ کے لیے”کرنل برانچ میں ایک ایسا پیچ ہے جس پر حالیہ مہینوں میں ایک ہی فائل میں متوازی ڈائریکٹ رائٹ کو توسیع نہ دینے کی اجازت دی گئی ہے۔
ایک ہی فائل میں FUSE (User-Space میں فائل سسٹم) کے ساتھ ڈائریکٹ رائٹز کو تحریری درخواستوں کے دوران ایک inode لاک کے ذریعے سیریلائز کیا گیا ہے جبکہ یہ تبدیلی ایک ہی فائل پر بیک وقت متعدد ڈائریکٹ رائیٹس کی اجازت دیتی ہے، اس بات کی اجازت دیتے ہوئے کہ وہ نہیں ہیں۔ فائل کی توسیع. لینکس 6.2 کے لیے متوقع اس تبدیلی کے ساتھ کسی بھی قسم کے مسائل کو روکنے سے، براہ راست غیر توسیعی تحریروں کے لیے خصوصی تالے میں نرمی آتی ہے۔ ڈویلپرز فائل کے سائز کو بڑھاتے وقت متوازی براہ راست تحریروں کی اجازت دینے کے قابل بھی ہوسکتے ہیں، لیکن وہ اس طرز عمل میں تبدیلی کے بارے میں کم یقین رکھتے ہیں اور اس قطار میں لگے”اگلے کے لیے”FUSE پیچ کے ساتھ اس میں ترمیم نہیں کرتے ہیں۔
ان تبدیلیوں کے ساتھ، ہم FOPEN_PARALLEL_DIRECT_WRITES نامی جھنڈے کی مدد سے ایک ہی فائل پر متوازی براہ راست تحریروں کو توسیع نہ دینے کی اجازت دیتے ہیں۔ اگر یہ جھنڈا فائل پر سیٹ کیا جاتا ہے (فائل اوپن/کریٹ کے حصے کے طور پر فلیگ کو libfuse سے fuse kernel میں منتقل کیا جاتا ہے)، ہم اب خصوصی لاک نہیں لیتے ہیں، بلکہ اس کے بجائے ایک مشترکہ لاک استعمال کرتے ہیں جو غیر توسیعی تحریروں کو متوازی طور پر چلنے کی اجازت دیتا ہے۔. FUSE نفاذ جو سیریلائزیشن کے لیے اس انوڈ لاک پر انحصار کرتے ہیں ایسا کرنا جاری رکھ سکتے ہیں اور سیریلائزڈ ڈائریکٹ رائٹ ابھی بھی ڈیفالٹ ہیں۔ وہ نفاذ جو لکھنے کی سیریلائزیشن نہیں کرتے ہیں انہیں اپ ڈیٹ کرنے کی ضرورت ہے اور انہیں اپنی فائل میں FOPEN_PARALLEL_DIRECT_WRITES جھنڈا سیٹ کرنے کی ضرورت ہے اوپن/کریٹ جواب۔/git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git/commit/?h=for-next&id=9388ac8224cb37799d8f2af6b7e9120710b39731″>پیچ تبصرے۔