<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/cli/src/cli-rpc-ops.c, branch v3.5.6</title>
<subtitle>GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/'/>
<entry>
<title>features/quota : Fix XML output for quota list command</title>
<updated>2015-07-07T16:11:38+00:00</updated>
<author>
<name>vmallika</name>
<email>vmallika@redhat.com</email>
</author>
<published>2015-06-15T07:01:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=c9e92231e8fb31e6e4a9f061746daaedd77ad1b7'/>
<id>c9e92231e8fb31e6e4a9f061746daaedd77ad1b7</id>
<content type='text'>
This is a backport of http://review.gluster.org/#/c/9481/

&gt; Sample output:
&gt; ---------------
&gt;
&gt; Sample 1)
&gt; ----------
&gt; [root@snapshot-28 glusterfs]# gluster volume quota vol1 list /dir1 /dir4
&gt; /dir5 --xml
&gt; &lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&gt; &lt;cliOutput&gt;
&gt;   &lt;opRet&gt;0&lt;/opRet&gt;
&gt;   &lt;opErrno&gt;0&lt;/opErrno&gt;
&gt;   &lt;opErrstr/&gt;
&gt;   &lt;volQuota&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir1&lt;/path&gt;
&gt;       &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
&gt;       &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
&gt;       &lt;used_space&gt;0Bytes&lt;/used_space&gt;
&gt;       &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
&gt;     &lt;/limit&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir4&lt;/path&gt;
&gt;       &lt;path&gt;No such file or directory&lt;/path&gt;
&gt;     &lt;/limit&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir5&lt;/path&gt;
&gt;       &lt;path&gt;No such file or directory&lt;/path&gt;
&gt;     &lt;/limit&gt;
&gt;   &lt;/volQuota&gt;
&gt; &lt;/cliOutput&gt;
&gt;
&gt; Sample 2)
&gt; ---------
&gt; gluster volume quota vol1 list --xml
&gt; &lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&gt; &lt;cliOutput&gt;
&gt;   &lt;opRet&gt;0&lt;/opRet&gt;
&gt;   &lt;opErrno&gt;0&lt;/opErrno&gt;
&gt;   &lt;opErrstr/&gt;
&gt;   &lt;volQuota/&gt;
&gt; &lt;/cliOutput&gt;
&gt; &lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&gt; &lt;cliOutput&gt;
&gt;   &lt;volQuota&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir&lt;/path&gt;
&gt;       &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
&gt;       &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
&gt;       &lt;used_space&gt;0Bytes&lt;/used_space&gt;
&gt;       &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
&gt;     &lt;/limit&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir1&lt;/path&gt;
&gt;       &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
&gt;       &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
&gt;       &lt;used_space&gt;0Bytes&lt;/used_space&gt;
&gt;       &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
&gt;     &lt;/limit&gt;
&gt;   &lt;/volQuota&gt;
&gt; &lt;/cliOutput&gt;
&gt;
&gt; Change-Id: I8a8d83cff88f778e5ee01fbca07d9f94c412317a
&gt; BUG: 1185259
&gt; Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/9481
&gt; Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;

Change-Id: Ibdf51db626a07e68b5ace98140877f6d21918c20
BUG: 1231641
Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11220
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a backport of http://review.gluster.org/#/c/9481/

