Skip to content

find.flexfs

find.flexfs provides fast filesystem search by querying the metadata server directly, bypassing the FUSE layer. It supports filters on inode attributes, timestamps, size, cost, permissions, and file type.

Terminal window
find.flexfs [flags] [path...]

If no path is specified, the current directory is used. Can operate from within a flexFS mount or connect directly via --metaAddr and --volume.

FlagTypeDefaultDescription
--fieldsstring slicepathOutput fields (comma-separated). Use all for all fields.
--headerboolfalseInclude header row in output
--noDecodeboolfalsePrint base32-encoded paths
--outputFile, -ostringOutput file path

Available fields: path, ino, mode, type, perm, blocks, size, size_bin, cost, nlink, uid, gid, ctime, mtime, atime, btime, xattrs.

FlagTypeDefaultDescription
--metaAddrstringMetadata server address (must pair with --volume)
--volumestringVolume UUID or name (must pair with --metaAddr)
FlagTypeDefaultDescription
--emptyboolfalseFilter for empty files or directories
--giduint320Filter by group ID
--inouint640Filter by inode number
--namestringFilter by dentry name (supports glob patterns)
--permuint320Filter by permissions (octal)
--permMaskuint320Permissions filter mask (octal)
--sparseboolfalseFilter for sparse files
--typestringFilter by inode type: b, c, d, f, l, p, s
--uiduint320Filter by user ID
FlagTypeDefaultDescription
--maxBlocksuint640Maximum blocks filter
--maxCostfloat640Maximum monthly cost filter
--maxNlinkuint320Maximum hard link count filter
--maxSizeuint640Maximum byte size filter
--maxSizeBinuint320Maximum size bin filter (0-74)
--minBlocksuint640Minimum blocks filter
--minCostfloat640Minimum monthly cost filter
--minNlinkuint320Minimum hard link count filter
--minSizeuint640Minimum byte size filter
--minSizeBinuint320Minimum size bin filter (0-74)

Timestamp values are in nanoseconds since epoch.

FlagTypeDefaultDescription
--maxAtimeuint640Maximum access time
--maxBtimeuint640Maximum birth time
--maxCtimeuint640Maximum change time
--maxMtimeuint640Maximum modification time
--minAtimeuint640Minimum access time
--minBtimeuint640Minimum birth time
--minCtimeuint640Minimum change time
--minMtimeuint640Minimum modification time
FlagTypeDefaultDescription
--maxDepthuint320Maximum query depth (0 = unlimited)
--minDepthuint320Minimum query depth
FlagTypeDefaultDescription
--noMetaSSLboolfalseDisable SSL for metadata server connections

Find all files larger than 1 GiB:

Terminal window
find.flexfs --minSize 1073741824 --type f /mnt/flexfs

Find files by name pattern with full metadata:

Terminal window
find.flexfs --name *.bam --fields all --header /mnt/flexfs/data

Find files not accessed in the last 30 days (using nanosecond timestamps):

Terminal window
find.flexfs --maxAtime 1740000000000000000 --type f /mnt/flexfs

Query a volume directly without a local mount:

Terminal window
find.flexfs --metaAddr meta.example.com:443 --volume my-vol --type d /

Output is tab-separated. The columns correspond to the --fields list. When --header is set, the first line contains field names.