XFS_IO(8) دستورات مدیریت سیستم XFS_IO(8)

xfs_io - ابزار خطایابی و کنترل ورودی/خروجی (I/O) فایلسیستم XFS

xfs_io [ -adfimrRstxT ] [ -c cmd ] ... [ -C cmd ] ... [ -p prog ] [ file ]
xfs_io -V

دستور xfs_io ابزاری تعاملی و پیشرفته برای شبیهسازی و بررسی دقیق فراخوانیهای ورودی/خروجی و ویژگیهای پیشرفته پروندهها در XFS است. این ابزار شبیه به xfs_db(8) است، اما هدف آن بررسی مسیرهای I/O پرونده‌های معمولی به جای حجم خام XFS است. این مسیرهای کد نه تنها رابط‌های متداول read/write/mmap برای دستکاری فایل‌ها، بلکه تمام قابلیت‌های توسعه‌یافته XFS (مانند پیش‌تخصیص فضا، پرچم‌های اضافی inode و غیره) را پوشش می‌دهند.

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

اجرای دستور مشخص‌شده روی تمامی پرونده‌های باز جاری. جهت حفظ سازگاری با کاربردهای گذشته، دستوراتی که نمی‌توانند روی تمام فایل‌های باز اجرا شوند، همچنان اجرا شده اما فقط یک‌بار روی فایل باز جاری فراخوانی می‌گردند. چندین آرگومان -c می‌توانند در خط فرمان مشخص شده و به هر ترتیبی با دستورات -C ترکیب شوند.
اجرای دستور مشخص‌شده فقط روی پرونده باز جاری. چندین آرگومان -C می‌توانند در خط فرمان مشخص شده و به هر ترتیبی با دستورات -c ترکیب شوند.
تنظیم نام برنامه برای اعلان‌ها و برخی پیام‌های خطا؛ مقدار پیش‌فرض xfs_io است.
ایجاد file در صورتی که از قبل وجود نداشته باشد.
باز کردن اولیه file به صورت فقط‌خواندنی. این گزینه در صورتی که file تغییرناپذیر (immutable) یا فقط‌افزودنی (append-only) باشد، الزامی است.
آغاز یک رشته اجرای بی‌کار (idle thread). هدف این رشته، آزمایش ورودی/خروجی در یک فرآیند چندرشته‌ای است. در فرآیندهای تک‌رشته‌ای، جدول فایل به اشتراک گذاشته نمی‌شود و ساختارهای فایل شمارش ارجاع نمی‌شوند. ایجاد یک رشته بیکار به شناسایی نشت ارجاع ساختار فایل (reference leaks) کمک می‌کند.
حالت متخصص (Expert mode). دستورات خطرناک فقط در این حالت در دسترس هستند. این دستورات معمولاً به دسترسی‌های مدیریتی بیشتری نیاز دارند.
چاپ نسخه برنامه و خروج.

سایر گزینه‌های open(2) که در ادامه توضیح داده شده‌اند نیز از طریق خط فرمان قابل استفاده هستند.

ابزار xfs_io مجموعه‌ای از فایل‌های باز و نگاشت‌های حافظه را نگهداری می‌کند. فایل‌ها را می‌توان در ابتدا از طریق خط فرمان (اختیاری) باز کرد، و همچنین فایل‌های اضافی را می‌توان بعداً باز نمود.

دستورات xfs_io به سه گروه اصلی تقسیم می‌شوند. برخی دستورات برای انجام ورودی/خروجی معمولی روی پرونده‌ها طراحی شده‌اند - خواندن، نوشتن، همگام‌سازی، پیش‌تخصیص فضا و غیره.

مجموعه دوم دستورات برای کار با نواحی نگاشت‌شده در حافظه پرونده‌ها وجود دارند - نگاشت، دسترسی، ذخیره‌سازی، لغو نگاشت، تخلیه به دیسک و غیره.

سایر دستورات برای پیمایش و نمایش ساختارهای داده مربوط به فایل‌های باز، نگاشت‌ها و فایل‌سیستم‌هایی که در آن‌ها مستقر هستند به کار می‌روند.

بسیاری از دستورات دارای راهنمای آنلاین گسترده هستند. از دستور help برای دریافت جزئیات بیشتر درباره هر دستور استفاده کنید.

