.TH SG_GET_LBA_STATUS "8" "2026-06-01" "sg3_utils\-1.49" SG3_UTILS .SH "نام (NAME)" sg_get_lba_status \- ارسال دستور SCSI GET LBA STATUS(16 یا 32) .SH "خلاصه دستور (SYNOPSIS)" .B sg_get_lba_status [\fI\-\-16\fR] [\fI\-\-32\fR] [\fI\-\-blockhex\fR] [\fI\-\-brief\fR] [\fI\-\-element\-id=EI\fR] [\fI\-\-help\fR] [\fI\-\-hex\fR] [\fI\-\-inhex=FN\fR] [\fI\-\-json[=JO\fR]] [\fI\-\-js\-file=JFN\fR] [\fI\-\-lba=LBA\fR] [\fI\-\-maxlen=LEN\fR] [\fI\-\-raw\fR] [\fI\-\-readonly\fR] [\fI\-\-report\-type=RT\fR] [\fI\-\-scan\-len=SL\fR] [\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR .SH "توضیحات (DESCRIPTION)" .\" Add any additional description here دستور SCSI GET LBA STATUS(16) یا GET LBA STATUS(32) را به \fIDEVICE\fR ارسال کرده و پاسخ را در خروجی نمایش می‌دهد. گونهٔ ۱۶ بایتی این دستور در پیش‌نویس (draft) استاندارد SBC\-3 بازنگری ۲۰ معرفی شد و دستگاه‌هایی که از تخصیص بلوک منطقی (logical block provisioning) پشتیبانی می‌کنند، باید از این دستور نیز پشتیبانی نمایند. دستور GET LBA STATUS(32) در پیش‌نویس SBC\-4 بازنگری ۱۴ اضافه شد. .PP عملکرد پیش‌فرض این است که پاسخ را به یک توصیف‌گر وضعیت LBA در هر خط رمزگشایی کرده و سپس یک سرآیند و توصیف‌گرهای وضعیت را در خروجی استاندارد (stdout) نمایش دهد. آدرس LBA توصیف‌گر در مبنای شانزده (با پیشوند '0x') چاپ می‌شود و تعداد بلوک‌ها در مبنای ده‌دهی چاپ شده و به دنبال آن وضعیت تخصیص، قابلیت دسترسی به LBA و وضعیت‌های اضافی در مبنای ده‌دهی می‌آیند. وضعیت تخصیص می‌تواند در بازهٔ ۰ تا ۱۵ باشد که در حال حاضر تنها مقادیر 0 (نگاشت‌شده یا نامشخص)، 1 (نگاشت‌نشده)، 2 (مهارشده / anchored)، 3 (نگاشت‌شده) و 4 (نامشخص) استفاده می‌شوند. حجم خروجی را می‌توان با استفاده از گزینهٔ \fI\-\-brief\fR کاهش داد. .PP اگر به جای ارسال این دستور SCSI به \fIDEVICE\fR ، گزینهٔ \fI\-\-inhex=FN\fR داده شود، محتوای پروندهٔ مشخص‌شده با \fIFN\fR به عنوان بایت‌های هگزادسیمال اسکی (ASCII hex) رمزگشایی شده و به گونه‌ای پردازش می‌شود که گویی پاسخ این دستور بوده است. .SH "گزینه‌ها (OPTIONS)" آرگومان‌های گزینه‌های بلند برای گزینه‌های کوتاه نیز اجباری هستند. .TP \fB\-S\fR, \fB\-\-16\fR ارسال دستور SCSI GET LBA STATUS(16) که گونهٔ ۱۶ بایتی است. در صورت نبود گزینه‌های \fI\-\-16\fR یا \fI\-\-32\fR ، دستور SCSI GET LBA STATUS(16) ارسال می‌شود. اگر هر دو گزینهٔ \fI\-\-16\fR و \fI\-\-32\fR داده شوند، دستور GET LBA STATUS(16) ارسال خواهد شد. .TP \fB\-T\fR, \fB\-\-32\fR ارسال دستور SCSI GET LBA STATUS(32) که گونهٔ ۳۲ بایتی است. هنگامی که همراه با گزینهٔ \fI\-\-16\fR داده شود، این گزینه نادیده گرفته می‌شود (بنابراین دستور GET LBA STATUS(16) ارسال می‌گردد). .TP \fB\-b\fR, \fB\-\-brief\fR هنگامی که یک بار استفاده شود، در هر خط یک توصیف‌گر وضعیت LBA در خروجی استاندارد چاپ می‌شود. هر خط دارای این قالب است: "0x 0x ". بنابراین LBA شروع توصیف‌گر و تعداد بلوک‌ها در مبنای شانزده چاپ می‌شوند در حالی که وضعیت تخصیص و وضعیت اضافی در مبنای ده‌دهی هستند. هنگامی که دو بار استفاده شود (مانند '\-bb' یا '\-\-brief \-\-brief')، وضعیت تخصیص \fILBA\fR داده‌شده (یا LBA 0 در صورتی که گزینهٔ \fI\-\-lba\fR داده نشده باشد) در خروجی استاندارد نمایش داده می‌شود. بررسی می‌شود که \fILBA\fR داده‌شده در محدودهٔ نخستین توصیف‌گر وضعیت LBA بازگردانده‌شده قرار داشته باشد (همان‌طور که طبق SBC\-3 بازنگری ۲۰ باید باشد) و در صورت عدم تطابق، هشدارهایی به stderr ارسال می‌شود. .TP \fB\-B\fR, \fB\-\-blockhex\fR تعداد بلوک‌ها در هر توصیف‌گر وضعیت LBA معمولاً در مبنای ده‌دهی نمایش داده می‌شود. یک استثنا زمانی است که گزینهٔ \fI\-\-brief\fR مشخص شده باشد که در آن صورت در مبنای شانزده نشان داده می‌شود. هنگامی که این گزینه یک بار مشخص شود، هر دو حالت در مبنای شانزده چاپ می‌شوند. هنگامی که این گزینه دو بار مشخص شود، هر دو حالت در مبنای ده‌دهی چاپ می‌شوند. .TP \fB\-e\fR, \fB\-\-element\-id\fR=\fIEI\fR که در آن \fIEI\fR شناسهٔ عنصر فیزیکی است که LBAهای مربوط به آن بر اساس مقدار فیلد نوع گزارش (یعنی \fIRT\fR) گزارش خواهند شد. این گزینه تنها با دستور SCSI GET LBA STATUS(32) فعال است (یعنی در صورت ارسال دستور GET LBA STATUS(16) نادیده گرفته می‌شود که معادل صفر قرار دادن آن است). .br شناسه‌های عنصر معتبر از ۱ شروع شده و به ترتیب اعداد صحیح افزایش می‌یابند. مقدار پیش‌فرض 0 برای \fIEI\fR بدان معناست که .B همهٔ شناسه‌های عنصر بر اساس مقدار فیلد نوع گزارش بررسی می‌شوند. .TP \fB\-h\fR, \fB\-\-help\fR نمایش پیام راهنمای نحوهٔ استفاده و خروج. .TP \fB\-H\fR, \fB\-\-hex\fR پاسخ این دستور را به صورت هگزادسیمال اسکی (ASCII hex) نمایش می‌دهد. برای تولید خروجی هگزادسیمال مناسب جهت واکشی در فراخوانی‌های بعدی با گزینهٔ \fI\-\-inhex=FN\fR ، این گزینه را سه بار استفاده کنید. شکل کوتاه این گزینه استفاده از آن را راحت‌تر می‌کند: '\-HHH'. .TP \fB\-i\fR, \fB\-\-inhex\fR=\fIFN\fR که در آن \fIFN\fR نام پرونده‌ای است که فرض می‌شود محتوای آن بایت‌های هگزادسیمال اسکی است. برای اطلاعات بیشتر بخش "HEX, BINARY AND JSON FORMATS" را در صفحه راهنمای sg3_utils ببینید. اگر \fIDEVICE\fR نیز مشخص شده باشد، نادیده گرفته می‌شود. اگر گزینهٔ \fI\-\-raw\fR نیز داده شده باشد، محتوای \fIFN\fR به عنوان باینری در نظر گرفته می‌شود. .TP \fB\-j\fR[=\fIJO\fR], \fB\-\-json\fR[=\fIJO\fR] خروجی به جای قالب متنی ساده، در قالب JSON ارائه می‌شود. توجه داشته باشید که آرگومان‌های شکل کوتاه و بلند خود اختیاری هستند و در صورت وجود با "=" شروع می‌شوند و هیچ فاصله‌ای در اطراف "=" مجاز نیست. .br صفحه راهنمای sg3_utils_json را ببینید یا از '?' برای \fIJO\fR جهت دریافت یک خلاصه استفاده کنید. .TP \fB\-J\fR, \fB\-\-js\-file\fR=\fIJFN\fR خروجی در قالب JSON بوده و به پرونده‌ای با نام \fIJFN\fR ارسال می‌شود. اگر این پرونده وجود داشته باشد، کوتاه (truncate) خواهد شد. به صورت پیش‌فرض، خروجی JSON به خروجی استاندارد ارسال می‌شود. .br هنگامی که این گزینه مشخص شود، گزینهٔ \fI\-\-json[=JO]\fR به صورت ضمنی فعال شده و نیازی به ذکر آن نیست. با این حال ممکن است همچنان به گزینهٔ \fI\-\-json[=JO]\fR برای تنظیم پارامتر \fIJO\fR به مقادیر غیرپیش‌فرض نیاز باشد. .TP \fB\-l\fR, \fB\-\-lba\fR=\fILBA\fR که در آن \fILBA\fR آدرس بلوک منطقی (LBA) شروع برای بررسی وضعیت تخصیص است. توجه داشته باشید که \fIDEVICE\fR انتخاب می‌کند وضعیت تخصیص چند بلوک متوالی پس از آن را بازگرداند، که این تعداد با \fI\-\-maxlen=LEN\fR محدود می‌شود. .TP \fB\-m\fR, \fB\-\-maxlen\fR=\fILEN\fR که در آن \fILEN\fR (حداکثر) طول پاسخ بر حسب بایت است. این مقدار در فیلد "allocation length" در cdb قرار می‌گیرد. اگر مشخص نشود، از مقدار 24 استفاده می‌شود. مقدار 24 فضای کافی برای سرآیند پاسخ و یک توصیف‌گر وضعیت LBA است. \fILEN\fR باید 8 به علاوه مضربی از 16 باشد (برای نمونه 24، 40 و 56 مناسب هستند). .TP \fB\-r\fR, \fB\-\-raw\fR پاسخ را به صورت باینری (به خروجی استاندارد) ارسال می‌کند، مگر اینکه گزینهٔ \fI\-\-inhex=FN\fR نیز مشخص شده باشد. در این حالت نام پرونده ورودی (\fIFN\fR) به عنوان باینری رمزگشایی می‌شود (و خروجی به صورت باینری نخواهد بود). .TP \fB\-R\fR, \fB\-\-readonly\fR دستگاه \fIDEVICE\fR را به صورت فقط‌خواندنی باز می‌کند (مثلاً در یونیکس با پرچم O_RDONLY). حالت پیش‌فرض باز کردن آن به صورت خواندن\-نوشتن است. .TP \fB\-t\fR, \fB\-\-report\-type\fR=\fIRT\fR که در آن \fIRT\fR برای گزارش تمام LBAها برابر 0؛ برای گزارش LBAهای دارای وضعیت تخصیص غیرصفر برابر 1؛ برای گزارش LBAهای نگاشت‌شده برابر 2؛ برای گزارش LBAهای واگذارشده (de\-allocated) برابر 3؛ برای گزارش LBAهای مهارشده (anchored) برابر 4؛ و برای گزارش LBAهایی که ممکن است یک خطای غیرقابل‌بازیابی بازگردانند برابر 16 است. فیلد REPORT TYPE در sbc4r12 به cdb دستور GET LBA STATUS اضافه شد. .br از آنجا که فیلد REPORT TYPE جدیدتر از این دستور است، پاسخ حاوی بیت RTP است تا نشان دهد آیا \fIDEVICE\fR بر اساس فیلد REPORT TYPE عمل می‌کند یا خیر (در صورتی که بر اساس آن عمل کند فعال می‌شود، و در غیر این صورت غیرفعال است). .TP \fB\-s\fR, \fB\-\-scan\-len\fR=\fISL\fR که در آن \fISL\fR طول اسکن است که حداکثر تعداد بلوک‌های منطقی متوالی را مشخص می‌کند که باید برای یافتن بلوک‌های منطقی منطبق با نوع گزارش داده‌شده (یعنی \fIRT\fR) اسکن شوند. این گزینه تنها با دستور SCSI GET LBA STATUS(32) فعال است (یعنی در صورت ارسال دستور GET LBA STATUS(16) نادیده گرفته می‌شود). .br مقدار پیش‌فرض \fISL\fR برابر 0 است که باید توسط \fIDEVICE\fR به عنوان عدم وجود محدودیت در تعداد LBAهایی که باید اسکن شوند تفسیر گردد. .TP \fB\-v\fR, \fB\-\-verbose\fR افزایش سطح پرگویی (یعنی خروجی اشکال‌زدایی). خروجی‌های اضافی ناشی از این گزینه به stderr ارسال می‌شوند. .TP \fB\-V\fR, \fB\-\-version\fR نمایش نگارش برنامه و خروج. .SH "نکات (NOTES)" یک بازهٔ LBA (یا LBA extent) مجموعه‌ای از بلوک‌های منطقی متوالی است که آدرس آن برابر با آدرس پایین‌ترین بلوک منطقی (LB) است. .PP در بازنگری ۲۵ استاندارد SBC\-3 محاسبات مربوط به فیلد Parameter Data Length در پاسخ اصلاح شد. پیش از آن آفست بایتی ۸ بود و در بازنگری ۲۵ به ۴ تغییر یافت. .PP برای بررسی مباحث مربوط به تخصیص بلوک منطقی، بخش 4.7 از سند sbc4r14.pdf در https://www.t10.org (یا بخش متناظر در پیش‌نویس‌های بعدی) را ببینید. .SH "مثال‌ها (EXAMPLES)" این مثال به جای یک \fIDEVICE\fR واقعی، از یک پروندهٔ هگزادسیمال از پیش آماده‌شده ("canned") استفاده می‌کند. .PP .nf # cd # sg_get_lba_status \-\-inhex=inhex/get_lba_status.hex .fi .PP .nf Command completed due to meeting capacity of medium RTP=0x0 [1] LBA: 0x0 blocks: 287453952 mapped (or unknown); LBA accessibility not reported [2] LBA: 0x11223300 blocks: 68 deallocated; LBA access not reported [may contain unrecovered errors] [3] LBA: 0x11223344 blocks: 51 deallocated; LBA extent inaccessible [may contain unrecovered errors] .fi .SH "وضعیت خروج (EXIT STATUS)" وضعیت خروج sg_get_lba_status در صورت موفقیت 0 است. در غیر این صورت صفحه راهنمای sg3_utils(8) را ببینید. .SH "نویسندگان (AUTHORS)" نوشته‌شده توسط Douglas Gilbert. .SH "گزارش باگ‌ها (REPORTING BUGS)" گزارش باگ‌ها به . .SH "حق نشر (COPYRIGHT)" حق نشر \(co 2009\-2026 Douglas Gilbert .br این نرم‌افزار تحت مجوز BSD\-2\-Clause توزیع شده است. هیچ‌گونه ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا مناسب بودن برای یک هدف خاص. .SH "همچنین ببینید (SEE ALSO)" .B sg_write_same,sg_unmap,sg3_utils,sg3_utils_json(sg3_utils)