یک پیاده سازی ناهمزمان DISCARD برای Btrfs ارائه شده است

برای سیستم فایل btrfs ارایه شده اجرای ناهمزمان عملیات DISCARD (علامت گذاری بلوک های آزاد شده که دیگر نیازی به ذخیره فیزیکی ندارند)، توسط مهندسان فیس بوک پیاده سازی شده است.

ماهیت مشکل: در پیاده سازی اصلی، DISCARD به طور همزمان با سایر عملیات انجام می شود، که در برخی موارد منجر به مشکلات عملکرد می شود، زیرا درایوها باید منتظر تکمیل دستورات مربوطه باشند که به زمان اضافی نیاز دارد. اگر اجرای DISCARD درایو کند باشد، می تواند مشکل ساز باشد.

با یک پیاده سازی ناهمزمان، نیازی به صبر کردن برای تکمیل DISCARD درایو در حین عملکرد عادی FS نیست، که با انتقال این عملیات به پس زمینه، مشکل را برطرف می کند. پیاده سازی ارائه شده برخی بهینه سازی ها را نیز انجام می دهد. به عنوان مثال، به دلیل نگرانی از اینکه بلاک ممکن است به زودی به گونه ای استفاده شود که اصلاً اجرای رویه DISCARD فایده ای نداشته باشد، مدتی صبر می کند و همچنین سعی می کند مناطق را قبل از اجرای واقعی DISCARD ادغام کند تا کاهش یابد. تعداد کل عملیات

منبع: opennet.ru

اضافه کردن نظر