نمایش فهرستی از تمام فایل‌های باز و (اختیاری) جابه‌جایی به یک فایل باز جاری دیگر.
بستن فایل جاری و باز کردن فایلی که توسط path مشخص شده است. بدون آرگومان، آمارهای مربوط به فایل جاری را نمایش می‌دهد - به دستور stat مراجعه کنید.
باز کردن به صورت فقط‌افزودنی (O_APPEND).
باز کردن برای ورودی/خروجی مستقیم (O_DIRECT).
ایجاد فایل در صورت عدم وجود (O_CREAT).
باز کردن به صورت فقط‌خواندنی (O_RDONLY).
باز کردن برای ورودی/خروجی همگام (O_SYNC).
کوتاه کردن اندازه به صفر هنگام باز کردن (O_TRUNC).
باز کردن در حالت غیرمسدودکننده در صورت امکان (O_NONBLOCK).
ایجاد یک فایل موقت که به فضای‌نام فایل‌سیستم متصل نشده است (O_TMPFILE). مسیر ارسال‌شده باید به پوشه‌ای اشاره کند که به عنوان والد مجازی برای فایل نامرئی ایجادشده جدید در نظر گرفته می‌شود. نمی‌توان همراه با گزینه -r استفاده کرد.
علامت‌گذاری فایل به عنوان فایل بلادرنگ (realtime) در XFS پس از باز کردن، در صورتی که قبلاً این‌گونه علامت‌گذاری نشده باشد.
باز کردن مسیر فقط به عنوان ارجاع (O_PATH). این گزینه با سایر پرچم‌های O_xxx به جز -L ناسازگار است.
عدم دنبال کردن پیوندهای نمادین (O_NOFOLLOW). این گزینه با سایر پرچم‌های O_xxx به جز -P ناسازگار است.
دستور open را ببینید.
بستن فایل باز جاری، و تعیین فایل باز بعدی به عنوان فایل جاری (در صورت وجود).
دستور close را ببینید.
تغییر حالت دسترسی فایل باز جاری. گزینه -r مجوزهای فایل را به فقط‌خواندنی (0444) تنظیم می‌کند، در حالی که گزینه -w مجوزهای فایل را به خواندن/نوشتن (0644) تنظیم می‌کند. این به xfs_io امکان می‌دهد ناهمخوانی بین مجوزهای فایل و حالت خواندن/نوشتن توصیف‌گر فایل باز را ایجاد کند تا بررسی‌های دسترسی در فراخوانی‌های سیستمی مختلف را بیازماید.
خواندن محدوده‌ای از بایت‌ها در اندازه‌بلوک مشخص‌شده از offset داده‌شده.
می‌تواند برای تعیین اندازه بلوکی استفاده شود که درخواست‌های read(2) به آن تقسیم می‌شوند. اندازه بلوک پیش‌فرض ۴۰۹۶ بایت است.
حالت بی‌صدا، عدم چاپ هرگونه خروجی در خروجی استاندارد.
تخلیه و چاپ محتوای بافر پس از خواندن؛ به طور پیش‌فرض تنها تعداد بایت‌های خوانده‌شده واقعی نمایش داده می‌شود.
خواندن بافرها در جهت ترتیبی رو به جلو.
خواندن بافرها در جهت ترتیبی رو به عقب (معکوس).
خواندن بافرها در محدوده مشخص‌شده با ترتیبی تصادفی.
تعیین دانه (seed) عدد تصادفی برای خواندن‌های تصادفی.
-V vectors
استفاده از فراخوانی سیستمی خواندن برداری preadv(2) با تعداد مشخصی از ساختارهای iovec به اندازه blocksize. تعداد iovecها توسط پارامتر vectors مشخص می‌شود.
دستور pread را ببینید.
نوشتن محدوده‌ای از بایت‌ها در اندازه بلوک مشخص از offset تعیین‌شده. بایت‌های نوشته‌شده می‌توانند یک الگوی مشخص باشند یا قبل از نوشتن از فایل دیگری خوانده شوند.
امکان تعیین یک file ورودی به عنوان منبع داده‌های مورد نظر برای نوشتن را فراهم می‌کند.
حالت بی‌صدا، عدم نوشتن هرگونه پیام در خروجی استاندارد.
استفاده از I/O مستقیم به جای I/O بافری معمولی هنگام خواندن فایل ورودی.
فراخوانی fdatasync(2) پس از اتمام تمام عملیات نوشتن (در نتایج زمان‌بندی لحاظ می‌شود).
اجرای فراخوانی pwritev2(2) با پرچم RWF_NOWAIT.
اجرای فراخوانی pwritev2(2) با پرچم RWF_DSYNC.
اجرای فراخوانی pwritev2(2) با پرچم RWF_ATOMIC.
اجرای یک‌باره pwrite و بازگرداندن بایت‌های نوشته‌شده (احتمالاً جزئی).
فراخوانی fsync(2) پس از اتمام تمام نوشتن‌ها (در نتایج زمان‌بندی لحاظ می‌شود).
تعداد بایت‌هایی که قبل از شروع خواندن از ابتدای فایل ورودی باید skip (رد) شوند.
تعیین اندازه بلوکی که درخواست‌های write(2) به آن تقسیم می‌شوند. اندازه بلوک پیش‌فرض ۴۰۹۶ بایت است.
تنظیم الگوی پرکننده تکرارشونده که زمانی استفاده می‌شود که داده‌ها از یک فایل نمی‌آیند. مقدار پیش‌فرض الگوی پرکننده بافر 0xcdcdcdcd است.
نوشتن بافرها در جهت ترتیبی رو به جلو.
نوشتن بافرها در جهت ترتیبی معکوس.
نوشتن بافرها در محدوده داده‌شده با ترتیب تصادفی.
تعیین دانه عدد تصادفی برای نوشتن تصادفی.
-V vectors
استفاده از فراخوانی سیستمی نوشتن برداری pwritev(2) با تعدادی از آرایه‌های iovec به اندازه blocksize. تعداد iovecها توسط پارامتر vectors تعیین می‌شود.
دستور pwrite را ببینید.
چاپ نگاشت بلوک‌ها برای فایل باز جاری. برای مستندات کامل به صفحه راهنمای xfs_bmap(8) مراجعه کنید.
چاپ نگاشت بلوک برای فایل باز جاری با استفاده از ioctl مربوط به fiemap. گزینه‌ها همان‌طور که در صفحه راهنمای xfs_bmap(8) توصیف شده رفتار می‌کنند.
به طور اختیاری، این دستور از ارسال مبدا افست برای شروع نگاشت و طول آن ناحیه نیز پشتیبانی می‌کند. هسته تمامی اکستنت‌های کاملی که با محدوده درخواستی تلاقی دارند را بازمی‌گرداند و دستور fiemap آن‌ها را به طور کامل چاپ می‌کند. اگر محدوده درخواستی در یک حفره (hole) آغاز یا پایان یابد، fiemap حفره را کوتاه کرده و متناسب با محدوده درخواستی چاپ می‌کند.
نمایش یا ویرایش اندازه اکستنت ترجیحی مورد استفاده هنگام تخصیص فضا برای فایل باز جاری. اگر گزینه -R مشخص شود، پیمایش بازگشتی برای تمام ورودی‌های پوشه زیر فایل باز جاری انجام می‌شود (-D می‌تواند برای محدود کردن خروجی فقط به دایرکتوری‌ها استفاده شود). اگر فایل هدف یک دایرکتوری باشد، اندازه اکستنت ارث‌بری‌شده برای آن دایرکتوری تنظیم می‌شود (فایل‌های جدید ایجادشده در آن پوشه این اندازه را به ارث می‌برند). مقدار value باید بر حسب بایت یا با استفاده از پسوندهای معمول واحدها (k، m، g، b و غیره) مشخص شود. اندازه اکستنت همیشه بر حسب بایت گزارش می‌شود.
نمایش یا ویرایش اندازه اکستنت ترجیحی کپی هنگام نوشتن (CoW) هنگام تخصیص فضا برای فایل باز جاری. اگر گزینه -R مشخص شود، پیمایش بازگشتی برای تمامی ورودی‌های پوشه زیر فایل باز جاری انجام می‌گیرد (-D برای محدود کردن خروجی به پوشه‌ها کاربرد دارد). اگر فایل هدف یک دایرکتوری باشد، اندازه اکستنت CoW ارث‌بری‌شده برای آن تنظیم می‌شود (فایل‌های جدید ایجادشده در آن پوشه این اندازه CoW را به ارث می‌برند). مقدار value باید بر حسب بایت یا با استفاده از پسوندهای معمول واحدها مشخص شود. اندازه اکستنت همیشه بر حسب بایت گزارش می‌گردد.
تنظیم اندازه فایل به size و صفر کردن هرگونه فضای اضافی تخصیص‌یافته با استفاده از فراخوانی سیستمی XFS_IOC_ALLOCSP/XFS_IOC_FREESP که در صفحه راهنمای xfsctl(3) توضیح داده شده است. allocsp و freesp دقیقاً عملکرد مشابهی دارند.

این دستورات از لینوکس 5.17 به بعد دیگر پشتیبانی نمی‌شوند.

