XFS_IO(8) XFS_IO(8) (NAME) xfs_io - / (I/O) XFS (SYNOPSIS) xfs_io [ -adfimrRstxT ] [ -c cmd ] ... [ -C cmd ] ... [ -p prog ] [ file ] xfs_io -V (DESCRIPTION) xfs_io / XFS . xfs_db(8) I/O XFS . read/write/mmap XFS ( inode ) . (OPTIONS) xfs_io ( ) . . . . . . -c cmd . . -c -C . -C cmd . -C -c . -p prog xfs_io . -f file . -r file . file (immutable) (append-only) . -i (idle thread). / . . (reference leaks) . -x (Expert mode). . . -V . open(2) . (CONCEPTS) xfs_io . () . xfs_io . / - . - . . . help . / (FILE I/O COMMANDS) file [ N ] () . open [[ -acdfrstRTPL ] path ] path . - stat . -a (O_APPEND). -d / (O_DIRECT). -f (O_CREAT). -r (O_RDONLY). -s / (O_SYNC). -t (O_TRUNC). -n (O_NONBLOCK). -T (O_TMPFILE). . -r . -R (realtime) XFS . -P (O_PATH). O_xxx -L . -L (O_NOFOLLOW). O_xxx -P . o open . close ( ). c close . chmod -r | -w . -r (0444) -w / (0644) . xfs_io / . pread [ -b bsize ] [ -qv ] [ -FBR [ -Z seed ] ] [ -V vectors ] offset length offset . -b read(2) . . -q . -v . -F . -B (). -R . -Z seed (seed) . -V vectors preadv(2) iovec blocksize. iovec vectors . r pread . pwrite [ -i file ] [ -qAdDwNOW ] [ -s skip ] [ -b size ] [ -S seed ] [ -FBR [ -Z zeed ] ] [ -V vectors ] offset length offset . . -i file . -q . -d I/O I/O . -w fdatasync(2) ( ). -N pwritev2(2) RWF_NOWAIT. -D pwritev2(2) RWF_DSYNC. -A pwritev2(2) RWF_ATOMIC. -O pwrite ( ). -W fsync(2) ( ). -s skip () . -b write(2) . . -S . 0xcdcdcdcd . -F . -B . -R . -Z seed . -V vectors pwritev(2) iovec blocksize. iovec vectors . w pwrite . bmap [ -adelpv ] [ -n nx ] . xfs_bmap(8) . fiemap [ -alv ] [ -n nx ] [ offset [ len ]] ioctl fiemap. xfs_bmap(8) . . fiemap . (hole) fiemap . extsize [ -R | -D ] [ value ] . -R (-D ). ( ). value (k m g b ) . . cowextsize [ -R | -D ] [ value ] (CoW) . -R (-D ). CoW ( CoW ). value . . allocsp size 0 size XFS_IOC_ALLOCSP/XFS_IOC_FREESP xfsctl(3) . allocsp freesp . 5.17 . freesp size 0 allocsp . fadvise [ -r | -s | [[ -d | -n | -w ] offset length ]] / . ([*] ) . POSIX_FADV_NORMAL ( ). -d (POSIX_FADV_DONTNEED[*]). -n (POSIX_FADV_NOREUSE[*]). -r (POSIX_FADV_RANDOM) . -s (POSIX_FADV_SEQUENTIAL) . -w (POSIX_FADV_WILLNEED[*]) . fdatasync fdatasync(2) . fsync fsync(2) . s fsync . sync_range [ -a | -b | -w ] offset length . SYNC_FILE_RANGE_WRITE . -a I/O (SYNC_FILE_RANGE_WAIT_AFTER). -b I/O (SYNC_FILE_RANGE_WAIT_BEFORE). -w (SYNC_FILE_RANGE_WRITE). sync sync(2) . syncfs syncfs(2) . resvsp offset length XFS_IOC_RESVSP xfsctl(3) . unresvsp offset length XFS_IOC_UNRESVSP xfsctl(3) . falloc [ -k ] offset length fallocate fallocate(2) . -k FALLOC_FL_KEEP_SIZE fallocate(2). fcollapse offset length fallocate FALLOC_FL_COLLAPSE_RANGE fallocate(2) . finsert offset length fallocate FALLOC_FL_INSERT_RANGE fallocate(2) . fpunch offset length () fallocate FALLOC_FL_PUNCH_HOLE fallocate(2). funshare offset length fallocate FALLOC_FL_UNSHARE_RANGE fallocate(2) . fzero [ -k ] offset length fallocate FALLOC_FL_ZERO_RANGE fallocate(2) . -k FALLOC_FL_KEEP_SIZE . zero offset length xfsctl XFS_IOC_ZERO_RANGE xfsctl(3) . truncate offset ftruncate(2). sendfile [ -q ] -i srcfile | -f N [ offset length ] . (-f) (-i) . -q . readdir [ -v ] [ -o offset ] [ -l length ] . -v - dirent readdir(3) -o offset . -l length ( ). seek -a | -d | -h [ -r ] [ -s ] offset SEEK_DATA SEEK_HOLE lseek(2) . -a (data) (hole) offset . -d (data) offset . -h (hole) offset . -r offset . -s lseek(2). . reflink [ -C ] [ -q ] src_file [src_offset dst_offset length] ioctl FICLONERANGE BTRFS_IOC_CLONE_RANGE length dst_offset src_offset src_file . reflink (" " CoW) . src_offset dst_offset length src_file reflink . -C . -q . dedupe [ -C ] [ -q ] src_file src_offset dst_offset length ioctl FIDEDUPERANGE BTRFS_IOC_FILE_EXTENT_SAME length dst_offset src_offset src_file . (block- based deduplication) . (" ") . -C . -q . copy_range [ -s src_offset ] [ -d dst_offset ] [ -l length ] src_file | -f N copy_file_range(2) . (src_file) (-f) . length src_offset src_file dst_file dst_offset . -s src_file src_offset. -d dst_offset. -l length . swapext donor_file . . (donor) . ( ). exchangerange [OPTIONS]donor_file . . . ( ). : -C . -c file2 . -d dest_offset dest_offset. -f . -l length length . -n . -s src_offset src_offset. -t . -w . set_encpolicy [ -c mode ] [ -n mode ] [ -f flags ] [ -s log2_dusize ] [ -v version ] [ keyspec ] . keyspec . keyspec ( ) . keyspec ( ) . . -c mode ( AES-256-XTS). -n mode ( AES-256-CTS). -f flags (). -s log2_dusize . v1 . -v version . keyspec keyspec . get_encpolicy [ -1 ] [ -t ] . -1 ioctl . v1 . -t . "supported" "unsupported" . add_enckey [ -d descriptor ] [ -k key_id ] . ( ) . -d descriptor ( ). . " " . -k key_id (keyring) "fscrypt- provisioning". . rm_enckey [ -a ] keyspec . keyspec " " " " . -a . () . enckey_status keyspec . keyspec " " " " . lsattr [ -R | -D | -a | -v ] inode . -R (-D ). (depth first) (mount points) . inode . ioctl_xfs_fsgetxattr(2) . r (XFS_XFLAG_REALTIME) p (XFS_XFLAG_PREALLOC) i (XFS_XFLAG_IMMUTABLE) a (XFS_XFLAG_APPEND) s (XFS_XFLAG_SYNC) A (XFS_XFLAG_NOATIME) d dump (XFS_XFLAG_NODUMP) t (XFS_XFLAG_RTINHERIT) P (XFS_XFLAG_PROJINHERIT) n (XFS_XFLAG_NOSYMLINKS) e (XFS_XFLAG_EXTSIZE) E (XFS_XFLAG_EXTSZINHERIT) f (XFS_XFLAG_NODEFRAG) S (XFS_XFLAG_FILESTREAM) x (XFS_XFLAG_DAX) C (XFS_XFLAG_COWEXTSIZE) X (XFS_XFLAG_HASATTR) chattr [ -R | -D ] [ +/-riasAdtPneEfSxC ] inode . -R -D . inode lsattr . flink path . stat [ -v|-r ] stat(2) XFS_IOC_GETXATTR . -v atime ( ) mtime ( ) ctime ( ) . -r stat . statx [ -v|-r ][ -m basic | -m all | -m ][ -FD ] stat(2) XFS_IOC_GETXATTR . -v . -r statx. -m basic statx STATX_BASIC_STATS. -m all statx STATX_ALL (). -m statx. -F . -D . chproj [ -R|-D ] . -R . -D . xfs_quota(8) . lsproj [ -R|-D ] . -R -D chproj . parent [ -fpz ] [ -b bufsize ] [ -i ino ] [ -n name ] [ ino gen ] inode (generation) inode (basenames) (hardlinks) inode . ino gen (file handle) . . -b . -i inode. -n . -p . -s : ino/gen/namelen/name -z . utimes atime_sec atime_nsec mtime_sec mtime_nsec utimes atime mtime . sec 1970-01-01 00:00:00 UTC . nsec sec . 0-999999999 UTIME_NOW UTIME_OMIT . (sec, nsec) . startupdate [ -e] . -e . cancelupdate . commitupdate [OPTIONS] . -C . -h . -k . -n . -q . (MEMORY MAPPED I/O COMMANDS) mmap [ N | [[ -rwxS ] [-s size ] offset length ]] 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 . mm mmap . mremap [ -f ] [ -m ] new_length new_length. MREMAP_FIXED (-f) MREMAP_MAYMOVE (-m). new_length . 139946004389888 4096k 1g . mrm mremap . munmap . mu munmap . mread [ -f | -v ] [ -r ] [ offset length ] ( -v -f) . offset -r . -f -v . mr mread . mwrite [ -r ] [ -S seed ] [ offset length ] . 'X' -S . -r . mw mwrite . msync [ -i ] [ -a | -s ] [ offset length ] ( ) . (-i) ( ). (-s) (-a) . ms msync . madvise [ -d | -r | -s | -w ] [ offset length ] . ([*] ). POSIX_MADV_NORMAL ( ). -d (POSIX_MADV_DONTNEED[*]). -r (POSIX_MADV_RANDOM) . -s (POSIX_MADV_SEQUENTIAL) . -w (POSIX_MADV_WILLNEED[*]) . mincore (core) . (FILESYSTEM COMMANDS) aginfo [ -a agno ] (allocation groups). -a . bulkstat [ -a agno ] [ -d ] [ -e endino ] [ -m ] [ -n batchsize ] [ -q ] [ -s startino ] [ -v version"] inode XFS. : -a agno . . -d . -e endino inode . . -m . -n batchsize . . -q . bulkstat . -s startino inode inode. inode . inode inode . -v version . . bulkstat_single [ -d ] [ -m ] [ -v version ] [ inum... | special... ] inode XFS. -d -m -v bulkstat . inode : root inode . freeze / . . thaw (freeze) . . inject [ tag ] . tag . . rginfo [ -r rgno ] (realtime allocation groups). -r . resblks [ blocks ] / XFS_IOC_GET_RESBLKS XFS_IOC_SET_RESBLKS. -- . . shutdown [ -f ] I/O . XFS . . . . -f XFS . statfs [ -c ] [ -g ] [ -s ] . : -c XFS_IOC_FSCOUNTERS. -g XFS_IOC_FSGEOMETRY. -s statfs(2). inode [ [ -n ] number ] [ -v ] inode inode . 1 0 inode . number ( inode) 0 . -n number inode number 0 . -v ( ) number inode inode . inumbers [ -a agno ] [ -d ] [ -e endino ] [ -n batchsize ] [ -s startino ] [ -v version ] inode XFS. inode . : -a agno . . -d . -e endino inode . . -n batchsize . . -s startino inode inode. inode . inode inode . -v version . . scrub type [ agnumber | rgnumber | ino gen | metapath [ rgnumber ] ] XFS. type . AG AG . rtgroup . inode (generation) . metapath . metapath rtgroup . scrubv [ -b NN ] [ -d ] [ -m oflags ] [ -r ] [ -v NN ] [ -w ms ] group [ agnumber | ino gen ] XFS. group . : ag agheader inode iscan fs probe rtgroup summary. ag agheader AG . inode inode generation . rtgroup rt . -b NN (scrub barriers) . . -d (debug). -m . -r . . -v NN API . single XFS_SCRUB_METADATA (). vector XFS_SCRUBV_METADATA (). ioctl . -w us . repair type [ agnumber | ino gen ] XFS. type . AG AG . inode generation . -R . label [ -c | -s label ] . . -c . -s label label . xfs_io . XFS . fsmap [ -d | -l | -r ] [ -m | -v ] [ -n nx ] [ start ] [ end ] . . : extent: major:minor [startblock..endblock]: owner startoffset..endoffset length btree startoffset..endoffset . . start end . -d -l -r . -d (data device). XFS . -l (external log device). XFS . -r (realtime device). XFS . -m (CSV). -v . : . 512b . : inode_%lld_data inode. inode_%lld_data_bmbt inode. inode_%lld_attr inode. inode_%lld_attr_bmbt inode. special_%u:%u . -n num_extents fsmap num_extents . -n fsmap . -v (verbose). AG : agno (startagblock..endagblock) nblocks flags -v flags . -m . fsuuid UUID (mounted). sysfspath sysfs debugfs . -d debugfs sysfs . getfsprops name [ names... ] . listfsprops [ -v ] . -v . setfsprops name=value [ name=value... ] . removefsprops name [ names... ] . (OTHER COMMANDS) help [ command ] . print . . p print . quit xfs_io. q quit . log_writes -d device -m mark mark dm-log-writes device. : dmsetup message device 0 mark mark lw log_writes . crc32cselftest crc32c . (SEE ALSO) 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 XFS_IO(8)