<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/mgmt/glusterd/src/Makefile.am, branch v3.6.3</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>build: make GLUSTERD_WORKDIR rely on localstatedir</title>
<updated>2014-09-03T18:01:45+00:00</updated>
<author>
<name>Harshavardhana</name>
<email>harsha@harshavardhana.net</email>
</author>
<published>2014-08-14T20:06:26+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=025ae07850375cbf981ed335a4ddf702d54be6e3'/>
<id>025ae07850375cbf981ed335a4ddf702d54be6e3</id>
<content type='text'>
Backport from master branch - http://review.gluster.org/#/c/8246/

- Break-way from '/var/lib/glusterd' hard-coded previously,
  instead rely on 'configure' value from 'localstatedir'
- Provide 's/lib/db' as default working directory for gluster
  management daemon for BSD and Darwin based installations
- loff_t is really off_t on Darwin
- fix-off the warnings generated by clang on FreeBSD/Darwin
- Now 'tests/*' use GLUSTERD_WORKDIR a common variable for all
  platforms.
- Define proper environment for running tests, define correct PATH
  and LD_LIBRARY_PATH when running tests, so that the desired version
  of glusterfs is used, regardless where it is installed.
  (Thanks to manu@netbsd.org for this additional work)

Change-Id: I06e684ac4c26d1e74c9daf76753403ad15f79276
BUG: 1130308
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Reviewed-on: http://review.gluster.org/8486
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport from master branch - http://review.gluster.org/#/c/8246/

- Break-way from '/var/lib/glusterd' hard-coded previously,
  instead rely on 'configure' value from 'localstatedir'
- Provide 's/lib/db' as default working directory for gluster
  management daemon for BSD and Darwin based installations
- loff_t is really off_t on Darwin
- fix-off the warnings generated by clang on FreeBSD/Darwin
- Now 'tests/*' use GLUSTERD_WORKDIR a common variable for all
  platforms.
- Define proper environment for running tests, define correct PATH
  and LD_LIBRARY_PATH when running tests, so that the desired version
  of glusterfs is used, regardless where it is installed.
  (Thanks to manu@netbsd.org for this additional work)

Change-Id: I06e684ac4c26d1e74c9daf76753403ad15f79276
BUG: 1130308
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Reviewed-on: http://review.gluster.org/8486
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Improvements to peer identification</title>
<updated>2014-07-15T13:59:35+00:00</updated>
<author>
<name>Kaushal M</name>
<email>kaushal@redhat.com</email>
</author>
<published>2014-07-15T03:36:58+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fde2b73746e73ea16ba246b8261b552ed2d894dd'/>
<id>fde2b73746e73ea16ba246b8261b552ed2d894dd</id>
<content type='text'>
This patch improves the peer identification mechanism in glusterd and
lays down the framework for further improvements, including better multi
network support in glusterd.

This patch mainly does two things,
1. Extend the peerinfo object to store a list of addresses instead of a
single hostname as it does now. This also includes changes to make the
peer update behaviour of 'peer probe' to add to the list.

2. Improve glusterd_friend_find_by_hostname() to perform better matching
of hostnames. glusterd_friend_find_by_hostname() now does and initial
quick string compare against all the peer addresses known to glusterd,
after which it tries a more thorough search using address resolution and
matching the struc sockaddr's.

The above two changes together improve the peer identification situation
in glusterd a lot.

More information regarding the problem this patch attempts to resolve
and the approach chosen can be found at
http://www.gluster.org/community/documentation/index.php/Features/Better_peer_identification

This commit is a squashed commit of the following changes, the
development branch of which can be viewed at,
https://github.com/kshlm/glusterfs/tree/better-peer-identification or,
https://forge.gluster.org/~kshlm/glusterfs-core/kshlms-glusterfs/commits/better-peer-identification

commit 198f86e60fab74faf082eaa02657a4d8f60b92f0
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 15 14:34:06 2014 +0530

    Update gluster.8

commit 35d597f3a6b3248373e727f7b7e889c92554d56c
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 15 09:01:01 2014 +0530

    Address review comments

    https://review.gluster.org/#/c/8238/3

commit 47b5331e17304477322bd2daed5bbed503c34ca1
Merge: c71b12c 78128af
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 15 08:41:39 2014 +0530

    Merge branch 'master' into better-peer-identification

commit c71b12c164330e8d19d1df4734ab34ef9a8caad2
Merge: 57bc9de 0f5719a
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 19:50:19 2014 +0530

    Merge branch 'master' into better-peer-identification

