<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators, branch v3.4.0qa3</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>cluster/dht: send ACCESS call on dir to first_up_subvol if cached is down</title>
<updated>2012-11-29T10:26:18+00:00</updated>
<author>
<name>shishir gowda</name>
<email>sgowda@redhat.com</email>
</author>
<published>2012-11-27T06:35:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c85a3eee54b4028573c905829d5b46c0b6512c56'/>
<id>c85a3eee54b4028573c905829d5b46c0b6512c56</id>
<content type='text'>
Change-Id: I4f518a969bbe3a11075e7c9ae10bd21bf059d5f3
BUG: 867253
Signed-off-by: shishir gowda &lt;sgowda@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4240
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4f518a969bbe3a11075e7c9ae10bd21bf059d5f3
BUG: 867253
Signed-off-by: shishir gowda &lt;sgowda@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4240
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep / gsyncd,glusterd: do not hardcode socket path</title>
<updated>2012-11-29T00:54:07+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2012-10-30T14:54:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f8c19b4c6af34b96747881bcb85cddb87484f08e'/>
<id>f8c19b4c6af34b96747881bcb85cddb87484f08e</id>
<content type='text'>
... in gsyncd python code. Indeed, use the configuration
mechanism to set it suitably from glusterd.

Change-Id: I9fe2088b14d28588d1e64fe892740cc5755b8365
BUG: 868877
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4143
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>
... in gsyncd python code. Indeed, use the configuration
mechanism to set it suitably from glusterd.

Change-Id: I9fe2088b14d28588d1e64fe892740cc5755b8365
BUG: 868877
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4143
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, cli: implement gluster system uuid reset command</title>
<updated>2012-11-29T00:28:55+00:00</updated>
<author>
<name>Raghavendra Bhat</name>
<email>raghavendra@redhat.com</email>
</author>
<published>2012-08-23T10:02:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fbfcb0ad2aac73c2b5ab8950770c1184352bbf24'/>
<id>fbfcb0ad2aac73c2b5ab8950770c1184352bbf24</id>
<content type='text'>
A commonly faced problem among glusterfs users is: after a fresh
installation of glusterfs in a virtual machine, the VM image is
cloned to make multiple instances of the server. This breaks
glusterd because right after glusterfs installation on the first
boot glusterd would have created the node UUID and this gets
inherited into the clone. The result is wierd behavior at the time
of peer probe where glusterd does not (yet) deal with UUID
collisions in a user friendly way.

To handle it gluster peer reset command is implemented which upon
execution changes the uuid of local glusterd.

Change-Id: If207dd2ad93ab94ef1a3253f409c21c442975f87
BUG: 811493
Signed-off-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-on: http://review.gluster.org/3637
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@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>
A commonly faced problem among glusterfs users is: after a fresh
installation of glusterfs in a virtual machine, the VM image is
cloned to make multiple instances of the server. This breaks
glusterd because right after glusterfs installation on the first
boot glusterd would have created the node UUID and this gets
inherited into the clone. The result is wierd behavior at the time
of peer probe where glusterd does not (yet) deal with UUID
collisions in a user friendly way.

To handle it gluster peer reset command is implemented which upon
execution changes the uuid of local glusterd.

Change-Id: If207dd2ad93ab94ef1a3253f409c21c442975f87
BUG: 811493
Signed-off-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-on: http://review.gluster.org/3637
Reviewed-by: Pranith Kumar Karampuri &lt;pkarampu@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: Protected conf-&gt;xprt_list racy access.</title>
<updated>2012-11-29T00:27:01+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2012-11-26T07:39:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fadc34e7ce82f9e7f98f20e995cb2bbf71a00b20'/>
<id>fadc34e7ce82f9e7f98f20e995cb2bbf71a00b20</id>
<content type='text'>
- epoll on RPCSVC_EVENT_ACCEPT would add corresponding xprt
  onto the xprt_list. Concurrently, synctask thread (volume op)
  would call into glusterd_fetchspec_notify which iterates on
  the xprt_list. Added a mutex to protect such a racy access of
  the list.

Change-Id: Idc51b4bdb1c814dfab7790e1c899d6977f7640f2
BUG: 878873
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4241
Reviewed-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- epoll on RPCSVC_EVENT_ACCEPT would add corresponding xprt
  onto the xprt_list. Concurrently, synctask thread (volume op)
  would call into glusterd_fetchspec_notify which iterates on
  the xprt_list. Added a mutex to protect such a racy access of
  the list.

