summaryrefslogtreecommitdiff
path: root/cmds-property.c
Commit message (Collapse)AuthorAge
* btrfs-progs: move get_fsid() to utils.cMisono, Tomohiro2017-10-06
| | | | | | | | | Make get_fsid() to a common functions. This will be used for 'subvol delete --commit-after'. Signed-off-by: Tomohiro Misono <misono.tomohiro@jp.fujitsu.com> Reviewed-by: Qu Wenruo <quwenruo.btrfs@gmx.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: move help defines to own headerDavid Sterba2017-03-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: prop: simplify help printing codeDavid Sterba2016-10-03
| | | | | | Remove a trivial helper. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: prop: remove conditions which never be satisfiedSatoru Takeuchi2016-05-11
| | | | | | | | | | parse_args() always set at least one parameter, 'object', for {get,list} subcommands. In addition, it always set all three parameters, 'object', 'name', and 'value' for set subcommand. So the following conditions can be removed. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: prop: simplify parse_args()Satoru Takeuchi2016-05-11
| | | | | | | | | | Since <object> parameter is mandatory for all subcommands, 'object' is always set by parse_args()'s callers. In addition, on setting '*name' and '*value', if 'optind < argc' is satisfied here, they are always set by parse_args()'s callers. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: prop: remove an unnecessary condition on parse_argsSatoru Takeuchi2016-05-02
| | | | | | | | | | >From commit c742debab11f ('btrfs-progs: fix a regression that "property" with -t option doesn't work'), the number of arguments is checked strictly. So the following condition never be satisfied. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: fix a regression that "property" with -t option doesn't workSatoru Takeuchi2016-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "property" is considered as working without any options from the following commit. commit 176aeca9a148 ("btrfs-progs: add getopt stubs where needed") However, we can pass -t option to this command. * actual result ================================================== $ ./btrfs prop list -t f /btrfs btrfs property list: invalid option -- 't' usage: btrfs property list [-t <type>] <object> Lists available properties with their descriptions for the given object. Please see the help of 'btrfs property get' for a description of objects and object types. ================================================== * expected result ================================================== $ ./btrfs prop list -t f /btrfs label Set/get label of device. ================================================== Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: add getopt stubs where neededDavid Sterba2016-03-14
| | | | | | | | | Commands that do not take any options do not use getopt, which means the standard option separator "--" does not work. Update all command handlers that need it, argv needs to be referenced using the optind that is correctly pointed after the separator. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: cleanup, move usage help strings closer to the command callbacksDavid Sterba2016-01-12
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: cmd property: use correct usage stringsDavid Sterba2016-01-12
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: cmd property: switch to common error message wrapperDavid Sterba2016-01-12
| | | | | | Message texts were adjusted. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: prop: use macro terminator for command listDavid Sterba2015-08-31
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: unify naming of command handlersDavid Sterba2015-08-31
| | | | | | Use cmd_ + group + command schema. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: add command group info stringsDavid Sterba2015-06-09
| | | | | | They're printed in the 'btrfs' command group summary. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs fix wrong memory free on check_is_rootSatoru Takeuchi2014-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When "/" is Btrfs, "btrfs property <subcommand> /" regards it as non-root by mistake. check_is_root() regards @object as a file system root if the following two conditions are satisfied. a) Both @object and its parent directory are Btrfs object (file system root, subvolume, inode, and device used for Btrfs). b) fsid of the above mentioned two objects are different. It doesn't work if @object is "/" because, in this case, fsid of "/" and its parent (it's also "/"), are the same. * Test environment Two Btrfs file system (not subvolume) "/" and "/home/sat/mnt". * How to reproduce Submit "btrfs prop get" against the above mentioned file systems. * Test Result ** Actual result (without my patch) ========================== ro=false label= # label is displayed because it's a file system root ro=false # label is not displayed even if it's a file system root ========================== ** Expected result (with my patch) ========================== ro=false label= ro=false label=foo # label is displayed =========================== Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Reported-by: Naohiro Aota <naota@elisp.net> Reviewed-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove unnecessary return value check in btrfs-propertyGui Hecheng2014-08-22
| | | | | | | | The function @parse_prop() returns either -1 or 0, no need to check for other values. Just return the unnecessary check. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: init variables which are checked later in btrfs-propertyGui Hecheng2014-08-22
| | | | | | | | | | The local variable @object etc. in btrfs-property get/set functions are to be checked whether to be NULL or not, but the @parse_args() don't guarantee to assign a value to it, so it is better to init it to NULL. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: move the check_argc_* functions into utils.cGui Hecheng2014-08-22
| | | | | | | | | | | | | | To let the independent tools(e.g. btrfs-image, btrfs-convert, etc.) share the convenience of check_argc_* functions, just move it into utils.c. Also add a new function "set_argv0" to set the correct tool name: *btrfs-image*: too few arguments The original btrfs* tools work as before. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> [moved argv0 and check_argc to utils.*] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Make property work with -t optionKusanagi Kouichi2014-04-11
| | | | | | | | | | | | | | | # btrfs prop list -t f . btrfs property list: too many arguments ... # btrfs prop get -t f . label btrfs property get: too many arguments ... # btrfs prop set -t f . label abc btrfs property set: too many arguments ... Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove a dead break before usage()Gui Hecheng2014-03-21
| | | | | | | | | The usage() in help.c calls exit(1), so the break behind is nonsense and should be removed. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <clm@fb.com>
* Btrfs-progs: fix detection of root objects in cmds-property.cFilipe David Borba Manana2014-01-31
| | | | | | | | | | | | | | | | | | | Several fixes: 1) The function check_is_root() returns 0 if the object is root; 2) Don't treat any error from get fsid ioctl as meaning the target is root. Only -ENOTTY means it's a root (parent directory is not a btrfs fs) and a -ENOTDIR means our target object is not a directory, therefore it can be the root; 3) Fix the comparison of the target and target's parent fs ids. If they are different, it means the target is a mount point in a btrfs fs, therefore it's a root, otherwise it isn't. Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <clm@fb.com>
* Btrfs-progs: introduce btrfs property subgroupAlexander Block2014-01-31
"btrfs filesystem property" is a generic interface to set/get properties on filesystem objects (inodes/subvolumes/filesystems /devs). This patch adds the generic framework for properties and also implements two properties. The first is the read-only property for subvolumes and the second is the label property for devices. Signed-off-by: Alexander Block <ablock84@googlemail.com> Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <clm@fb.com>