&gt; Sample output:
&gt; ---------------
&gt;
&gt; Sample 1)
&gt; ----------
&gt; [root@snapshot-28 glusterfs]# gluster volume quota vol1 list /dir1 /dir4
&gt; /dir5 --xml
&gt; &lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&gt; &lt;cliOutput&gt;
&gt;   &lt;opRet&gt;0&lt;/opRet&gt;
&gt;   &lt;opErrno&gt;0&lt;/opErrno&gt;
&gt;   &lt;opErrstr/&gt;
&gt;   &lt;volQuota&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir1&lt;/path&gt;
&gt;       &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
&gt;       &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
&gt;       &lt;used_space&gt;0Bytes&lt;/used_space&gt;
&gt;       &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
&gt;     &lt;/limit&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir4&lt;/path&gt;
&gt;       &lt;path&gt;No such file or directory&lt;/path&gt;
&gt;     &lt;/limit&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir5&lt;/path&gt;
&gt;       &lt;path&gt;No such file or directory&lt;/path&gt;
&gt;     &lt;/limit&gt;
&gt;   &lt;/volQuota&gt;
&gt; &lt;/cliOutput&gt;
&gt;
&gt; Sample 2)
&gt; ---------
&gt; gluster volume quota vol1 list --xml
&gt; &lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&gt; &lt;cliOutput&gt;
&gt;   &lt;opRet&gt;0&lt;/opRet&gt;
&gt;   &lt;opErrno&gt;0&lt;/opErrno&gt;
&gt;   &lt;opErrstr/&gt;
&gt;   &lt;volQuota/&gt;
&gt; &lt;/cliOutput&gt;
&gt; &lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&gt; &lt;cliOutput&gt;
&gt;   &lt;volQuota&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir&lt;/path&gt;
&gt;       &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
&gt;       &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
&gt;       &lt;used_space&gt;0Bytes&lt;/used_space&gt;
&gt;       &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
&gt;     &lt;/limit&gt;
&gt;     &lt;limit&gt;
&gt;       &lt;path&gt;/dir1&lt;/path&gt;
&gt;       &lt;hard_limit&gt;10.0MB&lt;/hard_limit&gt;
&gt;       &lt;soft_limit&gt;80%&lt;/soft_limit&gt;
&gt;       &lt;used_space&gt;0Bytes&lt;/used_space&gt;
&gt;       &lt;avail_space&gt;10.0MB&lt;/avail_space&gt;
&gt;     &lt;/limit&gt;
&gt;   &lt;/volQuota&gt;
&gt; &lt;/cliOutput&gt;
&gt;
&gt; Change-Id: I8a8d83cff88f778e5ee01fbca07d9f94c412317a
&gt; BUG: 1185259
&gt; Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/9481
&gt; Reviewed-by: Vijaikumar Mallikarjuna &lt;vmallika@redhat.com&gt;
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;

Change-Id: Ibdf51db626a07e68b5ace98140877f6d21918c20
BUG: 1231641
Signed-off-by: vmallika &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11220
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd/geo-rep: more glusterd and cli fixes for geo-rep.</title>
<updated>2014-01-27T17:44:33+00:00</updated>
<author>
<name>Ajeet Jha</name>
<email>ajha@redhat.com</email>
</author>
<published>2013-12-02T07:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=f33d09f23b089bd07437eb714f8dffa43460d6b5'/>
<id>f33d09f23b089bd07437eb714f8dffa43460d6b5</id>
<content type='text'>
    -&gt; handle option validation cases in reset case.
    -&gt; Creating valid conf path when glusterd restarts.
    -&gt; Reading the gsyncd worker thread status and displaying it.
    -&gt; Displaying status-detail per worker.
    -&gt; Fetch checkpoint info in geo-rep status.
    -&gt; use-tarssh value validation added.