دستور allocsp را ببینید.
روی پلتفرم‌هایی که پشتیبانی می‌کنند، امکان ارائه راهنمایی به سیستم در مورد الگوهای مورد انتظار ورودی/خروجی روی فایل را فراهم می‌کند. آرگومان‌های محدوده برای برخی از دستورات راهنمایی الزامی هستند ([*] در زیر)، و سایر گزینه‌ها نباید آرگومان محدوده داشته باشند. بدون آرگومان، راهنمایی POSIX_FADV_NORMAL در نظر گرفته می‌شود (پیش‌خوانی پیش‌فرض).
داده‌ها در آینده نزدیک دوباره مورد دسترسی قرار نخواهند گرفت (POSIX_FADV_DONTNEED[*]).
داده‌ها یک‌بار خوانده شده و دوباره استفاده نمی‌شوند (POSIX_FADV_NOREUSE[*]).
انتظار دسترسی با ترتیب تصادفی به داده‌ها (POSIX_FADV_RANDOM)، که پیش‌خوانی را به صفر تنظیم می‌کند.
انتظار دسترسی با ترتیب ترتیبی به داده‌ها (POSIX_FADV_SEQUENTIAL)، که پیش‌خوانی پیش‌فرض روی فایل را دو برابر می‌کند.
اعلام می‌کند که داده‌های مشخص‌شده مجدداً مورد نیاز خواهند بود (POSIX_FADV_WILLNEED[*]) که حداکثر پیش‌خوانی را تحمیل می‌کند.
فراخوانی fdatasync(2) برای تخلیه داده‌های درون حافظه فایل به دیسک.
فراخوانی fsync(2) برای تخلیه تمامی وضعیت‌های درون حافظه فایل به دیسک.
دستور fsync را ببینید.
روی پلتفرم‌هایی که پشتیبانی می‌کنند، امکان کنترل همگام‌سازی بخشی از فایل روی دیسک را فراهم می‌کند. بدون هیچ گزینه‌ای، SYNC_FILE_RANGE_WRITE برای محدوده ارائه‌شده اعمال می‌شود.
انتظار برای اتمام I/O در محدوده داده‌شده پس از نوشتن (SYNC_FILE_RANGE_WAIT_AFTER).
انتظار برای اتمام I/O در محدوده داده‌شده پیش از نوشتن (SYNC_FILE_RANGE_WAIT_BEFORE).
آغاز بازنویسی داده‌های تغییریافته در محدوده داده‌شده (SYNC_FILE_RANGE_WRITE).
فراخوانی sync(2) برای تخلیه داده‌های درون حافظه تمام فایل‌سیستم‌ها به دیسک.
فراخوانی syncfs(2) برای تخلیه داده‌های درون حافظه این فایل‌سیستم به دیسک.
تخصیص فضای رزروشده و نوشته‌نشده برای بخشی از یک فایل با استفاده از فراخوانی سیستمی XFS_IOC_RESVSP که در صفحه راهنمای xfsctl(3) توصیف شده است.
آزادسازی فضای رزروشده برای بخشی از فایل با استفاده از فراخوانی سیستمی XFS_IOC_UNRESVSP که در صفحه راهنمای xfsctl(3) توضیح داده شده است.
تخصیص فضای رزروشده و نوشته‌نشده برای بخشی از فایل با استفاده از روال fallocate همان‌طور که در صفحه راهنمای fallocate(2) توضیح داده شده است.
تنظیم پرچم FALLOC_FL_KEEP_SIZE طبق توضیحات fallocate(2).
فراخوانی fallocate با پرچم FALLOC_FL_COLLAPSE_RANGE طبق صفحه راهنمای fallocate(2) جهت آزادسازی بلوک‌ها و حذف حفره ایجادشده در این فرآیند از طریق جابه‌جایی بلوک‌های داده به درون حفره.
فراخوانی fallocate با پرچم FALLOC_FL_INSERT_RANGE طبق صفحه راهنمای fallocate(2) برای ایجاد حفره از طریق انتقال و شیفت بلوک‌های داده.
پانچ کردن (آزادسازی) بلوک‌ها در فایل با فراخوانی fallocate همراه با پرچم FALLOC_FL_PUNCH_HOLE مطابق مستندات fallocate(2).
فراخوانی fallocate با پرچم FALLOC_FL_UNSHARE_RANGE مطابق مستندات fallocate(2) برای لغو اشتراک‌گذاری تمامی بلوک‌های اشتراکی در آن محدوده.
فراخوانی fallocate با پرچم FALLOC_FL_ZERO_RANGE مطابق صفحه راهنمای fallocate(2) جهت تخصیص و صفر کردن بلوک‌ها در محدوده مشخص‌شده. با گزینه -k پرچم FALLOC_FL_KEEP_SIZE نیز اعمال می‌شود.
فراخوانی xfsctl با XFS_IOC_ZERO_RANGE همان‌گونه که در صفحه راهنمای xfsctl(3) توصیف شده، جهت تخصیص و صفر کردن بلوک‌ها در محدوده مورد نظر.
کوتاه کردن فایل جاری در آفست داده‌شده با استفاده از ftruncate(2).
در سیستم‌هایی که پشتیبانی می‌کنند، امکان کپی مستقیم درون‌هسته‌ای بین دو توصیف‌گر فایل را می‌دهد. فایل باز جاری مقصد است و مبدا باید به عنوان فایل باز دیگر (-f) یا از طریق مسیر (-i) مشخص شود.
-q حالت بی‌صدا، عدم نوشتن هر چیزی در خروجی استاندارد.
خواندن محدوده‌ای از ورودی‌های پوشه از آفست معین دایرکتوری.
حالت پرحرف - تخلیه محتوای dirent طبق تعریف در readdir(3)
مشخص کردن offset آغازین.
مشخص کردن length کل برای خواندن (بر حسب بایت).
روی سیستم‌هایی که از گزینه‌های SEEK_DATA و SEEK_HOLE در lseek(2) پشتیبانی می‌کنند، نمایش آفست‌های بخش‌های مشخص‌شده.
نمایش بخش‌های داده‌ای (data) و حفره‌ای (hole) به صورت همزمان که از offset مشخص‌شده شروع می‌شوند.
نمایش بخش داده‌ای (data) شروع‌شده از offset مشخص‌شده.
نمایش بخش حفره (hole) شروع‌شده از offset مشخص‌شده.
نمایش بازگشتی تمامی بخش‌های مشخص‌شده با شروع از offset تعیین‌شده.
نمایش آفست ابتدایی lseek(2). این آفست هنگامی که داده‌ها و حفره‌ها با هم نمایش داده می‌شوند یا یک پیمایش بازگشتی انجام می‌شود، یک مقدار محاسبه‌شده خواهد بود.
در فایل‌سیستم‌هایی که از ioctlهای FICLONERANGE یا BTRFS_IOC_CLONE_RANGE پشتیبانی می‌کنند، نگاشت length بایت در آفست dst_offset از فایل باز به همان بلوک‌های فیزیکی نگاشت‌شده در آفست src_offset از فایل src_file ، و جایگزینی هر محتوایی که از قبل در آنجا وجود داشته است. اگر برنامه‌ای در محدوده بلوک reflinkشده هر یک از فایل‌ها بنویسد، بلوک‌های تغییریافته کپی شده، نوشته شده و مجدداً نگاشت می‌شوند ("کپی هنگام نوشتن" یا CoW)، و سایر فایل‌ها دست‌نخورده باقی می‌مانند. در صورت حذف src_offset، dst_offset و length، تمام محتویات src_file به داخل فایل باز reflink می‌شود.
چاپ آمارهای زمان‌بندی در قالبی فشرده.
عدم چاپ آمارهای زمان‌بندی به طور کامل.
در فایل‌سیستم‌هایی که از ioctlهای FIDEDUPERANGE یا BTRFS_IOC_FILE_EXTENT_SAME پشتیبانی می‌کنند، نگاشت length بایت در آفست dst_offset از فایل باز جاری به همان بلوک‌های فیزیکی نگاشت‌شده در آفست src_offset در پرونده src_file ، اما فقط در صورتی که محتوای هر دو محدوده یکسان باشد. این فرآیند تحت عنوان حذف داده‌های تکراری مبتنی بر بلوک (block-based deduplication) شناخته می‌شود. اگر برنامه‌ای در محدوده بلوک اشتراکی بنویسد، بلوک‌ها شبیه‌سازی شده، بازنویسی شده و مجدداً نگاشت می‌شوند ("کپی هنگام نوشتن") و فایل دیگر تغییر نمی‌کند.
چاپ اطلاعات آماری زمان در فرمت فشرده.
عدم نمایش آمارهای زمان‌بندی.
در فایل‌سیستم‌هایی که از فراخوانی سیستمی copy_file_range(2) پشتیبانی می‌کنند، کپی داده‌ها از پرونده مبدا به پرونده باز جاری. مبدا باید با مسیر (src_file) یا به عنوان پرونده باز دیگر (-f) مشخص شود. اگر length تعیین نشود، این دستور داده‌ها را از src_offset تا انتهای src_file در dst_file در نقطه dst_offset کپی می‌کند.
کپی داده‌ها از src_file با شروع از src_offset.
کپی داده‌ها به درون فایل باز با شروع در dst_offset.
کپی حداکثر تا length بایت از داده‌ها.
جابه‌جایی شاخه‌های اکستنت بین پرونده‌ها. فایل باز جاری فایل مقصد است. فایل اهداکننده (donor) از طریق مسیر مشخص می‌شود. توجه داشته باشید که داده‌های فایل کپی نمی‌شوند (محتوای فایل همراه با شاخه‌ها منتقل می‌شود).
مبادله محتویات بین پرونده‌ها. فایل باز جاری هدف است. فایل اهداکننده از طریق مسیر مشخص می‌شود. توجه داشته باشید که داده‌های فایل کپی نمی‌شوند (محتوای پرونده همراه با شاخه منتقل می‌شود). گزینه‌ها شامل موارد زیر هستند:
چاپ اطلاعات زمان‌بندی در فرمت فشرده.
مبادله محتویات تنها در صورتی که file2 تغییر نکرده باشد.
تبادل اکستنت‌ها با فایل باز با شروع از dest_offset.
تخلیه داده‌های تغییریافته فایل و متاداده پرونده روی دیسک.
مبادله حداکثر تا length بایت از داده‌ها.
انجام کلیه بررسی‌های اعتبارسنجی پارامترها بدون تغییر دادن هیچ چیز.
تبادل اکستنت‌ها با فایل اهداکننده از نقطه src_offset.
چاپ اطلاعات زمان‌بندی.
فقط مبادله محدوده‌های نوشته‌شده در فایل ارائه‌شده.
در فایل‌سیستم‌هایی که از رمزنگاری پشتیبانی می‌کنند، تخصیص خط‌مشی رمزنگاری به پرونده جاری. keyspec یک رشته هگزادسیمال است که کلید رمزنگاری مورد استفاده را مشخص می‌کند. برای خط‌مشی‌های رمزنگاری نسخه ۱، keyspec باید یک رشته هگز ۱۶ کاراکتری (۸ بایت) باشد. برای خط‌مشی‌های نسخه ۲، keyspec باید یک رشته هگز ۳۲ کاراکتری (۱۶ بایت) باشد. در صورت عدم تعیین، مقداری کاملاً صفر استفاده می‌شود.
حالت رمزنگاری محتوا (مثلاً AES-256-XTS).
حالت رمزنگاری نام پرونده‌ها (مثلاً AES-256-CTS).
پرچم‌های خط‌مشی (عددی).
لگاریتم پایه ۲ اندازه واحد داده. در خط‌مشی‌های v1 پشتیبانی نمی‌شود.
نسخه خط‌مشی. بسته به طول keyspec به طور پیش‌فرض ۱ یا ۲ است؛ یا در صورت عدم تعیین keyspec، برابر با ۱ است.
در فایل‌سیستم‌های دارای رمزنگاری، نمایش خط‌مشی رمزنگاری پرونده جاری.
-1
استفاده اختصاصی از ioctl قدیمی برای دریافت خط‌مشی رمزنگاری. این فقط در صورتی کار می‌کند که فایل خط‌مشی رمزنگاری v1 داشته باشد.
آزمایش اینکه آیا خط‌مشی‌های رمزنگاری نسخه ۲ پشتیبانی می‌شوند یا خیر. عبارات "supported"، "unsupported" یا یک پیام خطا چاپ می‌کند.
در فایل‌سیستم‌های دارای قابلیت رمزنگاری، افزودن یک کلید رمزنگاری به فایل‌سیستم حاوی پرونده باز جاری. به طور پیش‌فرض، کلید خام به صورت باینری (معمولاً با طول ۶۴ بایت) از ورودی استاندارد خوانده می‌شود.
توصیف‌گر کلید، به صورت رشته هگزادسیمال ۱۶ کاراکتری (۸ بایت). در صورت مشخص شدن، کلید برای استفاده توسط خط‌مشی‌های رمزنگاری نسخه ۱ که از این توصیف‌گر استفاده می‌کنند در دسترس خواهد بود. در غیر این صورت، کلید به عنوان کلید خط‌مشی نسخه ۲ افزوده می‌شود و در صورت موفقیت، "شناسه کلید" حاصل چاپ می‌شود.
شناسه کلید دسته‌کلید (keyring) هسته از نوع "fscrypt-provisioning". در صورت ارائه، کلید خام به جای ورودی استاندارد از اینجا دریافت خواهد شد.
در فایل‌سیستم‌های پشتیبانی‌کننده از رمزنگاری، حذف کلید رمزنگاری از فایل‌سیستم حاوی پرونده باز جاری. keyspec یک رشته هگزادسیمال است که کلید مورد نظر برای حذف را به عنوان یک "توصیف‌گر کلید" ۱۶ کاراکتری یا یک "شناسه کلید" ۳۲ کاراکتری مشخص می‌کند.
حذف کلید برای تمام کاربرانی که آن را اضافه کرده‌اند، نه فقط کاربر جاری. این یک عملیات نیازمند دسترسی بالا (ممتاز) است.
در فایل‌سیستم‌های دارای رمزنگاری، نمایش وضعیت یک کلید رمزنگاری. keyspec یک رشته هگز است که کلید مورد نظر برای بررسی وضعیت را به صورت یک "توصیف‌گر کلید" ۱۶ کاراکتری یا "شناسه کلید" ۳۲ کاراکتری مشخص می‌کند.
فهرست کردن پرچم‌های توسعه‌یافته inode روی فایل باز جاری. اگر گزینه -R مشخص شود، پیمایش بازگشتی برای تمامی ورودی‌های دایرکتوری در زیر فایل باز جاری انجام می‌شود (-D می‌تواند برای محدود کردن خروجی به دایرکتوری‌ها استفاده شود). این یک پیمایش اول‌عمق (depth first) است، پیوندهای نمادین را دنبال نمی‌کند و از نقاط اتصال (mount points) نیز عبور نمی‌کند.