commit 57bc9de9e4f49ff2b1620df9906cda50a3527a25
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 19:49:08 2014 +0530

    More fixes to review comments

commit 5482cc363a687a9e246a0780ec88acd53e218501
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 18:36:40 2014 +0530

    Code refactoring in peer-utils based on review comments

    https://review.gluster.org/#/c/8238/2/xlators/mgmt/glusterd/src/glusterd-peer-utils.c

commit 89b22c34757178f64d5fbaffa31e6302f841c060
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 12:30:00 2014 +0530

    Hostnames in peer status

commit 63ebf9485cf50d736cf640238a1ab241671fcaf1
Merge: c8c8fdd f5f9721
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 12:06:33 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit c8c8fdd2104b5b6b8a1af739b1dd952b74e6dd66
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Wed Jul 9 18:35:27 2014 +0530

    Hostnames in xml output

commit 732a92a0167ad7b1d70edbc35ebd8307c2766ae1
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Wed Jul 9 15:12:10 2014 +0530

    Add hostnames to cli rsp dict during list-friends

commit fcf43e3e317508f0c225024738a988a4af8e9205
Merge: c0e2624 72d96e2
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Wed Jul 9 12:53:03 2014 +0530

    Merge branch 'master' into better-peer-identification

commit c0e262416728a3c536a8347a216e471eb2251535
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 16:11:19 2014 +0530

    Use list_for_each_entry_safe when cleaning peer hostnames

commit 6132e60224eb592f3657e535a12a3e72c772da42
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 15:52:19 2014 +0530

    Fix crash in gd_add_friend_to_dict

commit 88ffa9a508fd5aac0b2a76e6e76487ce0cab786a
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 13:19:44 2014 +0530

    gd_peerinfo_destroy -&gt; glusterd_peerinfo_destroy

commit 4b36930a715b1e13cd1a77d136ef1cf78a06d574
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 12:50:12 2014 +0530

    More refactoring

commit ee559b081d608c6501c10ae22166f26eeb65690e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 12:14:40 2014 +0530

    Major refactoring of code based on review comments at
    https://review.gluster.org/#/c/8238/1/xlators/mgmt/glusterd/src/glusterd-peer-utils.h

commit e96dbc7bbb05fad2a9c424de41a394b8023fe48d
Merge: 2613d1d 83c09b7
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 09:47:05 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 2613d1daebff0c56812de821c06ed4c16bb9d447
Merge: b242cf6 9a50211
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 15:28:57 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit b242cf66d95dd3dd5e3975aa430baa6bd74b8a29
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 15:08:18 2014 +0530

    Fix a silly mistake, if (ctx-&gt;req) =&gt; if (ctx-&gt;req == NULL)

commit c835ed26433830ceed57289143f596cf60421558
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 14:58:23 2014 +0530

    Fix reverse probe.

commit 9ede17f9329b854b02e8ad159f173244789fd08c
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 13:31:32 2014 +0530

    Fix friend import for existing peers

commit 891bf74c7350064dfb008d1b7294bcec28d680fd
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 13:08:36 2014 +0530

    Set first hostname in peerinfo-&gt;hostnames to peerinfo-&gt;hostname

commit 9421d6a217381a7427a7d84f369280883ca4297a
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 12:21:40 2014 +0530

    Fix gf_asprintf return val check in glusterd_store_peer_write

commit defac978c1d94011ce8195e311839b9ffce057e7
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 11:16:13 2014 +0530

    Fix store_retrieve_peers to correctly cleanup.

commit 00a799f5de1121b0cb7421da8285f9407063e1bd
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 10:52:11 2014 +0530

    Update address list in glusterd_probe_cbk only when needed.

commit 7a628e8a9c562d85709c69cfa13fb1774c521b75
Merge: d191985 dc46d5e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 09:24:12 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit d1919858e6639d2b54d716a61f662d9752ec5ff1
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 18:59:49 2014 +0530

    gf_compare_addrinfo -&gt; gf_compare_sockaddr

commit 31d8ef730d408f8d9ba8f504fa648f7dcd59da87
Merge: 93bbede 86ee233
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 18:16:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 93bbedeac5181e29f59b2acd08f638146812ec41
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 18:15:16 2014 +0530

    Improve glusterd_friend_find_by_hostname

    glusterd_friend_find_by_hostname will now do an initial quick search for
    the peerinfo performing string comparisions on the given host string. It
    follows it with a more thorough match, by resolving the addresses and
    comparing addrinfos instead of strings.

