SG_BG_CTL(8) SG3_UTILS SG_BG_CTL(8)

sg_bg_ctl - ارسال دستور BACKGROUND CONTROL در SCSI

sg_bg_ctl [--ctl=CTL] [--help] [--time=TN] [--verbose] [--version] DEVICE

دستور BACKGROUND CONTROL در SCSI را به DEVICE ارسال می‌کند. این دستور برای نخستین بار در پیش‌نویس بازنگری ۸ استاندارد SBC-4 (فایل sbc4r08.pdf) مطرح شد. می‌توان از آن برای شروع و توقف «عملیات پیشرفته پس‌زمینه» (advanced background operations) بر روی DEVICE استفاده کرد. تنها دستگاه‌های دارای تخصیص منابع (resource provisioned) یا تخصیص پویا (thin provisioned) — واحدهای منطقی که معمولاً دیسک‌های حالت جامد (SSD) هستند — از این دستور پشتیبانی می‌کنند. این عملیات پیشرفته پس‌زمینه اغلب شامل عملیاتی از نوع جمع‌آوری زباله حافظه (garbage collection) هستند که ممکن است در حین اجرا، کارایی دیسک را کاهش دهند.

آرگومان‌های گزینه‌های طولانی برای گزینه‌های کوتاه نیز الزامی هستند.

CTL مقداری است که در فیلد BO_CTL از دستور BACKGROUND CONTROL (بخش cdb) قرار می‌گیرد. این فیلد دو بیتی است و ۴ حالت دارد: مقدار 0 عملیات پیشرفته پس‌زمینه آغازشده توسط میزبان را تغییر نمی‌دهد؛ مقدار 1 این عملیات را آغاز می‌کند؛ مقدار 2 این عملیات را متوقف می‌سازد و مقدار 3 رزرو شده است. مقدار پیش‌فرض 0 است.
نمایش پیام راهنمای استفاده و خروج.
TN حداکثر زمانی است (با واحد ۱۰۰ میلی‌ثانیه یا ۱/۱۰ ثانیه) که عملیات پیشرفته پس‌زمینه می‌توانند اجرا شوند. اگر آرگومان CTL مقداری به جز 1 داشته باشد، این مقدار نادیده گرفته می‌شود. مقدار پیش‌فرض 0 است که به معنای عدم وجود محدودیت زمانی است. تنها مقادیر بین 0 تا 255 (معادل ۲۵٫۵ ثانیه) قابل قبول هستند. این مقدار در فیلد BO_TIME از دستور BACKGROUND CONTROL قرار می‌گیرد.
افزایش سطح جزئیات خروجی (یعنی خروجی اشکال‌زدایی).
چاپ رشته نسخه برنامه و سپس خروج.

طبق استاندارد T10، پشتیبانی از «عملیات کنترل پس‌زمینه» با یک بودن بیت BOCS در صفحه VPD ویژگی‌های دستگاه بلوکی [0xb1] مشخص می‌شود. وضعیت بیت BOCS را می‌توان با ابزارهای sg_vpd و sdparm بررسی کرد (و این مقدار فقط‌خواندنی است). یک صفحه حالت (mode page) تحت عنوان کنترل عملیات پس‌زمینه [0xa, 0x6] با فیلد BO_MODE وجود دارد که برای تغییر رفتار این عملیات به کار می‌رود. فیلد BO_MODE را می‌توان با ابزار sdparm مشاهده و احتمالاً ویرایش کرد. فیلد BO_STATUS را می‌توان در صفحه لاگ عملیات پس‌زمینه [0x15, 0x2] یافت و آن را با ابزار sg_logs مشاهده کرد.

پیش‌نویس فعلی که این حوزه را توصیف می‌کند SBC-4 ویرایش ۱۰ (sbc4r10.pdf) در بند ۴٫۳۳ است. این سند حاوی مثال زیر از یک عملیات پس‌زمینه است: «عملیات پیشرفته پس‌زمینه ممکن است شامل عملیات پاک‌سازی بلوک‌های NAND، عملیات خواندن رسانه، و عملیات نوشتن رسانه (مانند جمع‌آوری زباله حافظه) باشد که ممکن است بر زمان پاسخ‌گویی به درخواست‌های عادی خواندن یا نوشتن از سوی کلاینت برنامه تأثیر بگذارد.»

وضعیت خروج sg_bg_ctl در صورت موفقیت برابر 0 است. در غیر این صورت به صفحه راهنمای sg3_utils(8) مراجعه کنید.

نوشته‌شده توسط Douglas Gilbert.

گزارش باگ‌ها به <dgilbert at interlog dot com>.

حق نشر © 2016 Douglas Gilbert
این نرم‌افزار تحت مجوز BSD-2-Clause توزیع شده است. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت تجاری یا مناسب بودن برای یک هدف خاص.

sg_vpd,sg_logs(sg3_utils); sdparm(sdparm)

مه 2016 sg3_utils-1.43