حروف پرچم‌های inode جاری در ادامه مستند شده است. لطفاً برای جزئیات بیشتر در مورد معانی آنها به مستندات ioctl_xfs_fsgetxattr(2) مراجعه فرمایید.

پرونده بلادرنگ (XFS_XFLAG_REALTIME)
پیش‌تخصیص‌یافته (XFS_XFLAG_PREALLOC)
تغییرناپذیر (XFS_XFLAG_IMMUTABLE)
فقط‌افزودنی (XFS_XFLAG_APPEND)
نوشتن همگام فایل (XFS_XFLAG_SYNC)
عدم به‌روزرسانی زمان دسترسی (XFS_XFLAG_NOATIME)
عدم پشتیبان‌گیری در dump (XFS_XFLAG_NODUMP)
ارث‌بری پرچم بلادرنگ (XFS_XFLAG_RTINHERIT)
ارث‌بری شناسه پروژه (XFS_XFLAG_PROJINHERIT)
عدم امکان ایجاد پیوند نمادین (XFS_XFLAG_NOSYMLINKS)
راهنمای اندازه اکستنت (XFS_XFLAG_EXTSIZE)
ارث‌بری راهنمای اندازه اکستنت (XFS_XFLAG_EXTSZINHERIT)
عدم یکپارچه‌سازی دیسک (XFS_XFLAG_NODEFRAG)
تخصیص‌دهنده جریان فایل (XFS_XFLAG_FILESTREAM)
حافظه پایدار دسترسی مستقیم (XFS_XFLAG_DAX)
راهنمای اندازه اکستنت کپی هنگام نوشتن (XFS_XFLAG_COWEXTSIZE)
دارای مشخصه‌های توسعه‌یافته (XFS_XFLAG_HASATTR)
تغییر پرچم‌های توسعه‌یافته inode روی پرونده باز جاری. گزینه‌های -R و -D همان معنای ذکرشده در بالا را دارند.