commit 2542cdbc45aa9cfcaf1f174686158d5565cdd07b
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 17:21:10 2014 +0530

    New utility gf_compare_addrinfo

commit 338676e8389a44bd91136eebd110197429c2566c
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 14:55:56 2014 +0530

    Use gd_peer_has_address instead of strcmp

commit 28d45be51f594328741c44455bd80ac9d64ca501
Merge: 728266e 991dd5e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 14:54:40 2014 +0530

    Merge branch 'master' into better-peer-identification

commit 728266eb16d5f5a4bf36266044425ae164337f99
Merge: 7d9b87b 2417de9
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 09:55:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 7d9b87b84955ec17daeaf88a3e7462914039430f
Merge: b890625 e02275c
Author: Kaushal M &lt;kshlmster@gmail.com&gt;
Date:   Tue Jul 1 08:41:40 2014 +0530

    Merge pull request #4 from vpshastry/better-peer-identification

    Better peer identification

commit e02275c52fb83c72ad082c098fd3e432c2b9c526
Merge: 75ee90d b890625
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Mon Jun 30 16:44:29 2014 +0530

    Merge branch 'better-peer-identification' of https://github.com/kshlm/glusterfs into better-peer-identification-kaushal-github

commit 75ee90d2f272e49b94d24c9ca4571e89a83055ff
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Mon Jun 30 15:36:10 2014 +0530

    glusterd: add to the list if the probed uuid pre-exists

    Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;

commit b890625d8164c660695daef3285c67979eef723e
Merge: 04c5d60 187a7a9
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jun 30 11:44:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 04c5d60cb938c8d94b214689580b40abb1b0ffcd
Merge: 3a5bfa1 e01edb6
Author: Kaushal M &lt;kshlmster@gmail.com&gt;
Date:   Sat Jun 28 19:23:33 2014 +0530

    Merge pull request #3 from vpshastry/better-peer-identification

    glusterd: search through the list of hostnames in the peerinfo

commit 0c64f3346a977f9165ac55a84a1e03c40a7573a7
Merge: e01edb6 3a5bfa1
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Sat Jun 28 10:43:29 2014 +0530

    Merge branch 'better-peer-identification' of https://github.com/kshlm/glusterfs into better-peer-identification-kaushal-github

commit e01edb63153a1008db70b8fa76ae5b535e099326
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Fri Jun 27 12:29:36 2014 +0530

    glusterd: search through the list of hostnames in the peerinfo

    Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;

commit 3a5bfa15855e660db2bfde644727371dd2d618cc
Merge: cda6d31 371ea35
Author: Kaushal M &lt;kshlmster@gmail.com&gt;
Date:   Fri Jun 27 11:31:17 2014 +0530

    Merge pull request #1 from vpshastry/better-peer-identification

    glusterd: Add hostname to list instead of replaceing upon update

commit 371ea354f198b4182382d5403c5960c0b2add6b6
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Fri Jun 27 11:24:54 2014 +0530

    glusterd: Add hostname to list instead of replaceing upon update

    Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;

commit cda6d3152886623ecbf46baf0048ebe0119b30b6
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 19:52:52 2014 +0530

    Import address lists

commit 6649b54aa0440130c08e827e0a1d1bbfb840eca9
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 19:15:37 2014 +0530

    Implement export address list

commit 55990034eead92bc9b936240029e460a4bf152d5
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 18:11:59 2014 +0530

    Use first address in list to when setting up the peer RPC.

commit a35fde8d19b9988eb04c652fb3a5e4f84d90ad00
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 18:03:04 2014 +0530

    Properly free addresses on glusterd_peer_destroy

commit 1988081db09ac9205f3dc7268cef8be267f3ce8b
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 17:52:35 2014 +0530

    Restore peerinfo with address list implemented.

commit 66f524d5749a12f4910dd6b06c9d91f37e1d831e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jun 23 13:02:23 2014 +0530

    Move out all peer related utilities from glusterd-utils to glusterd-peer-utils

commit 14a2a326a4dff11b55490dca2a14f39320931340
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue May 27 12:16:41 2014 +0530

    Compilation fix

commit c59cd351d0a102d0d5f3ea9001fd33c4edcb262f
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon May 5 12:51:11 2014 +0530

    Add store support for hostname list

commit b70325f0beb884ad12645ef40185f0bf6cedd741
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri May 2 15:58:07 2014 +0530

    Add a hostnames list to glusterd_peerinfo_t

    glusterd_peerinfo_new will now init this list and add the given hostname
    as the lists first member.

