<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/api/src, branch v3.4.2qa1</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>gfapi: remove unnecessary call to glfs_resolve_base()</title>
<updated>2013-11-26T19:02:17+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-10-22T03:29:07+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=28ae39e94092ce853a114ee9186fbf8f0f1e6adb'/>
<id>28ae39e94092ce853a114ee9186fbf8f0f1e6adb</id>
<content type='text'>
Calling glfs_resolve_base() on the root inode for every resolver
invocation is unnecessary and wasteful.

Here are the results from running a test program which performs
path based operations (creates and deletes 1000 files):

Without patch:
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m4.314s
user    0m1.923s
sys     0m1.144s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m4.383s
user    0m1.940s
sys     0m1.177s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m4.339s
user    0m1.863s
sys     0m1.129s

With patch:

[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m3.005s
user    0m1.162s
sys     0m0.816s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m3.188s
user    0m1.222s
sys     0m0.867s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m2.999s
user    0m1.131s
sys     0m0.832s

Change-Id: Id160a24f44b4dccfcfce99a6f69ddb8938523cd5
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6321
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Calling glfs_resolve_base() on the root inode for every resolver
invocation is unnecessary and wasteful.

Here are the results from running a test program which performs
path based operations (creates and deletes 1000 files):

Without patch:
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m4.314s
user    0m1.923s
sys     0m1.144s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m4.383s
user    0m1.940s
sys     0m1.177s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m4.339s
user    0m1.863s
sys     0m1.129s

With patch:

[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m3.005s
user    0m1.162s
sys     0m0.816s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m3.188s
user    0m1.222s
sys     0m0.867s
[root@blackbox ~]# sync
[root@blackbox ~]# time ./a.out 1

real    0m2.999s
user    0m1.131s
sys     0m0.832s

Change-Id: Id160a24f44b4dccfcfce99a6f69ddb8938523cd5
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6321
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfapi: use native STACK_WIND for read _async() calls</title>
<updated>2013-11-26T19:02:01+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-09-11T07:49:57+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=24e4b5d12be5d92a4e5c3167372f88cd3dfa720a'/>
<id>24e4b5d12be5d92a4e5c3167372f88cd3dfa720a</id>
<content type='text'>
There is little value in using synctask wrappers for async IO
requests, as STACK_WIND is asynchronous by nature already.

Skip going through synctask for read/write async calls.

Change-Id: Ifde331d7c97e0f33426da6ef4377c5ba70dddc06
BUG: 1009134
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6325
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is little value in using synctask wrappers for async IO
requests, as STACK_WIND is asynchronous by nature already.

Skip going through synctask for read/write async calls.

Change-Id: Ifde331d7c97e0f33426da6ef4377c5ba70dddc06
BUG: 1009134
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6325
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfapi: Fix iobuf leaks in gfapi</title>
<updated>2013-11-26T18:39:39+00:00</updated>
<author>
<name>Poornima</name>
<email>pgurusid@redhat.com</email>
</author>
<published>2013-10-11T04:06:56+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fdf3d652acbbe6aa145b7dccd193392b9d1581bd'/>
<id>fdf3d652acbbe6aa145b7dccd193392b9d1581bd</id>
<content type='text'>
In glfs_readv, if syncop_readv() fails with return value &lt;= 0
the iobref was not being unrefd which would cause iobuf leaks.

Change-Id: I9850ae149e53cf75ba26f8b5f4c5446cce4b5991
BUG: 1018176
Signed-off-by: Poornima &lt;pgurusid@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6324
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>
In glfs_readv, if syncop_readv() fails with return value &lt;= 0
the iobref was not being unrefd which would cause iobuf leaks.

Change-Id: I9850ae149e53cf75ba26f8b5f4c5446cce4b5991
BUG: 1018176
Signed-off-by: Poornima &lt;pgurusid@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6324
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>gfapi: wake migration waiters after migration</title>
<updated>2013-11-26T18:38:26+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-10-14T06:15:48+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=a15edf06b1cf481b459bfc4ee346624b688f6b7d'/>
<id>a15edf06b1cf481b459bfc4ee346624b688f6b7d</id>
<content type='text'>
Wake call threads which are waiting on migration to complete with
a cond_broadcast. Else if any call which arrives right when migration
is attempted will end up hanging indefinitely.

Change-Id: I7df5298f93998d9a54fb12c16654e62333018ece
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6323
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>
Wake call threads which are waiting on migration to complete with
a cond_broadcast. Else if any call which arrives right when migration
is attempted will end up hanging indefinitely.

Change-Id: I7df5298f93998d9a54fb12c16654e62333018ece
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6323
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>gfapi: fix return value of glfs_fini</title>
<updated>2013-10-30T22:21:50+00:00</updated>
<author>
<name>Krishnan Parthasarathi</name>
<email>kparthas@redhat.com</email>
</author>
<published>2013-10-15T19:26:01+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=56be81f0e06b6158da86328d293fbb09d711791d'/>
<id>56be81f0e06b6158da86328d293fbb09d711791d</id>
<content type='text'>
Change-Id: I5b90c7602334226a978bbdae2f9516e8701b403f
BUG: 1004519
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6093
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: I5b90c7602334226a978bbdae2f9516e8701b403f
BUG: 1004519
Signed-off-by: Krishnan Parthasarathi &lt;kparthas@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6093
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>gfapi: implement a minimial glfs_fini()</title>
<updated>2013-09-19T21:28:50+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-08-29T01:05:03+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=35b09786463629352ba10657a7888bc7da918474'/>
<id>35b09786463629352ba10657a7888bc7da918474</id>
<content type='text'>
At the very least, we should PARENT_DOWN on the currently active
graph and disconnect ourselves from glusterd.

Further cleanups underway.

Change-Id: I9276686a84b0975b5ce272b4cbec1b80920d5c5c
BUG: 1004519
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5903
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the very least, we should PARENT_DOWN on the currently active
graph and disconnect ourselves from glusterd.

Further cleanups underway.

Change-Id: I9276686a84b0975b5ce272b4cbec1b80920d5c5c
BUG: 1004519
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5903
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfapi: fix for not able to rename folders</title>
<updated>2013-09-10T08:24:58+00:00</updated>
<author>
<name>Raghavendra Talur</name>
<email>rtalur@redhat.com</email>
</author>
<published>2013-07-16T10:28:03+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=a3a704f369440d42acd0eb8d86cd07e2852980b7'/>
<id>a3a704f369440d42acd0eb8d86cd07e2852980b7</id>
<content type='text'>
If oldname is being renamed to newname, we need to
check for type of newname only if newname exists.

Change-Id: I068a283f9ffe67fcd5e8754d6bf052a2339efbf2
BUG: 953694
Signed-off-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5886
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>
If oldname is being renamed to newname, we need to
check for type of newname only if newname exists.

Change-Id: I068a283f9ffe67fcd5e8754d6bf052a2339efbf2
BUG: 953694
Signed-off-by: Raghavendra Talur &lt;rtalur@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5886
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>gfapi: fix glfs_readlink()</title>
<updated>2013-09-10T08:24:37+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-07-22T08:15:21+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=5159d29cf36153d874ee446805419c864c1ba1ee'/>
<id>5159d29cf36153d874ee446805419c864c1ba1ee</id>
<content type='text'>
glfs_readlink() is supposed to memcpy the buffer pointer
returned by syncop_readlink(). Fix it.

Change-Id: I5936b07abbd93cf02b354233dc60f6623e30a38b
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5885
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>
glfs_readlink() is supposed to memcpy the buffer pointer
returned by syncop_readlink(). Fix it.

Change-Id: I5936b07abbd93cf02b354233dc60f6623e30a38b
BUG: 953694
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5885
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>gfapi: perform open() on pre-existing inode in glfs_creat()</title>
<updated>2013-09-10T08:23:17+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-07-22T17:02:34+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=2cd2532e149847771319ad56b8b745f0f38c0bd4'/>
<id>2cd2532e149847771319ad56b8b745f0f38c0bd4</id>
<content type='text'>
Performing syncop_create() on a pre-existing file can result
in opening the linkfile if DHT has a linkfile for the file.
This is because dht_create() will perform the op on the
hashed_subvol() and overwrite the layout in dht_create_cbk.

Change-Id: I7a0db56921ec9fc3e278e0418db3b967f81e5598
BUG: 990410
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5884
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>
Performing syncop_create() on a pre-existing file can result
in opening the linkfile if DHT has a linkfile for the file.
This is because dht_create() will perform the op on the
hashed_subvol() and overwrite the layout in dht_create_cbk.

Change-Id: I7a0db56921ec9fc3e278e0418db3b967f81e5598
BUG: 990410
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5884
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>libgfapi : Fix for hardlink creation on SMB mount</title>
<updated>2013-09-10T08:22:14+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-08-09T18:12:29+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=77a7ae0fbf5bf1a0eaa2d18a31bd0c6ef1913ef8'/>
<id>77a7ae0fbf5bf1a0eaa2d18a31bd0c6ef1913ef8</id>
<content type='text'>
Previously the inode of the hard link was left uninitialised hence
glfs_loc_link() used to fail with invalid parameter.Since inode is
same for both the files in hard link creation,   updated the inode
field of hard link to be same as that of the original file.

Change-Id: Ifd6439867d982524a7b48bf3f6add6e844b3c4c1
BUG: 996063
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5882
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>
Previously the inode of the hard link was left uninitialised hence
glfs_loc_link() used to fail with invalid parameter.Since inode is
same for both the files in hard link creation,   updated the inode
field of hard link to be same as that of the original file.

Change-Id: Ifd6439867d982524a7b48bf3f6add6e844b3c4c1
BUG: 996063
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5882
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>