برای مشاهده فهرست حروف پرچم‌های inode به دستور lsattr در بالا مراجعه کنید.

پیوند دادن توصیف‌گر فایل باز جاری به فضای‌نام فایل‌سیستم.
آمارهای منتخب از stat(2) و فراخوانی سیستمی XFS_IOC_GETXATTR روی پرونده جاری. اگر گزینه -v مشخص شود، برچسب‌های زمانی atime (آخرین دسترسی)، mtime (آخرین تغییر محتوا) و ctime (آخرین تغییر وضعیت) نیز نمایش داده می‌شوند. گزینه -r فیلدهای خام ساختار stat را تخلیه می‌کند.
آمارهای برگزیده از stat(2) و فراخوانی سیستمی XFS_IOC_GETXATTR روی فایل جاری.
نمایش مهرهای زمانی.
نمایش مقادیر خام ساختار statx.
-m basic
تنظیم ماسک فیلد فراخوانی statx به STATX_BASIC_STATS.
-m all
تنظیم ماسک فیلد فراخوانی statx به STATX_ALL (پیش‌فرض).
-m <mask>
تعیین ماسک فیلد عددی برای فراخوانی statx.
اجبار به همگام‌سازی مشخصه‌ها با سرور.
عدم همگام‌سازی ویژگی‌ها با سرور.
اصلاح شناسه پروژه مرتبط با مسیر جاری. گزینه -R در صورت دایرکتوری بودن مسیر جاری به صورت بازگشتی پیمایش می‌کند. گزینه -D نیز به صورت بازگشتی پیمایش می‌کند اما فقط پروژه‌ها را روی زیرپوشه‌ها اعمال می‌نماید. برای اطلاعات بیشتر درباره شناسه‌های پروژه به صفحه راهنمای xfs_quota(8) مراجعه نمایید.
نمایش شناسه پروژه مرتبط با مسیر جاری. گزینه‌های -R و -D همان‌گونه که در بالا در chproj شرح داده شد عمل می‌کنند.
به طور پیش‌فرض این دستور شماره‌های inode والد، شماره‌های تولید (generation) inode و نام‌های اصلی (basenames) تمام پیوندهای سخت (hardlinks) که به inode فایل جاری اشاره دارند را چاپ می‌کند.

اگر پارامترهای اختیاری ino و gen ارائه شوند، برای ایجاد یک دستگیره فایل (file handle) روی همان فایل‌سیستم فایل باز استفاده می‌شوند. والدهای فایلی که با این دستگیره مشخص می‌شود به جای فایل باز گزارش خواهند شد.

استفاده از بافری با این اندازه برای دریافت رکوردهای اشاره‌گر والد از هسته.
تنها نمایش رکوردهای اشاره‌گر والد شامل این شماره inode.
تنها نمایش رکوردهای اشاره‌گر والد شامل این نام ورودی دایرکتوری.
خروجی شبیه به حالت پیش‌فرض است، با این تفاوت که نام مسیرها تا نقطه اتصال به جای نام جزء چاپ می‌شوند.
چاپ رکوردها در قالب کوتاه: ino/gen/namelen/name
چاپ تنها اولین مسیر از ریشه.
دستور utimes زمان‌های atime و mtime فایل جاری را تغییر می‌دهد. sec از نماد زمان یونیکس استفاده می‌کند و ثانیه‌های سپری‌شده از 1970-01-01 00:00:00 UTC است. nsec نانوثانیه‌های سپری‌شده پس از sec است. این مقدار باید در محدوده 0-999999999 باشد و UTIME_NOW و UTIME_OMIT موارد استثنا هستند. هر جفت (sec, nsec) یک مقدار برچسب زمانی واحد را تشکیل می‌دهد.
ایجاد یک کلون موقت از فایل جهت آماده‌سازی به‌روزرسانی‌های فایل. گزینه -e یک فایل مرحله‌بندی خالی ایجاد می‌کند.
لغو و صرف‌نظر کردن از تغییرات پرونده مرحله‌بندی به‌روزرسانی.
اعمال و ثبت نهایی تغییرات از فایل مرحله‌بندی به‌روزرسانی روی فایل واقعی.
چاپ اطلاعات زمان‌بندی در قالبی خلاصه.
تنها تعویض محدوده‌هایی در پرونده مرحله‌بندی که واقعاً نوشته شده‌اند.
تغییر ندادن اندازه فایل.
بررسی پارامترها بدون تغییر دادن هیچ چیزی.
عدم چاپ اطلاعات زمان‌بندی به طور کامل.

