<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/performance/Makefile.am, branch v3.4.4beta1</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>open-behind: translator to perform open calls in background</title>
<updated>2013-02-06T21:16:08+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-01-22T00:37:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=45c04e107c365d29ca9872b5e2d12c932bf43a24'/>
<id>45c04e107c365d29ca9872b5e2d12c932bf43a24</id>
<content type='text'>
This is functionality peeled out of quick-read into a separate
translator.

Fops which modify the file (where it is required to perform the
operation on the true fd) will trigger and wait for the backend
open to succeed and use that fd.

Fops like fstat() readv() etc. will use anonymous FD (configurable)
when original fd is unopened at the backend.

Change-Id: Id9847fdbfdc82c1c8e956339156b6572539c1876
BUG: 846240
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4406
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is functionality peeled out of quick-read into a separate
translator.

Fops which modify the file (where it is required to perform the
operation on the true fd) will trigger and wait for the backend
open to succeed and use that fd.

Fops like fstat() readv() etc. will use anonymous FD (configurable)
when original fd is unopened at the backend.

Change-Id: Id9847fdbfdc82c1c8e956339156b6572539c1876
BUG: 846240
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4406
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Raghavendra Bhat &lt;raghavendra@redhat.com&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>md-cache: replace stat-prefetch with md-cache in a backward compatible way</title>
<updated>2012-02-21T05:14:49+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2012-02-02T18:46:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8456c28af75a4083286fc6ceadc03f2703f4c9b6'/>
<id>8456c28af75a4083286fc6ceadc03f2703f4c9b6</id>
<content type='text'>
- preserve CLI set option key as "performance.stat-prefetch"
- create a symlink stat-prefetch.so to point to md-cache.so

Change-Id: Ib95e7c30073f13ae04c39e9466967ba1db5a0614
BUG: 765785
Reviewed-on: http://review.gluster.com/2714
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>
- preserve CLI set option key as "performance.stat-prefetch"
- create a symlink stat-prefetch.so to point to md-cache.so

Change-Id: Ib95e7c30073f13ae04c39e9466967ba1db5a0614
BUG: 765785
Reviewed-on: http://review.gluster.com/2714
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>md-cache: meta-data caching translator</title>
<updated>2012-02-21T05:14:28+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2011-09-24T10:44:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c41a9d1c3fe4002bdf8849c4e8ae7c2e10841c69'/>
<id>c41a9d1c3fe4002bdf8849c4e8ae7c2e10841c69</id>
<content type='text'>
This is a metadata caching translator which is well integrated with
glusterfs core framework and leverages some of the recent protocol
changes to do a better job at caching.

- It uses the attributes returned along callbacks of all calls to
  update its attribute cache as frequently as possible without
  issuing calls on its own (i.e, very low overhead)

- It caches attributes returned via readdirp into the inode contexts
  corresponding to those entries (i.e, well integrated)

- It caches and updates xattrs and not just inode attributes (i.e,
  eliminates the need for a separate xattr-prefetch translator)

In its current form it has a timeout based consistency model

Change-Id: I891f6225c1a4c08bb111e287571d5f6d326dbe97
BUG: 765785
Reviewed-on: http://review.gluster.com/2713
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>
This is a metadata caching translator which is well integrated with
glusterfs core framework and leverages some of the recent protocol
changes to do a better job at caching.

- It uses the attributes returned along callbacks of all calls to
  update its attribute cache as frequently as possible without
  issuing calls on its own (i.e, very low overhead)

- It caches attributes returned via readdirp into the inode contexts
  corresponding to those entries (i.e, well integrated)

- It caches and updates xattrs and not just inode attributes (i.e,
  eliminates the need for a separate xattr-prefetch translator)

In its current form it has a timeout based consistency model

Change-Id: I891f6225c1a4c08bb111e287571d5f6d326dbe97
BUG: 765785
Reviewed-on: http://review.gluster.com/2713
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>rewriting stat-prefetch translator</title>
<updated>2009-09-08T08:40:54+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@gluster.com</email>
</author>
<published>2009-08-23T22:28:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=bcd092a21f4284277a7f59c58715bb253ed90ff7'/>
<id>bcd092a21f4284277a7f59c58715bb253ed90ff7</id>
<content type='text'>
- stat-prefetch aims to optimize operations like 'ls -l' where a readdir
   is immediately followed by stat calls on each of the directory entry read.
   More details on design can be found in doc/stat-prefetch-design.txt

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- stat-prefetch aims to optimize operations like 'ls -l' where a readdir
   is immediately followed by stat calls on each of the directory entry read.
   More details on design can be found in doc/stat-prefetch-design.txt

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
</pre>
</div>
</content>
</entry>
<entry>
<title>Implementing quick-read translator.</title>
<updated>2009-07-16T07:37:44+00:00</updated>
<author>
<name>Raghavendra G</name>
<email>raghavendra@zresearch.com</email>
</author>
<published>2009-07-09T00:25:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1b4e68977c43b8d432d28d7301add35b01464ae5'/>
<id>1b4e68977c43b8d432d28d7301add35b01464ae5</id>
<content type='text'>
lookup can fetch the entire file in xattr dictionary using the key
"glusterfs.content". We set the maximum size of the file that can
be fetched so in the xattr_req dictionary using the same key. If file-size
is less than or equal to the value set in dictionary, the content is stored
in the dictionary using same key in lookup_cbk.

For small files, we can do an optimization wherein we do not really send the
calls open, read and close to the storage translators. Instead there can be
an xlator which fakes open, read and close calls. For reads, it sends the data
it has cached during lookup and hence saving the time for open, read and close
calls to reach storage translators (this time can be significant if calls have
to go through network to reach storage translator).

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>
lookup can fetch the entire file in xattr dictionary using the key
"glusterfs.content". We set the maximum size of the file that can
be fetched so in the xattr_req dictionary using the same key. If file-size
is less than or equal to the value set in dictionary, the content is stored
in the dictionary using same key in lookup_cbk.

For small files, we can do an optimization wherein we do not really send the
calls open, read and close to the storage translators. Instead there can be
an xlator which fakes open, read and close calls. For reads, it sends the data
it has cached during lookup and hence saving the time for open, read and close
calls to reach storage translators (this time can be significant if calls have
to go through network to reach storage translator).

Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Added all files</title>
<updated>2009-02-18T12:06:07+00:00</updated>
<author>
<name>Vikas Gorur</name>
<email>vikas@zresearch.com</email>
</author>
<published>2009-02-18T12:06:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=77adf4cd648dce41f89469dd185deec6b6b53a0b'/>
<id>77adf4cd648dce41f89469dd185deec6b6b53a0b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
