<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/performance, branch v2.0.4</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>write-behind: set default window-size to 1MB.</title>
<updated>2009-07-08T00:30:08+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@zresearch.com</email>
</author>
<published>2009-06-30T01:14:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e54d471444274879a65efaea19f0b69fb0e78b5e'/>
<id>e54d471444274879a65efaea19f0b69fb0e78b5e</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>performance/write-behind - bug fix in open() and create().</title>
<updated>2009-07-02T17:14:48+00:00</updated>
<author>
<name>Basavanagowda Kanur</name>
<email>gowda@gluster.com</email>
</author>
<published>2009-07-02T01:55:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1a79ea17f77a99471205e8ddb10a94dce80eb7b2'/>
<id>1a79ea17f77a99471205e8ddb10a94dce80eb7b2</id>
<content type='text'>
open() &amp; create() calls should reset frame-&gt;local to NULL.

bz# 104

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
open() &amp; create() calls should reset frame-&gt;local to NULL.

bz# 104

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>enhancement in write-behind</title>
<updated>2009-06-30T23:10:34+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2009-06-30T17:34:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=095caa8feb992459781c992c843f34c98c5bd607'/>
<id>095caa8feb992459781c992c843f34c98c5bd607</id>
<content type='text'>
Write calls should not be pushed to background only when the
mandatory locking is enabled, in all other cases (eg: O_SYNC,
O_DIRECT etc), we should not be 'caching' any data, but the
calls can be pushed to the background

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Write calls should not be pushed to background only when the
mandatory locking is enabled, in all other cases (eg: O_SYNC,
O_DIRECT etc), we should not be 'caching' any data, but the
calls can be pushed to the background

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>read-ahead: return with error code EBADF for fops on fds without file set in their context.</title>
<updated>2009-06-11T13:29:17+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@zresearch.com</email>
</author>
<published>2009-06-04T06:14:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=100a64f457a901bffe6d2d6d3b258fa193cb8517'/>
<id>100a64f457a901bffe6d2d6d3b258fa193cb8517</id>
<content type='text'>
- since a successful open/create will _always_ set a pointer to ra_file_t in
     context of fd, this fix makes sense.
   - an example of operations on bad fd can be afr sending read on the child
     which was down during open.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- since a successful open/create will _always_ set a pointer to ra_file_t in
     context of fd, this fix makes sense.
   - an example of operations on bad fd can be afr sending read on the child
     which was down during open.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>read-ahead: unwind with a return value of -1 and error code of ENOMEM on memory allocation for ra_file in open/create</title>
<updated>2009-06-11T13:29:17+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@zresearch.com</email>
</author>
<published>2009-06-04T06:13:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=bf76a04af4862554d6163c43a863afb59a39aafe'/>
<id>bf76a04af4862554d6163c43a863afb59a39aafe</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>removed unused option 'page-size' in io-cache</title>
<updated>2009-06-09T16:33:55+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2009-05-29T16:08:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=5219af500d6c4c39b95b09329de9426f97156d65'/>
<id>5219af500d6c4c39b95b09329de9426f97156d65</id>
<content type='text'>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>io-cache: prevent frames from getting woken up while page is getting validated</title>
<updated>2009-06-03T10:37:50+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2009-05-29T13:52:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=458783bc7a21cd52dd4d3af7fe3059c76b6c0d3d'/>
<id>458783bc7a21cd52dd4d3af7fe3059c76b6c0d3d</id>
<content type='text'>
1. A page will be put on the inode waitq if the 'freshness' has to be verified with an fstat()

2. while the fstat is in transit, other calls (like lookup) can update ioc_inode-&gt;tv, resetting the freshness (page still on inode waitq)

3. Another read request on the same page, after the updated freshness, will wake up the page frames neglecting the fact that the page is also waiting on the inode (waiting for the fstat completion)

4. once the page's frames are woken, the page becomes elegible for purging and can get destroyed for various reasons, leaving a destroyed page pointer in the inode's waitq

5. fstat returns and hits the destroyed page pointer causing a crash

The fix is to all together disable cache hits when any page of the same inode is under validation. The otherwise cache hit will now be subjected to the ongoing validation by getting queued to the inode waitq.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. A page will be put on the inode waitq if the 'freshness' has to be verified with an fstat()

2. while the fstat is in transit, other calls (like lookup) can update ioc_inode-&gt;tv, resetting the freshness (page still on inode waitq)

3. Another read request on the same page, after the updated freshness, will wake up the page frames neglecting the fact that the page is also waiting on the inode (waiting for the fstat completion)

4. once the page's frames are woken, the page becomes elegible for purging and can get destroyed for various reasons, leaving a destroyed page pointer in the inode's waitq

5. fstat returns and hits the destroyed page pointer causing a crash

The fix is to all together disable cache hits when any page of the same inode is under validation. The otherwise cache hit will now be subjected to the ongoing validation by getting queued to the inode waitq.

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>symlink-cache: fix return value of readlink</title>
<updated>2009-05-07T07:22:45+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@zresearch.com</email>
</author>
<published>2009-05-06T12:40:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fd2e7d9ebb94ccf5faf5c9d9891978e09fce0b05'/>
<id>fd2e7d9ebb94ccf5faf5c9d9891978e09fce0b05</id>
<content type='text'>
- sc_readlink wrongly returned strlen (link) + 1 when link was present in
    cache.
  - this fixes rt #828. Since fuse_readlink_cbk does link[op_ret] = '\0', there
    was a memory corruption.

Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- sc_readlink wrongly returned strlen (link) + 1 when link was present in
    cache.
  - this fixes rt #828. Since fuse_readlink_cbk does link[op_ret] = '\0', there
    was a memory corruption.

Signed-off-by: Anand V. Avati &lt;avati@amp.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>log level fixes in read-ahead</title>
<updated>2009-05-05T14:40:44+00:00</updated>
<author>
<name>Anand V. Avati</name>
<email>avati@amp.gluster.com</email>
</author>
<published>2009-05-05T14:34:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3f3dea5f23e2b49ac8ad14bf8dd34dfadf6a72f5'/>
<id>3f3dea5f23e2b49ac8ad14bf8dd34dfadf6a72f5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>io-cache logging level fixes</title>
<updated>2009-05-05T14:40:38+00:00</updated>
<author>
<name>Anand V. Avati</name>
<email>avati@amp.gluster.com</email>
</author>
<published>2009-05-05T13:49:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f62628af61f5ef72c6af2b807c1bba71f291a366'/>
<id>f62628af61f5ef72c6af2b807c1bba71f291a366</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