بدون آرگومان، mmap نگاشت‌های جاری را نشان می‌دهد. تعیین یک آرگومان عددی منفرد N نگاشت جاری را مشخص می‌کند. اگر دو آرگومان ارائه شود (محدوده‌ای که توسط offset و length) مشخص می‌شود، نگاشت جدیدی در آن محدوده ایجاد می‌شود، و حالت محافظت می‌تواند به صورت ترکیبی از PROT_READ (-r)، PROT_WRITE (-w)، و PROT_EXEC (-x) تعیین گردد. نگاشت به طور پیش‌فرض با پرچم MAP_SHARED یا در صورت ارائه گزینه -S با پرچم‌های ویژه لینوکس (MAP_SYNC | MAP_SHARED_VALIDATE) ایجاد می‌شود. -s size برای انجام یک عملیات mmap(size) && munmap(size) در ابتدا به کار می‌رود تا مقداری فضای حافظه آزاد قابل گسترش رزرو شود، در صورتی که size بزرگتر از پارامتر length باشد. اما هیچ تضمینی وجود ندارد که حافظه پس از length (تا سقف size ) آزاد باقی بماند. به عنوان مثال: دستور "mmap -rw -s 8192 1024"; مقدار 0 تا 1024 بایت حافظه را mmap می‌کند، اما سعی می‌کند 1024 تا 8192 فضای آزاد را رزرو کند (بدون تضمین). این فضای آزاد برای "mremap 8192" بدون پرچم MREMAP_MAYMOVE مفید خواهد بود.
دستور mmap را ببینید.
تغییر اندازه نگاشت جاری به new_length. اینکه آیا نگاشت ممکن است جابه‌جا شود توسط پرچم‌های ارسالی کنترل می‌شود؛ MREMAP_FIXED (-f)، یا MREMAP_MAYMOVE (-m). مقدار new_length آدرس تراز‌شده با صفحه را مشخص می‌کند که نگاشت باید به آن منتقل شود. این مقدار می‌تواند به صورت 139946004389888، 4096k یا 1g و غیره تنظیم گردد.
دستور mremap را ببینید.
لغو نگاشت حافظه جاری.
دستور munmap را ببینید.
دسترسی به بخشی از نگاشت حافظه جاری، با امکان چاپ اختیاری آن در جریان خروجی استاندارد (با گزینه -v یا -f) جهت بازبینی. دسترسی‌ها به طور پیش‌فرض به صورت ترتیبی از offset ابتدایی انجام می‌شوند، اما در صورت مشخص شدن گزینه -r می‌توانند از انتها به سمت عقب نیز در سراسر نگاشت اجرا شوند. دو حالت پرحرف تنها در آفست‌های نسبی که نمایش می‌دهند تفاوت دارند؛ گزینه -f نسبت به ابتدای فایل است، در حالی که -v آفست‌ها را نسبت به ابتدای نگاشت نشان می‌دهد.
دستور mread را ببینید.
ذخیره یک بایت در حافظه برای محدوده‌ای در داخل یک نگاشت. مقدار ذخیره‌شده پیش‌فرض 'X' است که برای پر کردن محدوده مشخص‌شده تکرار می‌شود، اما می‌توان آن را با استفاده از گزینه -S تغییر داد. عملیات ذخیره در حافظه به طور پیش‌فرض به صورت ترتیبی از آفست شروع انجام می‌شود، اما در صورت ارائه گزینه -r می‌تواند از انتها به صورت معکوس نیز انجام شود.
دستور mwrite را ببینید.
نوشتن تمامی نسخه‌های تغییریافته صفحات در محدوده مشخص‌شده (یا کل نگاشت در صورت عدم تعیین محدوده) در مکان‌های ذخیره‌سازی پشتیبان. همچنین، به صورت اختیاری نامعتبرسازی می‌کند (-i) تا مراجعات بعدی به صفحات از مکان‌های ذخیره‌سازی پشتیبان دریافت شوند (به جای نسخه‌های کش‌شده). تخلیه می‌تواند به صورت همگام (-s) یا ناهمگام (-a) انجام شود.
دستور msync را ببینید.
اصلاح رفتار کش صفحات هنگام کار با نگاشت جاری. آرگومان‌های محدوده برای برخی از دستورات راهنمایی الزامی هستند ([*] در زیر). بدون آرگومان، راهنمایی POSIX_MADV_NORMAL در نظر گرفته می‌شود (پیش‌خوانی پیش‌فرض).
صفحات مورد نیاز نخواهند بود (POSIX_MADV_DONTNEED[*]).
انتظار مراجعات تصادفی به صفحات (POSIX_MADV_RANDOM)، که پیش‌خوانی را به صفر تنظیم می‌کند.
انتظار مراجعات ترتیبی به صفحات (POSIX_MADV_SEQUENTIAL)، که پیش‌خوانی پیش‌فرض را دو برابر می‌کند.
اعلام می‌کند که صفحات مشخص‌شده دوباره مورد نیاز خواهند بود (POSIX_MADV_WILLNEED[*]) که حداکثر پیش‌خوانی را تحمیل می‌نماید.
تخلیه فهرستی از صفحات یا محدوده‌هایی از صفحات که در حال حاضر در حافظه اصلی (core) قرار دارند، برای نگاشت حافظه جاری.

نمایش اطلاعات یا به‌روزرسانی وضعیت گروه‌های تخصیص (allocation groups).

عملکرد تنها روی یک گروه تخصیص خاص.
نمایش اطلاعات آماری خام در مورد دسته‌ای از inodeها در فایل‌سیستم XFS. گزینه‌ها به شرح زیر هستند:
نمایش تنها نتایج حاصل از گروه تخصیص داده‌شده. در صورت عدم تعیین، تمامی نتایج بازگردانده‌شده نمایش داده می‌شوند.
چاپ اطلاعات خطایابی درباره نتایج فراخوانی.
توقف نمایش رکوردها هنگامی که به این شماره inode برسد. حالت پیش‌فرض توقف با اتمام نتایج فراخوانی سیستمی است.
گنجاندن دایرکتوری‌های متاداده در خروجی.
دریافت حداکثر این تعداد رکورد در هر فراخوانی. پیش‌فرض ۴۰۹۶ است.
اجرای بی‌صدا. اطلاعات bulkstat دریافت‌شده را تجزیه یا چاپ نمی‌کند.
نمایش رکوردهای تخصیص inode با شروع از این inode. به طور پیش‌فرض اولین inode در فایل‌سیستم است. اگر inode داده‌شده تخصیص نیافته باشد، نتایج با inode تخصیص‌یافته بعدی در فایل‌سیستم آغاز خواهد شد.
استفاده از یک نسخه خاص از رابط هسته. نسخه‌های پشتیبانی‌شده فعلی ۱ و ۵ هستند.
نمایش اطلاعات آماری خام درباره inodeهای منفرد در فایل‌سیستم XFS. گزینه‌های -d، -m، و -v همانند دستور bulkstat هستند. آرگومان‌ها باید شماره‌های inode یا هر یک از مقادیر ویژه باشند:
نمایش اطلاعات مربوط به inode پوشه ریشه.
تعلیق کلیه درخواست‌های ورودی/خروجی نوشتن روی فایل‌سیستم مربوط به پرونده جاری. فقط در حالت متخصص در دسترس بوده و نیازمند اختیارات مدیریتی است.
لغو اثرات عملیات انجماد (freeze) فایل‌سیستم. تنها در حالت متخصص موجود بوده و نیاز به دسترسی ممتاز دارد.
تزریق خطا به فایل‌سیستم جهت مشاهده رفتار فایل‌سیستم در نقاط مشخص تحت شرایط نامساعد. بدون آرگومان tag، فهرست برچسب‌های خطای موجود را نمایش می‌دهد. فقط در حالت متخصص موجود است و نیاز به دسترسی ممتاز دارد.
نمایش اطلاعات یا به‌روزرسانی وضعیت گروه‌های تخصیص بلادرنگ (realtime allocation groups).

