On Friday 21 November 2014 13:17:58 Hu Tao wrote:
 Parameter `qgroupid' is for adding the created subvolume to a
qgroup.
 
 Signed-off-by: Hu Tao <hutao(a)cn.fujitsu.com>
 ---
  daemon/btrfs.c       | 10 +++++++++-
  generator/actions.ml | 15 ++++++++-------
  2 files changed, 17 insertions(+), 8 deletions(-)
 
 diff --git a/daemon/btrfs.c b/daemon/btrfs.c
 index a20afca..0f525fa 100644
 --- a/daemon/btrfs.c
 +++ b/daemon/btrfs.c
 @@ -291,7 +291,7 @@ do_btrfs_subvolume_delete (const char *subvolume)
  }
  
  int
 -do_btrfs_subvolume_create (const char *dest)
 +do_btrfs_subvolume_create (const char *dest, const char *qgroupid)
  {
    const size_t MAX_ARGS = 64;
    const char *argv[MAX_ARGS];
 @@ -309,6 +309,14 @@ do_btrfs_subvolume_create (const char *dest)
    ADD_ARG (argv, i, str_btrfs);
    ADD_ARG (argv, i, "subvolume");
    ADD_ARG (argv, i, "create");
 +
 +  /* Optional arguments. */
 +  if (optargs_bitmask & GUESTFS_BTRFS_SUBVOLUME_CREATE_QGROUPID_BITMASK) {
 +    ADD_ARG (argv, i, "-i");
 +    ADD_ARG (argv, i, qgroupid);
 +  }
 +
 +
    ADD_ARG (argv, i, dest_buf);
    ADD_ARG (argv, i, NULL);
  
 diff --git a/generator/actions.ml b/generator/actions.ml
 index 30b839c..1c1fcff 100644
 --- a/generator/actions.ml
 +++ b/generator/actions.ml
 @@ -10225,9 +10225,9 @@ See C<guestfs_get_e2generation>." };
          [["mkfs_btrfs"; "/dev/sda1"; ""; "";
"NOARG"; ""; "NOARG"; "NOARG"; "";
""];
           ["mount"; "/dev/sda1"; "/"];
           ["mkdir"; "/dir"];
 -         ["btrfs_subvolume_create"; "/test1"];
 -         ["btrfs_subvolume_create"; "/test2"];
 -         ["btrfs_subvolume_create"; "/dir/test3"];
 +         ["btrfs_subvolume_create"; "/test1"; "NOARG"];
 +         ["btrfs_subvolume_create"; "/test2"; "NOARG"];
 +         ["btrfs_subvolume_create"; "/dir/test3";
"NOARG"];
           ["btrfs_subvolume_snapshot"; "/dir/test3";
"/dir/test5"; "true"; "NOARG"];
           ["btrfs_subvolume_snapshot"; "/dir/test3";
"/dir/test6"; ""; "0/1000"]]), []
      ];
 @@ -10246,7 +10246,7 @@ of the snapshot, in the form C</path/to/dest/name>."
};
        InitPartition, Always, TestRun (
          [["mkfs_btrfs"; "/dev/sda1"; ""; "";
"NOARG"; ""; "NOARG"; "NOARG"; "";
""];
           ["mount"; "/dev/sda1"; "/"];
 -         ["btrfs_subvolume_create"; "/test1"];
 +         ["btrfs_subvolume_create"; "/test1"; "NOARG"];
           ["btrfs_subvolume_delete"; "/test1"]]), []
      ];
      shortdesc = "delete a btrfs subvolume or snapshot";
 @@ -10255,13 +10255,14 @@ Delete the named btrfs subvolume or snapshot." };
  
    { defaults with
      name = "btrfs_subvolume_create";
 -    style = RErr, [Pathname "dest"], [];
 +    style = RErr, [Pathname "dest"], [OString "qgroupid"];
      proc_nr = Some 324;
      optional = Some "btrfs"; camel_name = "BTRFSSubvolumeCreate";
      shortdesc = "create a btrfs subvolume"; 
Like in patch 2, you need once_had_no_optargs = true for this as well.
      longdesc = "\
  Create a btrfs subvolume.  The C<dest> argument is the destination
 -directory and the name of the subvolume, in the form C</path/to/dest/name>."
};
 +directory and the name of the subvolume, in the form C</path/to/dest/name>.
 +The C<qgroupid> adds the newly created subvolume to a qgroup." }; 
"The optional C<qgroupid> parameter represents the qgroup which the
newly created subvolume should be added to."
or something like that, I'm not an English native speaker either...
-- 
Pino Toscano