Signed-off-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;
Change-Id: Ief3c5d6d6f16571ee2fab0a45e638b9d6506a06e
BUG: 1119547
Reviewed-on: http://review.gluster.org/8238
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch improves the peer identification mechanism in glusterd and
lays down the framework for further improvements, including better multi
network support in glusterd.

This patch mainly does two things,
1. Extend the peerinfo object to store a list of addresses instead of a
single hostname as it does now. This also includes changes to make the
peer update behaviour of 'peer probe' to add to the list.

2. Improve glusterd_friend_find_by_hostname() to perform better matching
of hostnames. glusterd_friend_find_by_hostname() now does and initial
quick string compare against all the peer addresses known to glusterd,
after which it tries a more thorough search using address resolution and
matching the struc sockaddr's.

The above two changes together improve the peer identification situation
in glusterd a lot.

More information regarding the problem this patch attempts to resolve
and the approach chosen can be found at
http://www.gluster.org/community/documentation/index.php/Features/Better_peer_identification

This commit is a squashed commit of the following changes, the
development branch of which can be viewed at,
https://github.com/kshlm/glusterfs/tree/better-peer-identification or,
https://forge.gluster.org/~kshlm/glusterfs-core/kshlms-glusterfs/commits/better-peer-identification

commit 198f86e60fab74faf082eaa02657a4d8f60b92f0
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 15 14:34:06 2014 +0530

    Update gluster.8

commit 35d597f3a6b3248373e727f7b7e889c92554d56c
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 15 09:01:01 2014 +0530

    Address review comments

    https://review.gluster.org/#/c/8238/3

commit 47b5331e17304477322bd2daed5bbed503c34ca1
Merge: c71b12c 78128af
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 15 08:41:39 2014 +0530

    Merge branch 'master' into better-peer-identification

commit c71b12c164330e8d19d1df4734ab34ef9a8caad2
Merge: 57bc9de 0f5719a
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 19:50:19 2014 +0530

    Merge branch 'master' into better-peer-identification

commit 57bc9de9e4f49ff2b1620df9906cda50a3527a25
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 19:49:08 2014 +0530

    More fixes to review comments

commit 5482cc363a687a9e246a0780ec88acd53e218501
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 18:36:40 2014 +0530

    Code refactoring in peer-utils based on review comments

    https://review.gluster.org/#/c/8238/2/xlators/mgmt/glusterd/src/glusterd-peer-utils.c

commit 89b22c34757178f64d5fbaffa31e6302f841c060
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 12:30:00 2014 +0530

    Hostnames in peer status

commit 63ebf9485cf50d736cf640238a1ab241671fcaf1
Merge: c8c8fdd f5f9721
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jul 10 12:06:33 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit c8c8fdd2104b5b6b8a1af739b1dd952b74e6dd66
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Wed Jul 9 18:35:27 2014 +0530

    Hostnames in xml output

commit 732a92a0167ad7b1d70edbc35ebd8307c2766ae1
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Wed Jul 9 15:12:10 2014 +0530

    Add hostnames to cli rsp dict during list-friends

commit fcf43e3e317508f0c225024738a988a4af8e9205
Merge: c0e2624 72d96e2
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Wed Jul 9 12:53:03 2014 +0530

    Merge branch 'master' into better-peer-identification

commit c0e262416728a3c536a8347a216e471eb2251535
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 16:11:19 2014 +0530

    Use list_for_each_entry_safe when cleaning peer hostnames

commit 6132e60224eb592f3657e535a12a3e72c772da42
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 15:52:19 2014 +0530

    Fix crash in gd_add_friend_to_dict

commit 88ffa9a508fd5aac0b2a76e6e76487ce0cab786a
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 13:19:44 2014 +0530

    gd_peerinfo_destroy -&gt; glusterd_peerinfo_destroy

commit 4b36930a715b1e13cd1a77d136ef1cf78a06d574
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 12:50:12 2014 +0530

    More refactoring

commit ee559b081d608c6501c10ae22166f26eeb65690e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 12:14:40 2014 +0530

    Major refactoring of code based on review comments at
    https://review.gluster.org/#/c/8238/1/xlators/mgmt/glusterd/src/glusterd-peer-utils.h

commit e96dbc7bbb05fad2a9c424de41a394b8023fe48d
Merge: 2613d1d 83c09b7
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jul 7 09:47:05 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 2613d1daebff0c56812de821c06ed4c16bb9d447
Merge: b242cf6 9a50211
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 15:28:57 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit b242cf66d95dd3dd5e3975aa430baa6bd74b8a29
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 15:08:18 2014 +0530

    Fix a silly mistake, if (ctx-&gt;req) =&gt; if (ctx-&gt;req == NULL)