عملکرد تنها روی یک گروه بلادرنگ خاص.
دریافت و/یا تنظیم تعداد بلوک‌های رزروشده فایل‌سیستم با استفاده از فراخوانی‌های سیستمی XFS_IOC_GET_RESBLKS یا XFS_IOC_SET_RESBLKS. توجه -- این دستور می‌تواند برای سنجش رفتار سیستم در شرایط کمبود فضا مفید باشد. تنها در حالت متخصص و با مجوزهای لازم در دسترس است.
اجبار فایل‌سیستم به خاموش شدن و جلوگیری از هرگونه عملیات I/O بعدی. XFS و سایر فایل‌سیستم‌ها این قابلیت را پیاده‌سازی کرده‌اند، اگرچه جزئیات پیاده‌سازی ممکن است اندکی متفاوت باشد. فقط در حالت متخصص و با دسترسی بالا قابل استفاده است.
به طور پیش‌فرض، فایل‌سیستم قبل از خاموش شدن تلاشی برای تخلیه تراکنش‌های کامل‌شده به دیسک نمی‌کند. این کار شرایط نقص دیسک یا سقوط ناگهانی سیستم را شبیه‌سازی می‌کند.
اجبار فایل‌سیستم به تخلیه تمام تراکنش‌های کامل‌شده به دیسک قبل از خاموش شدن، منطبق با رفتار XFS هنگامی که با خرابی بحرانی مواجه می‌شود.
گزارش آمارهای منتخب درباره فایل‌سیستمی که پرونده جاری در آن قرار دارد. رفتار پیش‌فرض فعال‌سازی هر سه گزینه گزارش‌دهی است:
نمایش داده‌های شمارنده‌های خلاصه‌شده XFS_IOC_FSCOUNTERS.
نمایش داده‌های هندسه فایل‌سیستم XFS_IOC_FSGEOMETRY.
نمایش داده‌های statfs(2).
دستور inode اطلاعات فیزیکی درباره یک inode را استعلام می‌کند. بدون آرگومان، مقدار 1 یا 0 را برمی‌گرداند که نشان می‌دهد آیا شماره‌های inode بزرگتر از ۳۲ بیت در حال حاضر در فایل‌سیستم استفاده می‌شوند یا خیر. اگر یک number (شماره inode) به عنوان آرگومان داده شود، در صورت استفاده همان شماره و در غیر این صورت 0 را برمی‌گرداند. با گزینه -n number ، شماره inode مورد استفاده بعدی پس از این number بازگردانده می‌شود، یا در صورتی که شماره داده‌شده بالاترین شماره در حال استفاده باشد 0 برمی‌گرداند. با -v این دستور همچنین تعداد بیت‌های (۳۲ یا ۶۴) مورد استفاده توسط شماره number چاپ‌شده در نتیجه را گزارش می‌دهد؛ اگر هیچ شماره inode در خط فرمان مشخص نشده باشد، حداکثر شماره inode ممکن در سیستم همراه با اندازه آن چاپ خواهد شد.
چاپ اطلاعات تخصیص درباره گروه‌هایی از inodeها در فایل‌سیستم XFS. فراخوان‌ها می‌توانند از این اطلاعات برای تشخیص اینکه کدام inodeها تخصیص یافته‌اند استفاده کنند. گزینه‌ها به شرح زیر هستند:
نمایش نتایج تنها از گروه تخصیص داده‌شده. اگر مشخص نشود، تمام نتایج بازگردانده‌شده نمایش داده خواهند شد.
چاپ اطلاعات خطایابی درباره نتایج فراخوانی.
توقف نمایش رکوردها زمانی که به این شماره inode برسد. به طور پیش‌فرض هنگام توقف بازگرداندن نتایج توسط فراخوانی سیستمی متوقف می‌شود.
دریافت حداکثر این تعداد رکورد در هر فراخوانی. مقدار پیش‌فرض ۴۰۹۶ است.
نمایش رکوردهای تخصیص inode با شروع از این inode. به طور پیش‌فرض اولین inode در فایل‌سیستم است. اگر inode مشخص‌شده تخصیص نیافته باشد، نتایج با inode تخصیص‌یافته بعدی در فایل‌سیستم آغاز می‌شود.
استفاده از یک نسخه خاص از رابط هسته. نسخه‌های پشتیبانی‌شده فعلی ۱ و ۵ هستند.
پالایش و بررسی سلامت متاداده داخلی فایل‌سیستم XFS. پارامتر type مشخص می‌کند چه نوع متاداده‌ای پالایش شود. برای متاداده AG، باید یک شماره AG مشخص شود. برای متاداده گروه بلادرنگ، یک شماره rtgroup باید تعیین گردد. برای متاداده فایل، عملیات پالایش روی فایل باز اعمال می‌شود مگر آنکه شماره inode و شماره نسل (generation) مشخص شوند. برای metapath، نام یک پرونده یا یک شماره خام باید داده شود. اگر پرونده metapath یک پرونده مختص rtgroup باشد، شماره گروه باید مشخص گردد.

پالایش دسته‌ای از متاداده‌های داخلی فایل‌سیستم XFS. پارامتر group مشخص می‌کند چه گروهی از متاداده‌ها پالایش شوند. گروه‌های معتبر عبارتند از: ag، agheader، inode، iscan، fs، probe، rtgroup، یا summary.

برای متاداده ag و agheader ، باید یک شماره AG مشخص شود. برای متاداده inode ، پالایش روی پرونده باز اعمال می‌شود مگر آنکه شماره inode و generation مشخص شوند. برای متاداده rtgroup ، یک شماره گروه rt باید مشخص گردد.