Change-Id: Idc51b4bdb1c814dfab7790e1c899d6977f7640f2
BUG: 878873
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4241
Reviewed-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-replication: catch select.error on select()</title>
<updated>2012-11-29T00:23:49+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2012-11-26T16:44:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=15bf92d53c72774e2fd7aba146644a2e460e543f'/>
<id>15bf92d53c72774e2fd7aba146644a2e460e543f</id>
<content type='text'>
tailer() in resource.py does not correctly catch exceptions from
select(). select() can raise an instance of the select.error class and
the current expression only catches ValueError (and the instance will
have reference called selecterror).

The geo-rep log contains a call trace like this:
&gt; E [syncdutils:190:log_raise_exception] &lt;top&gt;: FAIL:
&gt; Traceback (most recent call last):
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 216, in twrap
&gt; tf(*aa)
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 123, in tailer
&gt; poe, _ ,_ = select([po.stderr for po in errstore], [], [], 1)
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 276, in select
&gt; return eintr_wrap(oselect.select, oselect.error, *a)
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 269, in eintr_wrap
&gt; return func(*a)
&gt; error: (9, 'Bad file descriptor')

BUG: 880308
Change-Id: I2babe42918950d0e9ddb3d08fa21aa3548ccf7c5
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4233
Reviewed-by: Peter Portante &lt;pportant@redhat.com&gt;
Reviewed-by: Csaba Henk &lt;csaba@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tailer() in resource.py does not correctly catch exceptions from
select(). select() can raise an instance of the select.error class and
the current expression only catches ValueError (and the instance will
have reference called selecterror).

The geo-rep log contains a call trace like this:
&gt; E [syncdutils:190:log_raise_exception] &lt;top&gt;: FAIL:
&gt; Traceback (most recent call last):
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 216, in twrap
&gt; tf(*aa)
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 123, in tailer
&gt; poe, _ ,_ = select([po.stderr for po in errstore], [], [], 1)
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 276, in select
&gt; return eintr_wrap(oselect.select, oselect.error, *a)
&gt; File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 269, in eintr_wrap
&gt; return func(*a)
&gt; error: (9, 'Bad file descriptor')

BUG: 880308
Change-Id: I2babe42918950d0e9ddb3d08fa21aa3548ccf7c5
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4233
Reviewed-by: Peter Portante &lt;pportant@redhat.com&gt;
Reviewed-by: Csaba Henk &lt;csaba@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol/client: add an option to filter O_DIRECT flag in open</title>
<updated>2012-11-28T11:37:03+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amarts@redhat.com</email>
</author>
<published>2012-11-19T10:59:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c6570de4d5ba090cfb4bb9d2b0390f2526ed0636'/>
<id>c6570de4d5ba090cfb4bb9d2b0390f2526ed0636</id>
<content type='text'>
with the option, the idea is all client-side caching will be disabled,
where as on server side process, the fd will be treated as a regular
fd, thus helping the performance better.

"gluster volume set &lt;VOLNAME&gt; remote-dio enable" would set
this option in client protocol volumes.

Change-Id: Id2255a167137f8fee20849513e3011274dc829b4
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
BUG: 845213
Reviewed-on: http://review.gluster.org/4206
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 the option, the idea is all client-side caching will be disabled,
where as on server side process, the fd will be treated as a regular
fd, thus helping the performance better.

"gluster volume set &lt;VOLNAME&gt; remote-dio enable" would set
this option in client protocol volumes.

Change-Id: Id2255a167137f8fee20849513e3011274dc829b4
Signed-off-by: Amar Tumballi &lt;amarts@redhat.com&gt;
BUG: 845213
Reviewed-on: http://review.gluster.org/4206
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-sync shouldn't validate volume-id</title>
<updated>2012-11-28T07:28:00+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2012-10-30T04:53:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=cee1b62d013cfb164f2a014919721c920c06514a'/>
<id>cee1b62d013cfb164f2a014919721c920c06514a</id>
<content type='text'>
- volume sync would overwrite volume information on local node
  from the hostname supplied. This warning is provided to the user.

- Also fixed a double free in volume-sync handler.

Change-Id: Icc68d9d563fb50ca58d5880921f063692e1e6882
BUG: 865700
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4188
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- volume sync would overwrite volume information on local node
  from the hostname supplied. This warning is provided to the user.

- Also fixed a double free in volume-sync handler.