commit c835ed26433830ceed57289143f596cf60421558
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 14:58:23 2014 +0530

    Fix reverse probe.

commit 9ede17f9329b854b02e8ad159f173244789fd08c
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 13:31:32 2014 +0530

    Fix friend import for existing peers

commit 891bf74c7350064dfb008d1b7294bcec28d680fd
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 13:08:36 2014 +0530

    Set first hostname in peerinfo-&gt;hostnames to peerinfo-&gt;hostname

commit 9421d6a217381a7427a7d84f369280883ca4297a
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 12:21:40 2014 +0530

    Fix gf_asprintf return val check in glusterd_store_peer_write

commit defac978c1d94011ce8195e311839b9ffce057e7
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 11:16:13 2014 +0530

    Fix store_retrieve_peers to correctly cleanup.

commit 00a799f5de1121b0cb7421da8285f9407063e1bd
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 10:52:11 2014 +0530

    Update address list in glusterd_probe_cbk only when needed.

commit 7a628e8a9c562d85709c69cfa13fb1774c521b75
Merge: d191985 dc46d5e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri Jul 4 09:24:12 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit d1919858e6639d2b54d716a61f662d9752ec5ff1
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 18:59:49 2014 +0530

    gf_compare_addrinfo -&gt; gf_compare_sockaddr

commit 31d8ef730d408f8d9ba8f504fa648f7dcd59da87
Merge: 93bbede 86ee233
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 18:16:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 93bbedeac5181e29f59b2acd08f638146812ec41
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 18:15:16 2014 +0530

    Improve glusterd_friend_find_by_hostname

    glusterd_friend_find_by_hostname will now do an initial quick search for
    the peerinfo performing string comparisions on the given host string. It
    follows it with a more thorough match, by resolving the addresses and
    comparing addrinfos instead of strings.

commit 2542cdbc45aa9cfcaf1f174686158d5565cdd07b
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 17:21:10 2014 +0530

    New utility gf_compare_addrinfo

commit 338676e8389a44bd91136eebd110197429c2566c
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 14:55:56 2014 +0530

    Use gd_peer_has_address instead of strcmp

commit 28d45be51f594328741c44455bd80ac9d64ca501
Merge: 728266e 991dd5e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 14:54:40 2014 +0530

    Merge branch 'master' into better-peer-identification

commit 728266eb16d5f5a4bf36266044425ae164337f99
Merge: 7d9b87b 2417de9
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue Jul 1 09:55:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 7d9b87b84955ec17daeaf88a3e7462914039430f
Merge: b890625 e02275c
Author: Kaushal M &lt;kshlmster@gmail.com&gt;
Date:   Tue Jul 1 08:41:40 2014 +0530

    Merge pull request #4 from vpshastry/better-peer-identification

    Better peer identification

commit e02275c52fb83c72ad082c098fd3e432c2b9c526
Merge: 75ee90d b890625
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Mon Jun 30 16:44:29 2014 +0530

    Merge branch 'better-peer-identification' of https://github.com/kshlm/glusterfs into better-peer-identification-kaushal-github

commit 75ee90d2f272e49b94d24c9ca4571e89a83055ff
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Mon Jun 30 15:36:10 2014 +0530

    glusterd: add to the list if the probed uuid pre-exists

    Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;

commit b890625d8164c660695daef3285c67979eef723e
Merge: 04c5d60 187a7a9
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jun 30 11:44:13 2014 +0530

    Merge remote-tracking branch 'origin/master' into better-peer-identification

commit 04c5d60cb938c8d94b214689580b40abb1b0ffcd
Merge: 3a5bfa1 e01edb6
Author: Kaushal M &lt;kshlmster@gmail.com&gt;
Date:   Sat Jun 28 19:23:33 2014 +0530

    Merge pull request #3 from vpshastry/better-peer-identification

    glusterd: search through the list of hostnames in the peerinfo

commit 0c64f3346a977f9165ac55a84a1e03c40a7573a7
Merge: e01edb6 3a5bfa1
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Sat Jun 28 10:43:29 2014 +0530

    Merge branch 'better-peer-identification' of https://github.com/kshlm/glusterfs into better-peer-identification-kaushal-github

commit e01edb63153a1008db70b8fa76ae5b535e099326
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Fri Jun 27 12:29:36 2014 +0530

    glusterd: search through the list of hostnames in the peerinfo

    Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;

