Commit Graph
60 Commits
Author SHA1 Message Date
Chao Wang da9a13289b Fix inode path result pointers across stack relocation
The old request stored the result address as an integer, which Go could
not update when the stack moved. Use a typed pointer to prevent stale
addresses and empty lookup results. Keep Go 1.16 compatibility.
2026-09-02 12:00:22 -07:00
Ben McClelland 0ec206ad67 add PunchHole() to convert offline range to sparse
PunchHole is a limited and specific version of hole punching.  It's an
archive layer operation that only converts unmapped offline extents
into sparse extents.  It is intended to be used when restoring sparse
files after the initial creation set the entire file size offline.

The offset and len fields are in units of bytes and must be aligned
to the small (4KiB) block size.  All regions of offline extents
covered by the region will be converted into sparse online extents,
including regions that straddle the boundaries of the region.  Any
existing sparse extents in the region are ignored.

The data_version must match the inode or EINVAL is returned.  The
data_version is not modified by this operation.
2026-04-13 17:07:31 -07:00
Ben McClelland 76a7e1175a fix index key to new uint8 size 2024-06-25 15:13:45 -07:00
Ben McClelland c2e96b492d add inode_attr_x interface for retention and projectid 2024-06-23 09:35:09 -07:00
Ben McClelland 0fc6aac397 add xattr index query interfaces 2024-06-14 15:46:25 -07:00
Ben McClelland e1b096734d add StringNoLimit to quota rule
The StringNoLimit() prints all quota rul attributes except the limit
allowing the caller to post process the limit and print their own
version.
2024-03-25 15:29:55 -07:00
Ben McClelland 6a751f2f86 fix quota string format alignment 2024-03-14 08:53:29 -07:00
Ben McClelland 8fe8b17408 add format cleanup for rule printing 2024-03-04 10:30:02 -08:00
Ben McClelland e895083b81 fix missing flags when retrieving quota rules 2024-02-13 15:52:03 -08:00
Ben McClelland cbeff6d5f9 add new quota interface calls 2024-02-05 11:19:56 -08:00
Ben McClelland 5175c57fa4 fix dirent struct size in parseDent 2023-09-11 16:36:51 -07:00
Ben McClelland f019a234ab add support for get-referring-entries
scoutfs now adds a new ioctl to get the parent id and some extra
info given an inode within the filesystem. This is less expensive
than the full path resolution for an inode, so can speed up cases
when the parent is all thats needed.
2023-08-28 13:59:13 -07:00
Ben McClelland 680bc1e793 SetAttrMore: fix nsec time from UnixNano() to the correct Nanosecond() 2023-06-06 16:27:10 -07:00
Ben McClelland ded343dffd fix incorrect size block alignment for release 2022-12-15 10:21:35 -08:00
Ben McClelland 4eb0ad8d2b add String to InodesEntry 2022-10-24 20:39:31 -07:00
Ben McClelland 49f2a3597b add Increment to InodesEntry 2022-10-24 20:36:06 -07:00
Ben McClelland 5a348c37eb query: add ability to update last entry 2022-04-26 10:09:02 -07:00
Ben McClelland 5512e10b57 add release blocks 2022-02-28 21:29:00 -08:00
Ben McClelland 7ad9abbb27 scoutfs: update ioctl/struct defs for scoutfs v1 format 2021-11-03 19:32:02 -07:00
Ben McClelland 7603944156 totl: fix read of undefined totl id 2021-10-15 14:55:21 -07:00
Ben McClelland 777740e7e1 add query totals by group 2021-10-04 13:09:09 -07:00
Ben McClelland 0cca7e27f0 totl: use zero value for no matching xattrs 2021-09-15 21:01:26 -07:00
Ben McClelland 98a3a2a304 add read xattr totals 2021-09-15 18:59:15 -07:00
Ben McClelland bbcd7e330f update statmore and setattermore for crtime 2021-09-14 09:29:49 -07:00
Ben McClelland 9647f2c881 add StageMoveAt for sparse staging 2021-09-01 10:54:40 -07:00
Ben McClelland 3e6a5807e2 update moveblocks and add stagemove to allow staging from tmpfiles 2021-04-12 18:20:20 -07:00
Ben McClelland 19e8fa0681 update for latest sysfs quorm info 2021-03-02 16:48:55 -07:00
Ben McClelland fb70bf1304 scoutfs: release size based on file size 2021-01-26 14:15:06 -07:00
Ben McClelland 469f6a5b7c scoutfs: update release/stage for new ioctl structs 2021-01-26 13:46:28 -07:00
Ben McClelland c19fddb618 add scoutfs move_blocks 2021-01-15 11:53:40 -07:00
Ben McClelland bd2ba82da4 scoutfs df: fix typo 2020-10-28 14:13:59 -07:00
Ben McClelland f1ca1aee0a add scoutfs df 2020-10-28 13:59:01 -07:00
Ben McClelland cbd4717308 fix search query needing last ino 2020-08-26 15:30:24 -07:00
Ben McClelland 9980caea5d update for changes in new scoutfs search xattrs 2020-08-25 14:40:15 -07:00
Ben McClelland 25da776633 SendDataWaitErr: send errors to task data waiters 2020-06-09 14:27:11 -07:00
Ben McClelland de4f86fcf2 allow caller to allocate buffer for listxattrhidden 2020-05-10 09:40:04 -07:00
Ben McClelland f7aaabaf98 reuse buffers for inode/attr walks 2020-05-09 16:54:43 -07:00
Ben McClelland f8124219c2 add InoToPaths for mutliple path for single inode support 2020-03-25 20:48:51 -07:00
Ben McClelland c3ae6c31a2 follow rule about uintptr cast in syscall args only 2020-03-15 09:04:08 -07:00
Ben McClelland e9c5f58f7e return stage write size in StageFile 2020-03-04 13:44:39 -08:00
Ben McClelland bf480e6666 pathmax=4096 2020-03-02 16:19:37 -08:00
Ben McClelland 4d80a3fd0f add data waiters Reset() 2019-10-10 13:32:41 -07:00
Ben McClelland d999e35871 fix read full DataWaitingEntry after padded structs update 2019-10-10 13:22:32 -07:00
Ben McClelland a94a30772a add sysfs parsing for leader chceck and server addr 2019-09-30 10:48:09 -07:00
Ben McClelland 5128942779 add statfsmore call to get filesystem mount ids 2019-09-30 10:28:04 -07:00
Ben McClelland 92e719d578 auto generate ioctl structs and definitions from scoutfs headers 2019-06-28 12:17:29 -07:00
Ben McClelland fabef42e29 fix ListXattrRaw, add examples for listxattr and findxattr 2019-06-27 17:19:50 -07:00
Ben McClelland dfcc5d8412 new struct alignment, new ioctls 2019-06-27 10:36:44 -07:00
Ben McClelland 6989375eb6 SetAttrMore requires write on fd 2019-06-14 15:07:17 -07:00
Ben McClelland 19775d4511 add SetAttrMore ioctl 2019-06-04 14:18:39 -07:00