=z+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred!             Safe-Inferred Safe-InferredA UUID is stored as two big-endian s.None24 !"#$%& ' !"  !"#$%& provisionalnon-portable (requires Linux)None9Argument to the b operation.Beginning of the defrag range.Number of bytes to defrag, use ( to say all.Any extent bigger than this size will be considered already defragged. Use 0 to take the kernel default, use 1 to say every single extent must be rewritten.&Compress the file while defragmenting.3Flush data to disk immediately after defragmenting.Information about a subvolume.4The generation when the subvolume was last modified. IThe generation when the most recent snapshot of this subvolume was taken.!vThe generation of the snapshot parent at the time when the snapshot was taken. Defined if only if this is a snapshot."Is this a read-only subvolume?#The UUID of the subvolume.$ The UUID of the snapshot parent.%xThe UUID of the source subvolume that this subvolume was received from. This is always defined for received subvolumes.&/The generation when an inode was last modified.'.The generation when the subvolume was created.(~The generation of the source subvolume that this subvolume was received from. This is always defined for received subvolumes.)`The generation when the subvolume was received. This is always defined for received subvolumes.*)The time when an inode was last modified.+(The time when the subvolume was created.,"The timestamp that corresponds to (.-ZThe time when the subvolume was received. This is always defined for received subvolumes..The result of a @ operation./ZCloning succeeded, the returned integer indicates the number of bytes that were deduped.0]No cloning was performed because the contents of the source and the destination file differ.1#Cloning failed because of an error.;)Clone an entire file to an existing file.Note: calls the BTRFS_IOC_CLONE ioctl.<Like ;_ except that it will create or truncate the destination file if necessary. This is similar to cp --reflink=always.Note: calls the BTRFS_IOC_CLONE ioctl.>WClones a range of bytes from a file to another file. All ranges must be block-aligned.Note: calls the BTRFS_IOC_CLONE_RANGE ioctl.@ Similar to > except that it performs the cloning only if the data ranges contain identical data. Additionally, it accepts multiple destination files. The same thing can be accomplished with >S in conjunction with file locking but this function uses in-kernel locking to guarantee that the deduplicated data is identical at the time of the operation. On the other hand, this function will not clone arbitrarily large ranges; the kernel has an upper limit for the length and if cloning bigger ranges is desired then it has to be called multiple times. Note that cloning may succeed for some of the destination files and fail for others. Because of that, this function returns a list of outcomes, one for each destination file, and no exceptions will be raised for the failed files.Note: calls the BTRFS_IOC_FILE_EXTENT_SAME ioctl.Requires Linux 3.12 or later.A*Create an (initially) empty new subvolume.Note: calls the BTRFS_IOC_SUBVOL_CREATE ioctl.BDestroy (delete) a subvolume.Note: calls the BTRFS_IOC_SNAP_DESTROY ioctl.D+Create a snapshot of an existing subvolume.Note: calls the BTRFS_IOC_SNAP_CREATE_V2 ioctl.FIs the subvolume read-only?Note: calls the BTRFS_IOC_SUBVOL_GETFLAGS ioctl.H+Make a subvolume read-only (or read-write).Note: calls the BTRFS_IOC_SUBVOL_GETFLAGS and BTRFS_IOC_SUBVOL_SETFLAGS ioctls.J\Find the id of the subvolume where the given file resides. This is merely a wrapper around n provided for convenience.LGiven the id of a subvolume, find the id of the parent subvolume, the inode number of the directory containing it, and its name. This is a wrapper around u.NdGiven the id of a subvolume, find its path relative to the root of the volume. This function calls L recursively.OThe id the root subvolume.QFind all subvolumes of the given volume. For each subvolume found, it returns: its id, the id of its parent subvolume, the inode number of the directory containing it, and its name. This is a wrapper around u.SFind all subvolumes of the given volume. For each subvolume found, it returns: its id, the id of its parent subvolume, and its path relative to the root of the volume. This is a wrapper around u and N.UFind all child subvolumes of the given subvolume. For each child, returns its id, the inode number of the directory containing it, and its name. This is a wrapper around u.WFind all child subvolumes of the given subvolume. For each child, returns its id and its path relative to the root of the parent. This is a wrapper around u and n.Y'Retrieve information about a subvolume.[+Find the id of a subvolume, given its UUID.Requires Linux 3.12 or later.]&Find the id of a subvolume, given its %.Requires Linux 3.12 or later._Defrag a single file.Note: calls the BTRFS_IOC_DEFRAG ioctl.` Defaults for b<. Selects the entire file, no compression, and no flushing.b$Defrag a range within a single file.Note: calls the BTRFS_IOC_DEFRAG_RANGE ioctl.d;Sync the file system identified by the supplied path. The )* can refer to any file in the file system.Note: calls the BTRFS_IOC_SYNC ioctl.fDInitiate a sync for the file system identified by the supplied path.Note: calls the BTRFS_IOC_START_SYNC ioctl.h(Wait until the sync operation completes.Note: calls the BTRFS_IOC_WAIT_SYNC ioctl.jGiven a physical offset, look for any inodes that this byte belongs to. For each inode, it returns the inode number, the logical offset (i.e. the offset within the inode), and the subvolume id. If a large number of inodes is found, then not all of them will be returned by this function. This is due to a current limitation in the kernel. The integer returned along with list of inodes indicates the number of inodes found but not included in the list.Note: calls the BTRFS_IOC_LOGICAL_INO ioctl.lEFind the file path(s) given an inode number. Returns a list of file paths and an integer indicating the number of paths found but not included in the resulting list. This is because of a limitation in the kernel (it will not return an arbitrarily large list). The paths returned are relative to the root of the subvolume.Note: calls the BTRFS_IOC_INO_PATHS ioctl.nFind the path of a file given its inode number and the id of the subvolume. If multiple files share the same inode number, only one of them is returned. The id of the subvolume is also returned. This is useful when 0 is given for the 5 argument (also see J for this case).Note: calls the BTRFS_IOC_INO_LOOKUP ioctl.pCDetermine whether the NOCOW flag is enabled for the specified file.Note: calls the FS_IOC_GETFLAGS ioctl.rSet or clear the NOCOW flag for the specified file. If the file is not empty, this has no effect and no error will be reported.Note: calls the FS_IOC_GETFLAGS and FS_IOC_GETFLAGS ioctls.  !"#$%&'()*+,-./01*+,-23456789./0:;The source file.The destination file.<=>The source file."The offset within the source file.\The length of the range. A length of 0 selects the range from the source offset to the end.The destination file.'The offset within the destination file.?@The source file."The offset within the source file.The length of the range.0The destination files and corresponding offsets.1ABCDThe source subvolume.+The destination subvolume (must not exist).Create a read-only snapshot?EFGHIJKL;The mount point of the volume (or any file in that volume).The id of the subvolume.MN;The mount point of the volume (or any file in that volume).The id of the subvolume.OPQRSTU;The mount point of the volume (or any file in that volume).The id of the subvolume.VW;The mount point of the volume (or any file in that volume).The id of the subvolume.XY;The mount point of the volume (or any file in that volume).The id of the subvolume.2Z[;The mount point of the volume (or any file in that volume).The UUID of the subvolume.\];The mount point of the volume (or any file in that volume).The % of the subvolume.^_`abcdefghij;The mount point of the volume (or any file in that volume).8The physical byte offset in the underlying block device.kl:The path to the subvolume (or any file in that subvolume).The inode number.mn`The path to any file in the volume. The subvolume where this file resides is ignored unless no 5 is provided (see below).GThe id of the subvolume. Can be 0. In that case, the subvolume of the ) is used (see above).The inode number.opqrstuvwxy3456789:;<=>?@v  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyv98765243:;<=>.10/?@ABCDEFGHIJKLMNOPQRSTUVW !"#$%&'()*+,-XYZ[\]^_`abcdefghijklmnopqr s tuvwxy`  !"#$%&'()*+,-.10/*+,-24356789./0:;<=>?@1ABCDEFGHIJKLMNOPQRSTUVWXY2Z[\]^_`abcdefghijklmnopqrstuvwxy3456789:;<=>?@ provisionalnon-portable (requires Linux)None9Argument to the  operation.Beginning of the defrag range.Number of bytes to defrag, use ( to say all.Any extent bigger than this size will be considered already defragged. Use 0 to take the kernel default, use 1 to say every single extent must be rewritten.&Compress the file while defragmenting.3Flush data to disk immediately after defragmenting.Information about a subvolume.4The generation when the subvolume was last modified.IThe generation when the most recent snapshot of this subvolume was taken.vThe generation of the snapshot parent at the time when the snapshot was taken. Defined if only if this is a snapshot.Is this a read-only subvolume?The UUID of the subvolume. The UUID of the snapshot parent.xThe UUID of the source subvolume that this subvolume was received from. This is always defined for received subvolumes./The generation when an inode was last modified..The generation when the subvolume was created.~The generation of the source subvolume that this subvolume was received from. This is always defined for received subvolumes.`The generation when the subvolume was received. This is always defined for received subvolumes.)The time when an inode was last modified.(The time when the subvolume was created."The timestamp that corresponds to .ZThe time when the subvolume was received. This is always defined for received subvolumes.The result of a  operation.ZCloning succeeded, the returned integer indicates the number of bytes that were deduped.]No cloning was performed because the contents of the source and the destination file differ.#Cloning failed because of an error.)Clone an entire file to an existing file.Note: calls the BTRFS_IOC_CLONE ioctl.Like _ except that it will create or truncate the destination file if necessary. This is similar to cp --reflink=always.Note: calls the BTRFS_IOC_CLONE ioctl.WClones a range of bytes from a file to another file. All ranges must be block-aligned.Note: calls the BTRFS_IOC_CLONE_RANGE ioctl. Similar to  except that it performs the cloning only if the data ranges contain identical data. Additionally, it accepts multiple destination files. The same thing can be accomplished with S in conjunction with file locking but this function uses in-kernel locking to guarantee that the deduplicated data is identical at the time of the operation. On the other hand, this function will not clone arbitrarily large ranges; the kernel has an upper limit for the length and if cloning bigger ranges is desired then it has to be called multiple times. Note that cloning may succeed for some of the destination files and fail for others. Because of that, this function returns a list of outcomes, one for each destination file, and no exceptions will be raised for the failed files.Note: calls the BTRFS_IOC_FILE_EXTENT_SAME ioctl.Requires Linux 3.12 or later.*Create an (initially) empty new subvolume.Note: calls the BTRFS_IOC_SUBVOL_CREATE ioctl.Destroy (delete) a subvolume.Note: calls the BTRFS_IOC_SNAP_DESTROY ioctl.+Create a snapshot of an existing subvolume.Note: calls the BTRFS_IOC_SNAP_CREATE_V2 ioctl.Is the subvolume read-only?Note: calls the BTRFS_IOC_SUBVOL_GETFLAGS ioctl.+Make a subvolume read-only (or read-write).Note: calls the BTRFS_IOC_SUBVOL_GETFLAGS and BTRFS_IOC_SUBVOL_SETFLAGS ioctls.\Find the id of the subvolume where the given file resides. This is merely a wrapper around  provided for convenience.Given the id of a subvolume, find the id of the parent subvolume, the inode number of the directory containing it, and its name. This is a wrapper around .dGiven the id of a subvolume, find its path relative to the root of the volume. This function calls  recursively.The id the root subvolume.Find all subvolumes of the given volume. For each subvolume found, it returns: its id, the id of its parent subvolume, the inode number of the directory containing it, and its name. This is a wrapper around .Find all subvolumes of the given volume. For each subvolume found, it returns: its id, the id of its parent subvolume, and its path relative to the root of the volume. This is a wrapper around  and .Find all child subvolumes of the given subvolume. For each child, returns its id, the inode number of the directory containing it, and its name. This is a wrapper around .Find all child subvolumes of the given subvolume. For each child, returns its id and its path relative to the root of the parent. This is a wrapper around  and .'Retrieve information about a subvolume.+Find the id of a subvolume, given its UUID.Requires Linux 3.12 or later.&Find the id of a subvolume, given its .Requires Linux 3.12 or later.Defrag a single file.Note: calls the BTRFS_IOC_DEFRAG ioctl. Defaults for <. Selects the entire file, no compression, and no flushing.$Defrag a range within a single file.Note: calls the BTRFS_IOC_DEFRAG_RANGE ioctl.;Sync the file system identified by the supplied path. The )* can refer to any file in the file system.Note: calls the BTRFS_IOC_SYNC ioctl.DInitiate a sync for the file system identified by the supplied path.Note: calls the BTRFS_IOC_START_SYNC ioctl.(Wait until the sync operation completes.Note: calls the BTRFS_IOC_WAIT_SYNC ioctl.Given a physical offset, look for any inodes that this byte belongs to. For each inode, it returns the inode number, the logical offset (i.e. the offset within the inode), and the subvolume id. If a large number of inodes is found, then not all of them will be returned by this function. This is due to a current limitation in the kernel. The integer returned along with list of inodes indicates the number of inodes found but not included in the list.Note: calls the BTRFS_IOC_LOGICAL_INO ioctl.EFind the file path(s) given an inode number. Returns a list of file paths and an integer indicating the number of paths found but not included in the resulting list. This is because of a limitation in the kernel (it will not return an arbitrarily large list). The paths returned are relative to the root of the subvolume.Note: calls the BTRFS_IOC_INO_PATHS ioctl.Find the path of a file given its inode number and the id of the subvolume. If multiple files share the same inode number, only one of them is returned. The id of the subvolume is also returned. This is useful when 0 is given for the  argument (also see  for this case).Note: calls the BTRFS_IOC_INO_LOOKUP ioctl.CDetermine whether the NOCOW flag is enabled for the specified file.Note: calls the FS_IOC_GETFLAGS ioctl.Set or clear the NOCOW flag for the specified file. If the file is not empty, this has no effect and no error will be reported.Note: calls the FS_IOC_GETFLAGS and FS_IOC_GETFLAGS ioctls.z{|}~ABCDEFGThe source file.The destination file.The source file."The offset within the source file.\The length of the range. A length of 0 selects the range from the source offset to the end.The destination file.'The offset within the destination file.The source file."The offset within the source file.The length of the range.0The destination files and corresponding offsets.HThe source subvolume.+The destination subvolume (must not exist).Create a read-only snapshot?;The mount point of the volume (or any file in that volume).The id of the subvolume.;The mount point of the volume (or any file in that volume).The id of the subvolume.;The mount point of the volume (or any file in that volume).The id of the subvolume.;The mount point of the volume (or any file in that volume).The id of the subvolume.;The mount point of the volume (or any file in that volume).The id of the subvolume.I;The mount point of the volume (or any file in that volume).The UUID of the subvolume.;The mount point of the volume (or any file in that volume).The  of the subvolume.;The mount point of the volume (or any file in that volume).8The physical byte offset in the underlying block device.:The path to the subvolume (or any file in that subvolume).The inode number.`The path to any file in the volume. The subvolume where this file resides is ignored unless no  is provided (see below).GThe id of the subvolume. Can be 0. In that case, the subvolume of the ) is used (see above).The inode number.JKLMNOPQRSTUVWvz{|}~vz{|}~`z{|}~ ABCDEFGHIJKLMNOPQRSTUVWX        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}~~ btrfs-0.1.1.0System.Linux.Btrfs.UUIDSystem.Linux.Btrfs.ByteStringSystem.Linux.BtrfsData.Word.EndianSystem.Linux.Btrfs.TimeSystem.Linux.Btrfs.FilePathLikeUUIDtoString fromString SearchHeader shTransId shObjectIdshOffsetshTypeshLen SearchKeyskTreeId skMinObjectId skMinType skMinOffset skMaxObjectId skMaxType skMaxOffset skMinTransId skMaxTransIdDefragRangeArgsdraStart draLengthdraExtentThreshold draCompressdraFlush SubvolInfo siGenerationsiLastSnapshot siParSnapGen siReadOnlysiUuidsiPUuidsiReceivedUuid siCTransId siOTransId siSTransId siRTransIdsiCTimesiOTimesiSTimesiRTime CloneResult CRSuccess CRDataDiffersCRErrorCompressionTypeLZOZlibSubvolIdInodeNumObjectId ObjectTypeFileSizecloneFdclonecloneNew cloneRangeFd cloneRangecloneRangeIfSameFdcloneRangeIfSame createSubvol destroySubvol snapshotFdsnapshotgetSubvolReadOnlyFdgetSubvolReadOnlysetSubvolReadOnlyFdsetSubvolReadOnly getSubvolFd getSubvollookupSubvolFd lookupSubvolresolveSubvolFd resolveSubvol rootSubvol listSubvolsFd listSubvolslistSubvolPathsFdlistSubvolPathschildSubvolsFd childSubvolschildSubvolPathsFdchildSubvolPathsgetSubvolInfoFd getSubvolInfogetSubvolByUuidFdgetSubvolByUuidgetSubvolByReceivedUuidFdgetSubvolByReceivedUuiddefragFddefragdefaultDefragRangeArgs defragRangeFd defragRangesyncFdsync startSyncFd startSync waitSyncFdwaitSyncresolveLogicalFdresolveLogicalresolveInodeFd resolveInode lookupInodeFd lookupInodegetFileNoCOWFd getFileNoCOWsetFileNoCOWFd setFileNoCOWdefaultSearchKey treeSearchFd treeSearchtreeSearchListFdtreeSearchListfindFirstItemFd findFirstItemBE64fromBE64BE32fromBE32BE16fromBE16LE64fromLE64LE32fromLE32LE16fromLE16toLE16toLE32toLE64toBE16toBE32toBE64invert16invert32invert64$fStorableBE64$fStorableBE32$fStorableBE16$fStorableLE64$fStorableLE32$fStorableLE16 BtrfsTime$fStorableBtrfsTime$fStorableUUIDbaseGHC.WordWord64 isValidUUID $fShowUUID FilePathLikeasString peekCStringpeekCStringLen withCStringwithCStringLenunsafeWithCStringLenopenFddropTrailingSlash splitFileNameconvertslashBS$fFilePathLikeByteString$fFilePathLike[] unix-2.7.0.1 System.Posix.ByteString.FilePath RawFilePathGHC.EnummaxBoundGHC.IOFilePathSameExtentInfoOutSameExtentInfoInc_memset ioctl_fastioctlsimpleSubvolOpsearchByUuidFd pokeSearchKeypeekSearchItem peekRootRefwithFdwithSplitPathOpenParentwithBlockSIGVTALRM nothingIf modifyPtrsetFlags clearFlagsallocaBytesZeromemset$fStorableSameExtentInfoOut$fStorableSameExtentInfoIn