commit 3a5bfa15855e660db2bfde644727371dd2d618cc
Merge: cda6d31 371ea35
Author: Kaushal M &lt;kshlmster@gmail.com&gt;
Date:   Fri Jun 27 11:31:17 2014 +0530

    Merge pull request #1 from vpshastry/better-peer-identification

    glusterd: Add hostname to list instead of replaceing upon update

commit 371ea354f198b4182382d5403c5960c0b2add6b6
Author: Varun Shastry &lt;vshastry@redhat.com&gt;
Date:   Fri Jun 27 11:24:54 2014 +0530

    glusterd: Add hostname to list instead of replaceing upon update

    Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;

commit cda6d3152886623ecbf46baf0048ebe0119b30b6
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 19:52:52 2014 +0530

    Import address lists

commit 6649b54aa0440130c08e827e0a1d1bbfb840eca9
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 19:15:37 2014 +0530

    Implement export address list

commit 55990034eead92bc9b936240029e460a4bf152d5
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 18:11:59 2014 +0530

    Use first address in list to when setting up the peer RPC.

commit a35fde8d19b9988eb04c652fb3a5e4f84d90ad00
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 18:03:04 2014 +0530

    Properly free addresses on glusterd_peer_destroy

commit 1988081db09ac9205f3dc7268cef8be267f3ce8b
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Thu Jun 26 17:52:35 2014 +0530

    Restore peerinfo with address list implemented.

commit 66f524d5749a12f4910dd6b06c9d91f37e1d831e
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon Jun 23 13:02:23 2014 +0530

    Move out all peer related utilities from glusterd-utils to glusterd-peer-utils

commit 14a2a326a4dff11b55490dca2a14f39320931340
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Tue May 27 12:16:41 2014 +0530

    Compilation fix

commit c59cd351d0a102d0d5f3ea9001fd33c4edcb262f
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Mon May 5 12:51:11 2014 +0530

    Add store support for hostname list

commit b70325f0beb884ad12645ef40185f0bf6cedd741
Author: Kaushal M &lt;kaushal@redhat.com&gt;
Date:   Fri May 2 15:58:07 2014 +0530

    Add a hostnames list to glusterd_peerinfo_t

    glusterd_peerinfo_new will now init this list and add the given hostname
    as the lists first member.

Signed-off-by: Kaushal M &lt;kaushal@redhat.com&gt;
Signed-off-by: Varun Shastry &lt;vshastry@redhat.com&gt;
Change-Id: Ief3c5d6d6f16571ee2fab0a45e638b9d6506a06e
BUG: 1119547
Reviewed-on: http://review.gluster.org/8238
Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Port server quorum messages to the gf_msg API</title>
<updated>2014-05-07T04:45:47+00:00</updated>
<author>
<name>Kaushal M</name>
<email>kaushal@redhat.com</email>
</author>
<published>2014-04-28T07:47:22+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=f9672386ac2e3da2dc5439eb0a3a53dfaa5181dd'/>
<id>f9672386ac2e3da2dc5439eb0a3a53dfaa5181dd</id>
<content type='text'>
Change-Id: I84716cc07f3cbd8c1b2825a5676d6693fed6fade
BUG: 1075611
Signed-off-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7578
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I84716cc07f3cbd8c1b2825a5676d6693fed6fade
BUG: 1075611
Signed-off-by: Kaushal M &lt;kaushal@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7578
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Tested-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: MacOSX Porting fixes</title>
<updated>2014-04-24T21:41:48+00:00</updated>
<author>
<name>Harshavardhana</name>
<email>harsha@harshavardhana.net</email>
</author>
<published>2014-04-17T22:54:34+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=a3cb38e3edf005bef73da4c9cfd958474a14d50f'/>
<id>a3cb38e3edf005bef73da4c9cfd958474a14d50f</id>
<content type='text'>
git@forge.gluster.org:~schafdog/glusterfs-core/osx-glusterfs

Working functionality on MacOSX

 - GlusterD (management daemon)
 - GlusterCLI (management cli)
 - GlusterFS FUSE (using OSXFUSE)
 - GlusterNFS (without NLM - issues with rpc.statd)

Change-Id: I20193d3f8904388e47344e523b3787dbeab044ac
BUG: 1089172
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Signed-off-by: Dennis Schafroth &lt;dennis@schafroth.com&gt;
Tested-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Tested-by: Dennis Schafroth &lt;dennis@schafroth.com&gt;
Reviewed-on: http://review.gluster.org/7503
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>
git@forge.gluster.org:~schafdog/glusterfs-core/osx-glusterfs

