الثلاثاء، 3 نوفمبر
الحواسيب

Linux 6.12.98 يصلح مشكلة في ext4: لماذا يحتاج backport إلى اختبار مستقل؟

يتضمن الإصدار المستقر الصادر في 25 يوليو إصلاحًا محددًا في ext4. وتوضح الحالة كيف قد يحتاج نقل إصلاح من الشفرة الأحدث إلى فرع أقدم إلى تكييف طريقة تنظيف الموارد.

أسامة إسماعيل · المؤسس ورئيس التحرير
· 2 دقائق قراءة · تحديث:
Linux 6.12.98 يصلح مشكلة في ext4: لماذا يحتاج backport إلى اختبار مستقل؟
Tux، الرمز التعريفي لمشروع Linux؛ صورة تعريفية.

صدر Linux 6.12.98 في 25 يوليو 2026 بوصفه تحديثًا مستقرًا. ويحدد سجل التغييرات إصلاحًا في ext4 أصبح ضروريًا بعد نقل تغيير من upstream إلى فرع 6.12.y.

تقدم الحالة مثالًا مفيدًا على صيانة الإصدارات. فقد تتفق غاية الإصلاح بين فرعين، بينما تختلف الآلية اللازمة لتطبيقه بصورة مكتملة في كل منهما.

المشكلة في مسار الخروج المبكر

بحسب سجل التغييرات، كان مسار تحقق داخل EXT4_IOC_MOVE_EXT يعود مبكرًا من الدالة، متجاوزًا تنظيف مرجع ملف في الفرع الأقدم.

تعتمد الشفرة الأحدث على تنظيف تلقائي، بينما يستخدم فرع 6.12.y نمط fdget/fdput الأقدم. ويضبط التصحيح الخطأ ثم يوجه التنفيذ إلى مسار التنظيف المشترك.

توضح هذه التفاصيل أن اكتمال العملية يشمل ما يحدث عند رفض الطلب أو التوقف المبكر. فمسار الخطأ يحتاج أيضًا إلى إنهاء العمل المرتبط بالموارد بصورة صحيحة.

ما المقصود بنقل الإصلاح إلى فرع أقدم؟

يشير backport إلى نقل تغيير إلى إصدار أقدم من البرنامج. وتوضح قواعد Linux للإصدارات المستقرة أن إصلاح upstream قد يحتاج إلى تعديل ليناسب API أو شفرة أقدم.

كمثال عام، يمكن أن تفتح نسختان الملف نفسه، لكن إحداهما تستخدم تنظيفًا تلقائيًا، وتحتاج الأخرى إلى خطوة إغلاق صريحة. لذلك تتطلب مراجعة التغيير النظر إلى ما يحيط بالأسطر المنقولة وإلى مسؤولية كل جزء منها.

ويمكن أن يبدأ المطور بالمشكلة التي يعالجها التغيير، ثم يتتبع طريقة إدارة المورد في كل فرع. هذا يربط غاية الإصلاح بالتنفيذ الفعلي بدل الاكتفاء بتشابه أسماء الدوال.

اختبارات لمسارات النجاح والخطأ

في مثال لتصميم الاختبار، يستطيع الفريق فحص الحالة الناجحة وحالة الخروج المبكر بصورة مستقلة. ويحدد لكل حالة نقطة البداية والنتيجة المتوقعة وخطوات تنظيف الموارد.

وتفيد إعادة الاختبار نفسه على الفرعين في إظهار اختلاف البيئة المحيطة. ويمكن حفظ معرف الإصلاح ورقم الإصدار ونتيجة الاختبار معًا، بحيث تصبح المراجعة اللاحقة أسهل.

كما يساعد تبسيط الحالة إلى خطوات قليلة على تكرارها عند إدخال تعديل جديد. وإذا تغيرت النتيجة، يكون لدى الفريق وصف محدد لما نجح سابقًا وما تغير بعده.

تظهر أهمية 6.12.98 هنا في تفاصيل صيانة الشفرة المستقرة. فتنظيف الموارد ومسارات الخطأ جزء من التحقق من الإصلاح في كل فرع. وتمنح هذه الحالة فرق البرمجيات مثالًا واضحًا على العلاقة بين التغيير الأصلي وتكييفه للنسخ التي ما زالت مستخدمة.

المصادر

المصدر: Linux stable — signed v6.12.98 release tag, 25 July 2026: https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux/+/refs/tags/v6.12.98, Kernel.org — 6.12.98 changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.98, Linux 6.12 documentation — stable release rules: https://www.kernel.org/doc/html/v6.12/process/stable-kernel-rules.html
أسامة إسماعيل

مؤسس ورئيس تحرير Kurd Developers. أخبار الهواتف والتقنية على YouTube وInstagram وTikTok.