BLKDISCARD(8) مدیریت سیستم BLKDISCARD(8)

blkdiscard - دور ریختن سکتورها روی یک دستگاه بلوکی

blkdiscard [options] [-o offset] [-l length] device

دستور blkdiscard برای دور ریختن سکتورهای دستگاه استفاده می‌شود. این کار برای درایوهای حالت جامد (SSDها) و فضاهای ذخیره‌سازی thinly-provisioned سودمند است. برخلاف fstrim(8)، این دستور به‌طور مستقیم روی دستگاه بلوکی اعمال می‌شود.

به‌طور پیش‌فرض، blkdiscard تمام بلوک‌های روی دستگاه را دور می‌ریزد. می‌توان از گزینه‌ها برای تغییر این رفتار بر اساس بازه یا اندازه استفاده کرد، همان‌گونه که در زیر توضیح داده شده است.

آرگومان device مسیر فایل دستگاه بلوکی است.

هشدار: تمام داده‌های موجود در محدوده دور ریخته‌شده روی دستگاه از دست خواهند رفت!

از نسخه v2.41 بسته util-linux، ابزار fdisk این توانایی را دارد که با استفاده از دستور 'T' سکتورها را هم روی پارتیشن‌ها و هم روی نواحی پارتیشن‌بندی‌نشده دور بریزد. علاوه بر این، sfdisk دارای گزینه --discard-free برای دور ریختن نواحی پارتیشن‌بندی‌نشده است.

پسوندهای ضرب‌شونده KiB (=1024)، MiB (=1024*1024) و به همین ترتیب برای GiB، TiB، PiB، EiB، ZiB و YiB (عبارت "iB" اختیاری است، برای نمونه "K" همان معنای "KiB" را دارد) یا پسوندهای KB (=1000)، MB (=1000*1000) و به همین ترتیب برای GB، TB، PB، EB، ZB و YB می‌توانند پس از آرگومان‌های offset و length بیایند.

-f, --force

غیرفعال کردن تمام بررسی‌ها. از نسخه v2.36 دستگاه بلوکی به‌طور پیش‌فرض در حالت انحصاری (O_EXCL) باز می‌شود تا از تداخل با فایل‌سیستم مونت‌شده یا زیرسیستم دیگری از هسته جلوگیری شود. گزینه --force حالت دسترسی انحصاری را غیرفعال می‌کند.

-o, --offset offset

آفست برحسب بایت در دستگاه که عملیات دور ریختن از آن شروع می‌شود. مقدار ارائه‌شده باید با اندازه سکتور دستگاه تراز (align) باشد. مقدار پیش‌فرض صفر است.

-l, --length length

تعداد بایت‌ها برای دور ریختن (شمارش از نقطه شروع). مقدار ارائه‌شده باید با اندازه سکتور دستگاه تراز باشد. اگر مقدار مشخص‌شده از انتهای دستگاه فراتر رود، blkdiscard در مرز اندازه دستگاه متوقف خواهد شد. مقدار پیش‌فرض تا انتهای دستگاه امتداد می‌یابد.

-p, --step length

تعداد بایت‌ها برای دور ریختن در هر تکرار. حالت پیش‌فرض دور ریختن همه موارد با یک فراخوانی ioctl است.

-q, --quiet

نادیده گرفتن پیام‌های هشدار.

-s, --secure

انجام دور ریختن امن (secure discard). دور ریختن امن همانند دور ریختن عادی است، با این تفاوت که تمام رونوشت‌های بلوک‌های دور ریخته‌شده که احتمالاً توسط فرایند جمع‌آوری زباله (garbage collection) ایجاد شده‌اند نیز باید پاک شوند. این مورد نیازمند پشتیبانی توسط دستگاه است.

-z, --zeroout

پر کردن با صفر (zero-fill) به‌جای دور ریختن.

-v, --verbose

نمایش مقادیر تراز‌شده offset و length. در صورت مشخص شدن گزینه --step، پیشرفت دور ریختن در هر ثانیه چاپ می‌شود.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

دستور blkdiscard دارای مقادیر وضعیت خروج زیر است:

0

موفقیت

1

شکست؛ فراخوانی نادرست، دسترسی‌ها یا هر خطای عمومی دیگر

2

شکست؛ از نسخه v2.39، دستگاه از عملیات دور ریختن پشتیبانی نمی‌کند

Lukas Czerner <lczerner@redhat.com>, Karel Zak <kzak@redhat.com>

fstrim(8)

برای گزارش باگ‌ها، از ردیاب اشکالات https://github.com/util-linux/util-linux/issues.

دستور blkdiscard بخشی از بسته util-linux است که می‌تواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.

2026-06-16 util-linux 2.41.5