Working functionality on MacOSX

 - GlusterD (management daemon)
 - GlusterCLI (management cli)
 - GlusterFS FUSE (using OSXFUSE)
 - GlusterNFS (without NLM - issues with rpc.statd)

Change-Id: I20193d3f8904388e47344e523b3787dbeab044ac
BUG: 1089172
Signed-off-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Signed-off-by: Dennis Schafroth &lt;dennis@schafroth.com&gt;
Tested-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
Tested-by: Dennis Schafroth &lt;dennis@schafroth.com&gt;
Reviewed-on: http://review.gluster.org/7503
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>gluster: GlusterFS Volume Snapshot Feature</title>
<updated>2014-04-11T23:29:17+00:00</updated>
<author>
<name>Avra Sengupta</name>
<email>asengupt@redhat.com</email>
</author>
<published>2014-02-19T11:00:11+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=29bccc2ed18eedc40e83d2f0d35327037a322384'/>
<id>29bccc2ed18eedc40e83d2f0d35327037a322384</id>
<content type='text'>
This is the initial patch for the Snapshot feature. Current patch
includes following features:
* Snapshot create
* Snapshot delete
* Snapshot restore
* Snapshot list
* Snapshot info
* Snapshot status
* Snapshot config

Change-Id: I2f46920c0d61c515f6a60e0f8b46fff886d9f6a9
BUG: 1061685
Signed-off-by: shishir gowda &lt;sgowda@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Signed-off-by: Vijaikumar M &lt;vmallika@redhat.com&gt;
Signed-off-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Signed-off-by: Rajesh Joseph &lt;rjoseph@redhat.com&gt;
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Signed-off-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7128
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>
This is the initial patch for the Snapshot feature. Current patch
includes following features:
* Snapshot create
* Snapshot delete
* Snapshot restore
* Snapshot list
* Snapshot info
* Snapshot status
* Snapshot config

Change-Id: I2f46920c0d61c515f6a60e0f8b46fff886d9f6a9
BUG: 1061685
Signed-off-by: shishir gowda &lt;sgowda@redhat.com&gt;
Signed-off-by: Sachin Pandit &lt;spandit@redhat.com&gt;
Signed-off-by: Vijaikumar M &lt;vmallika@redhat.com&gt;
Signed-off-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Signed-off-by: Rajesh Joseph &lt;rjoseph@redhat.com&gt;
Signed-off-by: Joseph Fernandes &lt;josferna@redhat.com&gt;
Signed-off-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7128
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>glusterd: Volume locks and transaction specific opinfos</title>
<updated>2014-02-11T07:25:40+00:00</updated>
<author>
<name>Avra Sengupta</name>
<email>asengupt@redhat.com</email>
</author>
<published>2014-02-06T07:33:58+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=97ce783de326b51fcba65737f07db2c314d1e218'/>
<id>97ce783de326b51fcba65737f07db2c314d1e218</id>
<content type='text'>
With this patch we are replacing the existing cluster-wide
lock taken on glusterds across the cluster, with volume locks
which are also taken on glusterds across the cluster, but are
volume specific. So with the volume locks we are able to perform
more than one gluster operation at the same time, as long as the
operations are being performed on different volumes.

We maintain a global list of volume-locks (using a dict for a list)
where the key is the volume name, and which saves the uuid of the
originator glusterd. These locks are held and released per volume
transaction.

In order to acheive multiple gluster operations occuring at the
same time, we also separate opinfos in the op-state-machine, as a
part of this patch. To do so, we generate a unique transaction-id
(uuid) per gluster transaction. An opinfo is then associated with
this transaction id, which is used throughout the transaction. We
maintain a run-time global list(using a dict) of transaction-ids,
and their respective opinfos to achieve this.

Upstream Feature Page: http://www.gluster.org/community/documentation/index.php/Features/glusterd-volume-locks

Change-Id: Iaad505a854bac8de8f83beec0357eb6cde3f7ea8
BUG: 1011470
Signed-off-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5994
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>
With this patch we are replacing the existing cluster-wide
lock taken on glusterds across the cluster, with volume locks
which are also taken on glusterds across the cluster, but are
volume specific. So with the volume locks we are able to perform
more than one gluster operation at the same time, as long as the
operations are being performed on different volumes.

We maintain a global list of volume-locks (using a dict for a list)
where the key is the volume name, and which saves the uuid of the
originator glusterd. These locks are held and released per volume
transaction.