-b NN
تزریق موانع پالایش (scrub barriers) در جریان بردار با بازه داده‌شده. موانع در صورتی که هر تابع پالایش قبلی خرابی پیدا کرده باشد، پردازش بردار را متوقف می‌کنند.
فعال‌سازی حالت خطایابی (debug).
شکست دادن موانع پالایش در صورت مشاهده هر یک از این پرچم‌های خروجی پالایش.
تعمیر متاداده در صورت یافتن خرابی. این گزینه نیازمند حالت متخصص است.
-v NN
اجبار به استفاده از یک نسخه API خاص. single گزینه XFS_SCRUB_METADATA را انتخاب می‌کند (یکی‌یکی). vector گزینه XFS_SCRUBV_METADATA را انتخاب می‌کند (برداری). در صورت عدم تعیین، حالت برداری استفاده خواهد شد، با بازگشت به حالت تکی در صورتی که هسته ioctl حالت برداری را نشناسد.
-w us
مکث به مدت تعداد میکروثانیه مشخص‌شده بین هر تابع پالایش.
تعمیر متاداده داخلی فایل‌سیستم XFS. پارامتر type مشخص می‌کند کدام نوع از متاداده تعمیر شود. برای متاداده AG، یک شماره AG باید مشخص شود. برای متاداده فایل، تعمیر روی فایل باز اعمال می‌شود مگر اینکه شماره inode و generation مشخص شوند. گزینه -R می‌تواند برای اجبار به بازسازی ساختار متاداده تعیین گردد.
در فایل‌سیستم‌هایی که از دستکاری برچسب به صورت آنلاین پشتیبانی می‌کنند، دریافت، تنظیم یا پاک کردن برچسب فایل‌سیستم. بدون هیچ گزینه‌ای، برچسب فعلی فایل‌سیستم چاپ می‌شود. گزینه -c برچسب فایل‌سیستم را با تنظیم آن به رشته تهی پاک می‌کند. گزینه -s label برچسب فایل‌سیستم را به label تنظیم می‌کند. اگر برچسب طولانی‌تر از حد پذیرش فایل‌سیستم باشد، xfs_io پیام خطایی چاپ خواهد کرد. برچسب‌های فایل‌سیستم XFS حداکثر می‌توانند ۱۲ کاراکتر باشند.
چاپ نگاشت بلوک‌های دیسک استفاده‌شده توسط فایل‌سیستمی که میزبان فایل جاری است. این نقشه هر اکستنت مورد استفاده فایل‌ها، متاداده گروه تخصیص، گزارش‌های ثبت ژورنال، و متاداده ایستا فایل‌سیستم و همچنین هر ناحیه استفاده‌نشده را فهرست می‌کند. هر خط از فهرست‌بندی به شکل زیر است:
extent: major:minor [startblock..endblock]: owner startoffset..endoffset length

متاداده ایستای فایل‌سیستم، متاداده گروه تخصیص، درخت‌های btree، ژورنال‌ها و فضای خالی با جایگزینی startoffset..endoffset با نشانگر مناسب مشخص می‌شوند. تمام بلوک‌ها، آفست‌ها و طول‌ها بر حسب واحدهای بلوک‌های ۵۱۲ بایتی مشخص می‌شوند، بدون در نظر گرفتن اینکه اندازه بلوک فایل‌سیستم چقدر است. آرگومان‌های اختیاری start و end می‌توانند برای محدود کردن خروجی به محدوده‌ای خاص از بلوک‌های دیسک استفاده شوند. اگر این دو گزینه مشخص شوند، دقیقاً یکی از گزینه‌های -d، -l، یا -r نیز باید تنظیم گردد.

نمایش تنها اکستنت‌های مربوط به دستگاه داده (data device). این گزینه فقط برای فایل‌سیستم‌های XFS کاربرد دارد.
نمایش تنها اکستنت‌های مربوط به دستگاه لاگ خارجی (external log device). این گزینه فقط برای فایل‌سیستم‌های XFS اعمال می‌شود.
نمایش تنها اکستنت‌های مربوط به دستگاه بلادرنگ (realtime device). این گزینه فقط برای فایل‌سیستم‌های XFS کاربرد دارد.
نمایش نتایج در قالبی خوانا برای ماشین (CSV). این گزینه با پرچم -v سازگار نیست. ستون‌های خروجی عبارتند از: شماره اکستنت، شماره ماژور دستگاه، شماره مینور دستگاه، شروع فیزیکی، پایان فیزیکی، مالک، شروع آفست، پایان آفست، طول. اعداد شروع، پایان و طول بر حسب واحدهای 512b ارائه می‌شوند. فیلد مالک یک رشته ویژه است که به فرمت‌های زیر درمی‌آید:
برای داده‌های inode.
برای نگاشت‌های اکستنت داده inode.
برای داده‌های مشخصه توسعه‌یافته inode.
برای نگاشت‌های اکستنت ویژگی‌های توسعه‌یافته inode.
برای سایر متاداده‌های فایل‌سیستم.
در صورت تعیین این گزینه، fsmap فهرست اکستنت‌های فایل را در دسته‌های num_extents اکستنت دریافت می‌کند. در نبود گزینه -n، دستور fsmap اکستنت‌ها را در گروه‌های ۱۳۱٬۰۷۲ تایی از رکوردها استعلام می‌کند.
نمایش اطلاعات با جزئیات کامل (verbose). هنگامی که این پرچم مشخص شود، اطلاعات اضافی مختص AG به هر خط به شکل زیر اضافه می‌گردد:
agno (startagblock..endagblock) nblocks flags
گزینه دوم -v راهنمای علائم flags را چاپ می‌کند. این گزینه با پرچم -m سازگار نیست.
چاپ UUID فایل‌سیستم متصل‌شده (mounted).
چاپ مسیر sysfs یا debugfs برای فایل‌سیستم متصل‌شده.

گزینه -d مسیر debugfs را به جای sysfs انتخاب می‌کند.

دریافت مقادیر مشخصه‌های فایل‌سیستم داده‌شده.
فهرست کردن تمام مشخصه‌های فایل‌سیستم که در فایل‌سیستم ذخیره شده‌اند. در صورت تعیین پرچم -v، مقادیر مشخصه‌ها نیز چاپ می‌شود.
تنظیم مشخصه‌های فایل‌سیستم داده‌شده به مقادیر تعیین‌شده.
حذف مشخصه‌های فایل‌سیستم داده‌شده.

نمایش توضیح مختصری از یک یا تمام دستورات.
نمایش فهرستی از تمام فایل‌های باز و نواحی نگاشت‌شده در حافظه. فایل جاری و نگاشت جاری از سایر موارد قابل تشخیص هستند.
دستور print را ببینید.
خروج از xfs_io.
دستور quit را ببینید.
ایجاد یک نشان با نام mark در گزارش dm-log-writes مشخص‌شده با device. این دستور معادل دستور زیر در خط فرمان شل است:

dmsetup message device 0 mark mark


دستور log_writes را ببینید.
آزمایش خودکار پیاده‌سازی داخلی crc32c جهت اطمینان از صحت محاسبات نتایج.

mkfs.xfs(8), xfsctl(3), xfs_bmap(8), xfs_db(8), xfs(5), fdatasync(2), fstat(2), fstatfs(2), fsync(2), ftruncate(2), futimens(3), mmap(2), msync(2), open(2), pread(2), pwrite(2), readdir(3), dmsetup(8)

مه ۲۰۲۵ xfsprogs