misc: misc geo-rep fixes based on cluster, logrotate etc..
    -&gt; cluster/dht: fix 'stime' getxattr getting overwritten.
    -&gt; cluster/afr: return max of 'stime' values in subvol.
    -&gt; geo-rep-logrotate: Sending SIGHUP to geo-rep auxiliary.
    -&gt; cluster/dht: fix convoluted logic while aggregating.
    -&gt; cluster/*: fix 'stime' min/max fetch logic.

Change-Id: I811acea0bbd6194797a3e55d89295d1ea021ac85
BUG: 1036552
Signed-off-by: Ajeet Jha &lt;ajha@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6405
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amarts@gmail.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6810
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    -&gt; handle option validation cases in reset case.
    -&gt; Creating valid conf path when glusterd restarts.
    -&gt; Reading the gsyncd worker thread status and displaying it.
    -&gt; Displaying status-detail per worker.
    -&gt; Fetch checkpoint info in geo-rep status.
    -&gt; use-tarssh value validation added.

misc: misc geo-rep fixes based on cluster, logrotate etc..
    -&gt; cluster/dht: fix 'stime' getxattr getting overwritten.
    -&gt; cluster/afr: return max of 'stime' values in subvol.
    -&gt; geo-rep-logrotate: Sending SIGHUP to geo-rep auxiliary.
    -&gt; cluster/dht: fix convoluted logic while aggregating.
    -&gt; cluster/*: fix 'stime' min/max fetch logic.

Change-Id: I811acea0bbd6194797a3e55d89295d1ea021ac85
BUG: 1036552
Signed-off-by: Ajeet Jha &lt;ajha@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6405
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amarts@gmail.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6810
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: More checks in rebalance status output</title>
<updated>2013-12-23T14:56:17+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2013-12-23T08:37:40+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=3ef4b7eb9d1f4e305e1b7c85ee5bb51d7b18e305'/>
<id>3ef4b7eb9d1f4e305e1b7c85ee5bb51d7b18e305</id>
<content type='text'>
Change-Id: Ibd2edc5608ae6d3370607bff1c626c8347c4deda
BUG: 1031887
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6561
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ibd2edc5608ae6d3370607bff1c626c8347c4deda
BUG: 1031887
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6561
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli, glusterd: More quota fixes ...</title>
<updated>2013-12-03T09:48:31+00:00</updated>
<author>
<name>Krutika Dhananjay</name>
<email>kdhananj@redhat.com</email>
</author>
<published>2013-11-25T09:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=8ed37473b124c97363b3f7eaf9824070559b4ec2'/>
<id>8ed37473b124c97363b3f7eaf9824070559b4ec2</id>
<content type='text'>
... which may be grouped under the following categories:

1. Fix incorrect cli exit status for 'quota list' cmd
2. Print appropriate error message on quota parse errors in cli

        Authored by: Anuradha Talur &lt;atalur@redhat.com&gt;

3. glusterd: Improve quota validation during stage-op
4. Fix peer probe issues resulting from quota conf checksum mismatches
5. Enhancements to CLI output in the event of quota command failures

        Authored by: Kaushal Madappa &lt;kmadappa@redhat.com&gt;

7. Move aux mount location from /tmp to /var/run/gluster

        Authored by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;

8. Fix performance issues in quota limit-usage

        Authored by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;

Note: Some functions that were used in earlier version of quota,
      that aren't called anymore have been removed.

Change-Id: I963d4145f3ecdfe30c61bfa8920baccb33d2d4bd
BUG: 969461
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6386
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... which may be grouped under the following categories:

1. Fix incorrect cli exit status for 'quota list' cmd
2. Print appropriate error message on quota parse errors in cli

        Authored by: Anuradha Talur &lt;atalur@redhat.com&gt;

3. glusterd: Improve quota validation during stage-op
4. Fix peer probe issues resulting from quota conf checksum mismatches
5. Enhancements to CLI output in the event of quota command failures

        Authored by: Kaushal Madappa &lt;kmadappa@redhat.com&gt;

7. Move aux mount location from /tmp to /var/run/gluster

        Authored by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;

8. Fix performance issues in quota limit-usage

        Authored by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;

Note: Some functions that were used in earlier version of quota,
      that aren't called anymore have been removed.

Change-Id: I963d4145f3ecdfe30c61bfa8920baccb33d2d4bd
BUG: 969461
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6386
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli/glusterd: Changes to quota command Quota feature</title>
<updated>2013-11-26T18:25:27+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>rgowdapp@redhat.com</email>
</author>
<published>2013-11-14T11:35:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=0d5cd92f51c02b8d664000b5a2d22a2ddbbc23b6'/>
<id>0d5cd92f51c02b8d664000b5a2d22a2ddbbc23b6</id>
<content type='text'>
 re-work.

Following are the cli commands that are new/re-worked:
======================================================

volume quota &lt;VOLNAME&gt; {enable|disable|list [&lt;path&gt; ...]|remove &lt;path&gt;| default-soft-limit &lt;percent&gt;} |
volume quota &lt;VOLNAME&gt; {limit-usage &lt;path&gt; &lt;size&gt; [&lt;percent&gt;]} |
volume quota &lt;VOLNAME&gt; {alert-time|soft-timeout|hard-timeout} {&lt;time&gt;}
volume status [all | &lt;VOLNAME&gt; [nfs|shd|&lt;BRICK&gt;|quotad]] [detail|clients|mem|inode|fd|callpool]
volume statedump &lt;VOLNAME&gt; [nfs|quotad] [all|mem|iobuf|callpool|priv|fd|inode|history]

glusterd changes:
=================
* Quota limits are now set as extended attributes by glusterd from
  the aux mount created by the cli.
* The gfids of the directories on which quota limits are set
  for a given volume are stored in
  /var/lib/glusterd/vols/&lt;volname&gt;/quota.conf file in binary format,
  and whose cksum and version is stored in
  /var/lib/glusterd/vols/&lt;volname&gt;/quota.cksum.

Original-author: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Original-author: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;

BUG: 969461
Change-Id: If32bba36c67f9c2a30417af9c6389045b2b7c13b
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Signed-off-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6003
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 re-work.

Following are the cli commands that are new/re-worked:
======================================================

volume quota &lt;VOLNAME&gt; {enable|disable|list [&lt;path&gt; ...]|remove &lt;path&gt;| default-soft-limit &lt;percent&gt;} |
volume quota &lt;VOLNAME&gt; {limit-usage &lt;path&gt; &lt;size&gt; [&lt;percent&gt;]} |
volume quota &lt;VOLNAME&gt; {alert-time|soft-timeout|hard-timeout} {&lt;time&gt;}
volume status [all | &lt;VOLNAME&gt; [nfs|shd|&lt;BRICK&gt;|quotad]] [detail|clients|mem|inode|fd|callpool]
volume statedump &lt;VOLNAME&gt; [nfs|quotad] [all|mem|iobuf|callpool|priv|fd|inode|history]

glusterd changes:
=================
* Quota limits are now set as extended attributes by glusterd from
  the aux mount created by the cli.
* The gfids of the directories on which quota limits are set
  for a given volume are stored in
  /var/lib/glusterd/vols/&lt;volname&gt;/quota.conf file in binary format,
  and whose cksum and version is stored in
  /var/lib/glusterd/vols/&lt;volname&gt;/quota.cksum.

Original-author: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Original-author: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;

BUG: 969461
Change-Id: If32bba36c67f9c2a30417af9c6389045b2b7c13b
Signed-off-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Signed-off-by: Raghavendra G &lt;rgowdapp@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6003
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: List only nodes which have rebalance started in rebalance status</title>
<updated>2013-11-20T19:30:25+00:00</updated>
<author>
<name>Kaushal M</name>
<email>kaushal@redhat.com</email>
</author>
<published>2013-11-12T09:38:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=bc9f0bb5ce108cba7e88be123681e2c269da31b7'/>
<id>bc9f0bb5ce108cba7e88be123681e2c269da31b7</id>
<content type='text'>
Listing the nodes on which rebalance hasn't been started is just giving
out extraneous information.

Also, refactor the rebalance status printing code into a single function
and use it for both rebalance and remove-brick status.

BUG: 1031887
Change-Id: I47bd561347dfd6ef76c52a1587916d6a71eac369
Signed-off-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6300
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Listing the nodes on which rebalance hasn't been started is just giving
out extraneous information.

Also, refactor the rebalance status printing code into a single function
and use it for both rebalance and remove-brick status.

BUG: 1031887
Change-Id: I47bd561347dfd6ef76c52a1587916d6a71eac369
Signed-off-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6300
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krutika Dhananjay &lt;kdhananj@redhat.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bd: posix/multi-brick support to BD xlator</title>
<updated>2013-11-13T19:38:42+00:00</updated>
<author>
<name>M. Mohan Kumar</name>
<email>mohan@in.ibm.com</email>
</author>
<published>2013-11-13T17:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=48c40e1a42efe1b59126406084821947d139dd0e'/>
<id>48c40e1a42efe1b59126406084821947d139dd0e</id>
<content type='text'>
Current BD xlator (block backend) has a few limitations such as
* Creation of directories not supported
* Supports only single brick
* Does not use extended attributes (and client gfid) like posix xlator
* Creation of special files (symbolic links, device nodes etc) not
  supported

Basic limitation of not allowing directory creation is blocking
oVirt/VDSM to consume BD xlator as part of Gluster domain since VDSM
creates multi-level directories when GlusterFS is used as storage
backend for storing VM images.

To overcome these limitations a new BD xlator with following
improvements is suggested.

* New hybrid BD xlator that handles both regular files and block device
  files
* The volume will have both POSIX and BD bricks. Regular files are
  created on POSIX bricks, block devices are created on the BD brick (VG)
* BD xlator leverages exiting POSIX xlator for most POSIX calls and
  hence sits above the POSIX xlator
* Block device file is differentiated from regular file by an extended
  attribute
* The xattr 'user.glusterfs.bd' (BD_XATTR) plays a role in mapping a
  posix file to Logical Volume (LV).
* When a client sends a request to set BD_XATTR on a posix file, a new
  LV is created and mapped to posix file. So every block device will
  have a representative file in POSIX brick with 'user.glusterfs.bd'
  (BD_XATTR) set.
* Here after all operations on this file results in LV related
  operations.

For example opening a file that has BD_XATTR set results in opening
the LV block device, reading results in reading the corresponding LV
block device.

When BD xlator gets request to set BD_XATTR via setxattr call, it
creates a LV and information about this LV is placed in the xattr of the
posix file. xattr "user.glusterfs.bd" used to identify that posix file
is mapped to BD.

Usage:
Server side:
[root@host1 ~]# gluster volume create bdvol host1:/storage/vg1_info?vg1 host2:/storage/vg2_info?vg2
It creates a distributed gluster volume 'bdvol' with Volume Group vg1
using posix brick /storage/vg1_info in host1 and Volume Group vg2 using
/storage/vg2_info in host2.

[root@host1 ~]# gluster volume start bdvol

Client side:
[root@node ~]# mount -t glusterfs host1:/bdvol /media
[root@node ~]# touch /media/posix
It creates regular posix file 'posix' in either host1:/vg1 or host2:/vg2 brick
[root@node ~]# mkdir /media/image
[root@node ~]# touch /media/image/lv1
It also creates regular posix file 'lv1' in either host1:/vg1 or
host2:/vg2 brick
[root@node ~]# setfattr -n "user.glusterfs.bd" -v "lv" /media/image/lv1
[root@node ~]#
Above setxattr results in creating a new LV in corresponding brick's VG
and it sets 'user.glusterfs.bd' with value 'lv:&lt;default-extent-size'
[root@node ~]# truncate -s5G /media/image/lv1
It results in resizig LV 'lv1'to 5G

New BD xlator code is placed in xlators/storage/bd directory.

Also add volume-uuid to the VG so that same VG can't be used for other
bricks/volumes. After deleting a gluster volume, one has to manually
remove the associated tag using vgchange &lt;vg-name&gt; --deltag
&lt;trusted.glusterfs.volume-id:&lt;volume-id&gt;&gt;

Changes from previous version V5:
* Removed support for delayed deleting of LVs

Changes from previous version V4:
* Consolidated the patches
* Removed usage of BD_XATTR_SIZE and consolidated it in BD_XATTR.

Changes from previous version V3:
* Added support in FUSE to support full/linked clone
* Added support to merge snapshots and provide information about origin
* bd_map xlator removed
* iatt structure used in inode_ctx. iatt is cached and updated during
fsync/flush
* aio support
* Type and capabilities of volume are exported through getxattr

Changes from version 2:
* Used inode_context for caching BD size and to check if loc/fd is BD or
  not.
* Added GlusterFS server offloaded copy and snapshot through setfattr
  FOP. As part of this libgfapi is modified.
* BD xlator supports stripe
* During unlinking if a LV file is already opened, its added to delete
  list and bd_del_thread tries to delete from this list when a last
  reference to that file is closed.

Changes from previous version:
* gfid is used as name of LV
* ? is used to specify VG name for creating BD volume in volume
  create, add-brick. gluster volume create volname host:/path?vg
* open-behind issue is fixed
* A replicate brick can be added dynamically and LVs from source brick
  are replicated to destination brick
* A distribute brick can be added dynamically and rebalance operation
  distributes existing LVs/files to the new brick
* Thin provisioning support added.
* bd_map xlator support retained
* setfattr -n user.glusterfs.bd -v "lv" creates a regular LV and
  setfattr -n user.glusterfs.bd -v "thin" creates thin LV
* Capability and backend information added to gluster volume info (and
--xml) so
  that management tools can exploit BD xlator.
* tracing support for bd xlator added

TODO:
* Add support to display snapshots for a given LV
* Display posix filename for list-origin instead of gfid

Change-Id: I00d32dfbab3b7c806e0841515c86c3aa519332f2
BUG: 1028672
Signed-off-by: M. Mohan Kumar &lt;mohan@in.ibm.com&gt;
Reviewed-on: http://review.gluster.org/4809
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Current BD xlator (block backend) has a few limitations such as
* Creation of directories not supported
* Supports only single brick
* Does not use extended attributes (and client gfid) like posix xlator
* Creation of special files (symbolic links, device nodes etc) not
  supported

Basic limitation of not allowing directory creation is blocking
oVirt/VDSM to consume BD xlator as part of Gluster domain since VDSM
creates multi-level directories when GlusterFS is used as storage
backend for storing VM images.

To overcome these limitations a new BD xlator with following
improvements is suggested.

* New hybrid BD xlator that handles both regular files and block device
  files
* The volume will have both POSIX and BD bricks. Regular files are
  created on POSIX bricks, block devices are created on the BD brick (VG)
* BD xlator leverages exiting POSIX xlator for most POSIX calls and
  hence sits above the POSIX xlator
* Block device file is differentiated from regular file by an extended
  attribute
* The xattr 'user.glusterfs.bd' (BD_XATTR) plays a role in mapping a
  posix file to Logical Volume (LV).
* When a client sends a request to set BD_XATTR on a posix file, a new
  LV is created and mapped to posix file. So every block device will
  have a representative file in POSIX brick with 'user.glusterfs.bd'
  (BD_XATTR) set.
* Here after all operations on this file results in LV related
  operations.

For example opening a file that has BD_XATTR set results in opening
the LV block device, reading results in reading the corresponding LV
block device.

When BD xlator gets request to set BD_XATTR via setxattr call, it
creates a LV and information about this LV is placed in the xattr of the
posix file. xattr "user.glusterfs.bd" used to identify that posix file
is mapped to BD.

Usage:
Server side:
[root@host1 ~]# gluster volume create bdvol host1:/storage/vg1_info?vg1 host2:/storage/vg2_info?vg2
It creates a distributed gluster volume 'bdvol' with Volume Group vg1
using posix brick /storage/vg1_info in host1 and Volume Group vg2 using
/storage/vg2_info in host2.

[root@host1 ~]# gluster volume start bdvol

Client side:
[root@node ~]# mount -t glusterfs host1:/bdvol /media
[root@node ~]# touch /media/posix
It creates regular posix file 'posix' in either host1:/vg1 or host2:/vg2 brick
[root@node ~]# mkdir /media/image
[root@node ~]# touch /media/image/lv1
It also creates regular posix file 'lv1' in either host1:/vg1 or
host2:/vg2 brick
[root@node ~]# setfattr -n "user.glusterfs.bd" -v "lv" /media/image/lv1
[root@node ~]#
Above setxattr results in creating a new LV in corresponding brick's VG
and it sets 'user.glusterfs.bd' with value 'lv:&lt;default-extent-size'
[root@node ~]# truncate -s5G /media/image/lv1
It results in resizig LV 'lv1'to 5G

New BD xlator code is placed in xlators/storage/bd directory.

Also add volume-uuid to the VG so that same VG can't be used for other
bricks/volumes. After deleting a gluster volume, one has to manually
remove the associated tag using vgchange &lt;vg-name&gt; --deltag
&lt;trusted.glusterfs.volume-id:&lt;volume-id&gt;&gt;

Changes from previous version V5:
* Removed support for delayed deleting of LVs

Changes from previous version V4:
* Consolidated the patches
* Removed usage of BD_XATTR_SIZE and consolidated it in BD_XATTR.

Changes from previous version V3:
* Added support in FUSE to support full/linked clone
* Added support to merge snapshots and provide information about origin
* bd_map xlator removed
* iatt structure used in inode_ctx. iatt is cached and updated during
fsync/flush
* aio support
* Type and capabilities of volume are exported through getxattr

Changes from version 2:
* Used inode_context for caching BD size and to check if loc/fd is BD or
  not.
* Added GlusterFS server offloaded copy and snapshot through setfattr
  FOP. As part of this libgfapi is modified.
* BD xlator supports stripe
* During unlinking if a LV file is already opened, its added to delete
  list and bd_del_thread tries to delete from this list when a last
  reference to that file is closed.

Changes from previous version:
* gfid is used as name of LV
* ? is used to specify VG name for creating BD volume in volume
  create, add-brick. gluster volume create volname host:/path?vg
* open-behind issue is fixed
* A replicate brick can be added dynamically and LVs from source brick
  are replicated to destination brick
* A distribute brick can be added dynamically and rebalance operation
  distributes existing LVs/files to the new brick
* Thin provisioning support added.
* bd_map xlator support retained
* setfattr -n user.glusterfs.bd -v "lv" creates a regular LV and
  setfattr -n user.glusterfs.bd -v "thin" creates thin LV
* Capability and backend information added to gluster volume info (and
--xml) so
  that management tools can exploit BD xlator.
* tracing support for bd xlator added

TODO:
* Add support to display snapshots for a given LV
* Display posix filename for list-origin instead of gfid

Change-Id: I00d32dfbab3b7c806e0841515c86c3aa519332f2
BUG: 1028672
Signed-off-by: M. Mohan Kumar &lt;mohan@in.ibm.com&gt;
Reviewed-on: http://review.gluster.org/4809
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bd_map: Remove bd_map xlator</title>
<updated>2013-11-13T19:38:28+00:00</updated>
<author>
<name>M. Mohan Kumar</name>
<email>mohan@in.ibm.com</email>
</author>
<published>2013-11-13T17:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=15a8ecd9b3eedf80881bd3dba81f16b7d2cb7c97'/>
<id>15a8ecd9b3eedf80881bd3dba81f16b7d2cb7c97</id>
<content type='text'>
Remove bd_map xlator and CLI related changes.

Change-Id: If7086205df1907127c1a1fa4ba603f1c48421d09
BUG: 1028672
Signed-off-by: M. Mohan Kumar &lt;mohan@in.ibm.com&gt;
Reviewed-on: http://review.gluster.org/5747
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove bd_map xlator and CLI related changes.

Change-Id: If7086205df1907127c1a1fa4ba603f1c48421d09
BUG: 1028672
Signed-off-by: M. Mohan Kumar &lt;mohan@in.ibm.com&gt;
Reviewed-on: http://review.gluster.org/5747
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: Set the o/p width of hostname to 8 characters</title>
<updated>2013-11-11T18:23:02+00:00</updated>
<author>
<name>Vijaykumar M</name>
<email>vmallika@redhat.com</email>
</author>
<published>2013-11-11T06:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=27935ee84c484fff3d8d29218c197812701957ed'/>
<id>27935ee84c484fff3d8d29218c197812701957ed</id>
<content type='text'>
Change-Id: I91dcb19ba4d31c17e6041155c0e59af457b87f1b
BUG: 1028871
Signed-off-by: Vijaykumar M &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6245
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I91dcb19ba4d31c17e6041155c0e59af457b87f1b
BUG: 1028871
Signed-off-by: Vijaykumar M &lt;vmallika@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6245
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: write 'volume rebalance' error message in xml format when</title>
<updated>2013-11-11T07:50:31+00:00</updated>
<author>
<name>Dawit Alemu</name>
<email>dalemu@redhat.com</email>
</author>
<published>2013-11-08T18:26:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=cbb47056ab09ae09eed2550584f190fd5a42fb12'/>
<id>cbb47056ab09ae09eed2550584f190fd5a42fb12</id>
<content type='text'>
--xml is specified

When 'volume rebalance' encounters an error the cli prints the
error message in plain text independent of whether --xml is
specified. This throws off client application that expect xml
output (as mentioned in bz1026143).

Now, if the --xml flag is supplied, the cli print 'volume
rebalance' error messages in xml format.

Change-Id: I16c6a7a4cdd2819eb73422ab849125986dc299a6
BUG: 1026143
Signed-off-by: Dawit Alemu &lt;dalemu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6242
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--xml is specified

When 'volume rebalance' encounters an error the cli prints the
error message in plain text independent of whether --xml is
specified. This throws off client application that expect xml
output (as mentioned in bz1026143).

Now, if the --xml flag is supplied, the cli print 'volume
rebalance' error messages in xml format.

Change-Id: I16c6a7a4cdd2819eb73422ab849125986dc299a6
BUG: 1026143
Signed-off-by: Dawit Alemu &lt;dalemu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6242
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