In order to acheive multiple gluster operations occuring at the
same time, we also separate opinfos in the op-state-machine, as a
part of this patch. To do so, we generate a unique transaction-id
(uuid) per gluster transaction. An opinfo is then associated with
this transaction id, which is used throughout the transaction. We
maintain a run-time global list(using a dict) of transaction-ids,
and their respective opinfos to achieve this.

Upstream Feature Page: http://www.gluster.org/community/documentation/index.php/Features/glusterd-volume-locks

Change-Id: Iaad505a854bac8de8f83beec0357eb6cde3f7ea8
BUG: 1011470
Signed-off-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5994
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>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='http://dev.gluster.org/cgit/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='http://dev.gluster.org/cgit/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>config: better (i.e. more portable) test for libxml2</title>
<updated>2013-03-25T21:50:25+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2013-03-25T12:22:16+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=544945a128b4de9c6b767939fb4c4c216b095d23'/>
<id>544945a128b4de9c6b767939fb4c4c216b095d23</id>
<content type='text'>
Over the weekend I tried to build on MacOS X¹ and ran into the following
issues:
1) The recent change to autogen.sh to test for pkg-config falls down.
2) After removing the pkg-config test in autogen.sh, w/o pkg-config the
   PKG_CHECK_MODULES macro invocation in configure[.ac] falls down. N.B.
   Solaris users run into this too, even through there's a (broken)
   pkg-config package that can be installed.
3) There are other problems in the code related to fuse that are beyond the
   scope of this.

It seems that pkg-config is only a requirement for the definition of the
PKG_CHECK_MODULES macro used to detect libxml2. Since this seems to be
inherently unportable — at least to MacOS X and Solaris — I'd like to:
A) Change the use of the PKG_CHECK_MODULES macro to the more portable
   AM_PATH_XML2 macro provided by the libxml2 package in
   /usr/.../share/aclocal/libxml.m4
2) Revisit the decision to add the check for pkg-config in autogen.sh in
   BZ 921817.

For now this is just an rfc. If people are agreeable I'll reenter this
change against BZ 921817.

¹Mountain Lion 10.8.3, XCode 4.6.1

Change-Id: I237b1ed8919088345b8fd943423b2a6ad289981b
BUG: 921817
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4720
Reviewed-by: Justin Clift &lt;jclift@redhat.com&gt;
Tested-by: Justin Clift &lt;jclift@redhat.com&gt;
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>
Over the weekend I tried to build on MacOS X¹ and ran into the following
issues:
1) The recent change to autogen.sh to test for pkg-config falls down.
2) After removing the pkg-config test in autogen.sh, w/o pkg-config the
   PKG_CHECK_MODULES macro invocation in configure[.ac] falls down. N.B.
   Solaris users run into this too, even through there's a (broken)
   pkg-config package that can be installed.
3) There are other problems in the code related to fuse that are beyond the
   scope of this.

It seems that pkg-config is only a requirement for the definition of the
PKG_CHECK_MODULES macro used to detect libxml2. Since this seems to be
inherently unportable — at least to MacOS X and Solaris — I'd like to:
A) Change the use of the PKG_CHECK_MODULES macro to the more portable
   AM_PATH_XML2 macro provided by the libxml2 package in
   /usr/.../share/aclocal/libxml.m4
2) Revisit the decision to add the check for pkg-config in autogen.sh in
   BZ 921817.

For now this is just an rfc. If people are agreeable I'll reenter this
change against BZ 921817.

¹Mountain Lion 10.8.3, XCode 4.6.1

Change-Id: I237b1ed8919088345b8fd943423b2a6ad289981b
BUG: 921817
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4720
Reviewed-by: Justin Clift &lt;jclift@redhat.com&gt;
Tested-by: Justin Clift &lt;jclift@redhat.com&gt;
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>glusterd: Moved the volume entry table to a separate file.</title>
<updated>2013-02-15T22:50:35+00:00</updated>
<author>
<name>Avra Sengupta</name>
<email>asengupt@redhat.com</email>
</author>
<published>2013-02-15T07:34:57+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=99fe09f4fa805ea23848c1ec56088ec1435e9015'/>
<id>99fe09f4fa805ea23848c1ec56088ec1435e9015</id>
<content type='text'>
Change-Id: I893f41bd505fc0e02aec1e71f7a6209759b24a89
BUG: 903478
Signed-off-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4517
Tested-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
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: I893f41bd505fc0e02aec1e71f7a6209759b24a89
BUG: 903478
Signed-off-by: Avra Sengupta &lt;asengupt@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4517
Tested-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
Reviewed-by: Kaushal M &lt;kaushal@redhat.com&gt;
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>
