The idea here was that we'd expand the size of the struct and
valid_bytes would tell the kernel which fields were present in
userspace's struct. That doesn't combine well with the ioctl convention
of having the size of the type baked into the ioctl number. We'll
remove this to make the world less surprising. If we expand the
interface we'd add additional ioctls and types.
Signed-off-by: Zach Brown <zab@versity.com>
Add an inode creation time field. It's created for all new inodes.
It's visible to stat_more. setattr_more can set it during
restore.
Signed-off-by: Zach Brown <zab@versity.com>
Make it static and then use it both for argp_parse as well as
cmd_register_argp.
Split commands into five groups, to help understanding of their
usefulness.
Mention that each command has its own help text, and that we are being
fancy to keep the user from having to give fs path.
Signed-off-by: Andy Grover <agrover@versity.com>
Add a scoutfs command wrapper around the statfs_moe ioctl. It's the
same as the stat_more ioctl but has different fields and a different
ioctl.
Signed-off-by: Zach Brown <zab@versity.com>
Lots of tests run scout stat and parse a single value. Give them an
option to have the only output be that value so they don't have to pull
it out of the output.
Signed-off-by: Zach Brown <zab@versity.com>
The previous formatting was modeled after the free form 'stat' output
and it's a real mess. Just make it a simple "name value" table.
Signed-off-by: Zach Brown <zab@versity.com>
We were chopping off the command string when passing the argument array into
registered commands. getopt expects a program name as the first argument, so
change cmd_execute() to only chop off the scoutfs program name now. Now we
can parse command arguments in an easy and standard manner.
This necessitates a small update of each commands usage of argv/argc.
Signed-off-by: Mark Fasheh <mfasheh@versity.com>