Change-Id: Icc68d9d563fb50ca58d5880921f063692e1e6882
BUG: 865700
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4188
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/locks: implement fgetxattr and fsetxattr</title>
<updated>2012-11-28T06:54:27+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2012-10-17T10:40:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8fd4aa74149411ab739e2075e1f7c0709b8a0342'/>
<id>8fd4aa74149411ab739e2075e1f7c0709b8a0342</id>
<content type='text'>
implement xattrs for GF_XATTR_LOCKINFO_KEY, which will be used
for posix-locks migration from old to new graph after a switch.

fgetxattr (fd, GF_XATTR_LOCKINFO_KEY) will return a dict.
This dict has a serialized dict stored for key
GF_XATTR_LOCKINFO_KEY. This serialized dict in turn has fdnum
value of locks acquired on this fd with modified pathinfo
(containing hostname and base directory components) as key.

fsetxattr (newfd, GF_XATTR_LOCKINFO_KEY, dict) has following
semantics. dict can be the result of a previous fgetxattr with
GF_XATTR_LOCKINFO_KEY. In that case, a dict_get on dict
constructed using serialized buffer is done on modified pathinfo
as key. If a value is got, that value is treated as fdnum and for
every lock l on newfd-&gt;inode we do,
      if (l-&gt;fdnum == fdnum) {
         l-&gt;fdnum = fd_fdnum (newfd);
         l-&gt;transport = &lt;connection identifier of connection on which fsetxattr came&gt;;
      }

Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Change-Id: I73a8f43aa0b6077bc19f8de52205ba748f2d8bbe
BUG: 808400
Reviewed-on: http://review.gluster.org/4120
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
implement xattrs for GF_XATTR_LOCKINFO_KEY, which will be used
for posix-locks migration from old to new graph after a switch.

fgetxattr (fd, GF_XATTR_LOCKINFO_KEY) will return a dict.
This dict has a serialized dict stored for key
GF_XATTR_LOCKINFO_KEY. This serialized dict in turn has fdnum
value of locks acquired on this fd with modified pathinfo
(containing hostname and base directory components) as key.

fsetxattr (newfd, GF_XATTR_LOCKINFO_KEY, dict) has following
semantics. dict can be the result of a previous fgetxattr with
GF_XATTR_LOCKINFO_KEY. In that case, a dict_get on dict
constructed using serialized buffer is done on modified pathinfo
as key. If a value is got, that value is treated as fdnum and for
every lock l on newfd-&gt;inode we do,
      if (l-&gt;fdnum == fdnum) {
         l-&gt;fdnum = fd_fdnum (newfd);
         l-&gt;transport = &lt;connection identifier of connection on which fsetxattr came&gt;;
      }

Signed-off-by: Raghavendra G &lt;raghavendra@gluster.com&gt;
Change-Id: I73a8f43aa0b6077bc19f8de52205ba748f2d8bbe
BUG: 808400
Reviewed-on: http://review.gluster.org/4120
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cluster/stripe: handle GF_XATTR_LOCKINFO_KEY in f(get)(set)xattr</title>
<updated>2012-11-28T06:44:40+00:00</updated>
<author>
<name>Raghavendra</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2012-10-23T07:46:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=228f0ea02b259b2a80edc9f92c2508635085f871'/>
<id>228f0ea02b259b2a80edc9f92c2508635085f871</id>
<content type='text'>
Change-Id: I4463006a7f54c05e757d877c56e1330fd91aec45
BUG: 808400
Signed-off-by: Raghavendra &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/4125
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: I4463006a7f54c05e757d877c56e1330fd91aec45
BUG: 808400
Signed-off-by: Raghavendra &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/4125
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>cluster/distribute: send getxattr on LOCKINFO to only cached subvolumes.</title>
<updated>2012-11-28T06:43:57+00:00</updated>
<author>
<name>Raghavendra</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2012-10-23T06:02:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=da0972232e97e761a839d9db9bbe7a04c6ff13e9'/>
<id>da0972232e97e761a839d9db9bbe7a04c6ff13e9</id>
<content type='text'>
lk is sent to only cached subvolume. Hence there is no point in
sending LOCKINFO to other children (even in case of directories).

Change-Id: Ia20fc358dfa84cee9a52d1f613564ff6f25aa0c9
BUG: 808400
Signed-off-by: Raghavendra &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/4123
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>
lk is sent to only cached subvolume. Hence there is no point in
sending LOCKINFO to other children (even in case of directories).

Change-Id: Ia20fc358dfa84cee9a52d1f613564ff6f25aa0c9
BUG: 808400
Signed-off-by: Raghavendra &lt;raghavendra@gluster.com&gt;
Reviewed-on: http://review.gluster.org/4123
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
