<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/cluster/dht/src/dht-common.h, branch v3.1.0prealpha4</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>dht enhancements</title>
<updated>2010-07-27T08:20:04+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2010-07-26T06:13:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=667b2496c3f29e24ed359a05b0f44df0d1894969'/>
<id>667b2496c3f29e24ed359a05b0f44df0d1894969</id>
<content type='text'>
* create(filename@&lt;distribute-volume-name&gt;-&lt;subvol-name&gt;), will
  create the file in corresponding subvol of dht.
* same for unlink()

same logic can be extended to other fops if there is a need

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

BUG: 1200 (enhance distribute with hooks so lot of debugging can be done online)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1200
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* create(filename@&lt;distribute-volume-name&gt;-&lt;subvol-name&gt;), will
  create the file in corresponding subvol of dht.
* same for unlink()

same logic can be extended to other fops if there is a need

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

BUG: 1200 (enhance distribute with hooks so lot of debugging can be done online)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1200
</pre>
</div>
</content>
</entry>
<entry>
<title>proper way to do defrag of a mountpoint</title>
<updated>2010-07-14T21:44:26+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2010-07-14T13:58:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=654a720eed0bc5faaeeaa4eb34f1cfc10df76230'/>
<id>654a720eed0bc5faaeeaa4eb34f1cfc10df76230</id>
<content type='text'>
Usage: "glusterfs-defrag &lt;MOUNTPOINT&gt;"

there are new features added to distribute with this patch:

* bash# getfattr -n trusted.distribute.linkinfo &lt;file&gt;
  Gives output in the format "&lt;hostname&gt;:&lt;directory&gt;", if there is a
  linkfile present, where hostname is server, directory is backend
  directory where the actual linkfile is present.

* bash# getfattr -n trusted.glusterfs.pathinfo &lt;path&gt;
  Gives layout information if directory, and info about actual
  location of file in backend servers, in the form of
  'hostname:directory'. (TODO: should extend it to all xlators)

* bash# getfattr -n trusted.distribute.fix.layout &lt;path&gt;
  scales out the directory layout in distribute, so when new
  servers are added, layouts are fixed to include them.

* removed 'scale-n-defrag.sh' as its no more required.

* changed 'defrag.sh' to have a feature to specify target bricks,
  so defrag happens to only those nodes. moved the file to
  'glusterfs-defrag', which now gets installed to '${prefix}/bin'

* storage/posix:
  takes new option 'hostname' so it can resolve to same hostname
  given during 'gluster volume create'.
  with 'trusted.glusterfs.pathinfo' posix returns the value in
  'hostname:real_path' format.

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

BUG: 1073 ('gluster defrag &lt;VOLNAME&gt;' fails in mainline)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1073
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Usage: "glusterfs-defrag &lt;MOUNTPOINT&gt;"

there are new features added to distribute with this patch:

* bash# getfattr -n trusted.distribute.linkinfo &lt;file&gt;
  Gives output in the format "&lt;hostname&gt;:&lt;directory&gt;", if there is a
  linkfile present, where hostname is server, directory is backend
  directory where the actual linkfile is present.

* bash# getfattr -n trusted.glusterfs.pathinfo &lt;path&gt;
  Gives layout information if directory, and info about actual
  location of file in backend servers, in the form of
  'hostname:directory'. (TODO: should extend it to all xlators)

* bash# getfattr -n trusted.distribute.fix.layout &lt;path&gt;
  scales out the directory layout in distribute, so when new
  servers are added, layouts are fixed to include them.

* removed 'scale-n-defrag.sh' as its no more required.

* changed 'defrag.sh' to have a feature to specify target bricks,
  so defrag happens to only those nodes. moved the file to
  'glusterfs-defrag', which now gets installed to '${prefix}/bin'

* storage/posix:
  takes new option 'hostname' so it can resolve to same hostname
  given during 'gluster volume create'.
  with 'trusted.glusterfs.pathinfo' posix returns the value in
  'hostname:real_path' format.

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

BUG: 1073 ('gluster defrag &lt;VOLNAME&gt;' fails in mainline)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1073
</pre>
</div>
</content>
</entry>
<entry>
<title>NULL dereference fixes in code base after running with 'clang'</title>
<updated>2010-07-02T12:17:03+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@gluster.com</email>
</author>
<published>2010-07-02T04:55:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2f15ffd6b5beef9abd501c594bc3cb38c2683f77'/>
<id>2f15ffd6b5beef9abd501c594bc3cb38c2683f77</id>
<content type='text'>
* 212 logical (NULL deref/divide by zero) errors reduced to 28
  (27 of them in contrib/ and lex part of codebase, 1 is invalid)
* 11 API errors reduced to 0

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

BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 212 logical (NULL deref/divide by zero) errors reduced to 28
  (27 of them in contrib/ and lex part of codebase, 1 is invalid)
* 11 API errors reduced to 0

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

BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
</pre>
</div>
</content>
</entry>
<entry>
<title>Memory accounting changes</title>
<updated>2010-04-23T13:32:52+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2010-04-22T13:33:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=582de0677da4be19fc6f873625c58c45d069ab1c'/>
<id>582de0677da4be19fc6f873625c58c45d069ab1c</id>
<content type='text'>
Memory accounting Changes. Thanks to Vinayak Hegde and Csaba Henk for their
contributions.

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

BUG: 329 (Replacing memory allocation functions with mem-type functions)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Memory accounting Changes. Thanks to Vinayak Hegde and Csaba Henk for their
contributions.

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

BUG: 329 (Replacing memory allocation functions with mem-type functions)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
</pre>
</div>
</content>
</entry>
<entry>
<title>iatt: changes across the codebase</title>
<updated>2010-03-16T15:31:32+00:00</updated>
<author>
<name>Anand V. Avati</name>
<email>avati@blackhole.gluster.com</email>
</author>
<published>2010-03-16T09:46:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=283ec9608e6cbc9393941d5fae901e558360d2bd'/>
<id>283ec9608e6cbc9393941d5fae901e558360d2bd</id>
<content type='text'>
- libglusterfs
  -- call-stub
  -- inode
  -- protocol
- libglusterfsclient
- cluster/replicate
- cluster/{dht,nufa,switch}
- cluster/unify
- cluster/HA
- cluster/map
- cluster/stripe
- debug/error-gen
- debug/trace
- debug/io-stats
- encryption/rot-13
- features/filter
- features/locks
- features/path-converter
- features/quota
- features/trash
- mount/fuse
- performance/io-threads
- performance/io-cache
- performance/quick-read
- performance/read-ahead
- performance/stat-prefetch
- performance/symlink-cache
- performance/write-behind
- protocol/client
- protocol/server
- storage-posix

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

BUG: 361 (GlusterFS 3.0 should work on Mac OS/X)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- libglusterfs
  -- call-stub
  -- inode
  -- protocol
- libglusterfsclient
- cluster/replicate
- cluster/{dht,nufa,switch}
- cluster/unify
- cluster/HA
- cluster/map
- cluster/stripe
- debug/error-gen
- debug/trace
- debug/io-stats
- encryption/rot-13
- features/filter
- features/locks
- features/path-converter
- features/quota
- features/trash
- mount/fuse
- performance/io-threads
- performance/io-cache
- performance/quick-read
- performance/read-ahead
- performance/stat-prefetch
- performance/symlink-cache
- performance/write-behind
- protocol/client
- protocol/server
- storage-posix

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

BUG: 361 (GlusterFS 3.0 should work on Mac OS/X)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
</pre>
</div>
</content>
</entry>
<entry>
<title>distribute: perform self-heal as root</title>
<updated>2010-03-04T11:13:31+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-02-25T15:38:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=fa194179431b7e9aac68333c91a9c3254a15335d'/>
<id>fa194179431b7e9aac68333c91a9c3254a15335d</id>
<content type='text'>
prerserve original frame uid and gid and perform self-heal by changing
uid/gid to root (0) temporarily.

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

BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
prerserve original frame uid and gid and perform self-heal by changing
uid/gid to root (0) temporarily.

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

BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
</pre>
</div>
</content>
</entry>
<entry>
<title>distribute, nufa: return 0 mtimes in preparent/postparent</title>
<updated>2010-03-04T11:13:28+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-02-25T15:38:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=a8f10e72f265e96f3785f278a3c4a3631b9f0392'/>
<id>a8f10e72f265e96f3785f278a3c4a3631b9f0392</id>
<content type='text'>
Returning 0 times means the values are unreliable and not to be
trusted for the purposes of caching.

This is a temporary fix till we bring in proper times handling in
DHT to return consistant values for parent inodes.

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

BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Returning 0 times means the values are unreliable and not to be
trusted for the purposes of caching.

This is a temporary fix till we bring in proper times handling in
DHT to return consistant values for parent inodes.

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

BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
</pre>
</div>
</content>
</entry>
<entry>
<title>distribute: Respect end-of-dir on readdir only for last subvol</title>
<updated>2010-03-04T11:13:13+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-02-25T15:38:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0a86bd1aa3004a9f27e59eb08f8facf312234737'/>
<id>0a86bd1aa3004a9f27e59eb08f8facf312234737</id>
<content type='text'>
We need to ensure that only the last subvolume's end-of-directory
notification is respected so that directory reading does not stop
before all subvolumes have been read. That could happen because the
posix for each subvolume sends a ENOENT on end-of-directory but in
distribute we're not concerned only with a posix's view of the
directory but the aggregated namespace' view of the directory,
which is maintained by distribute.

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

BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to ensure that only the last subvolume's end-of-directory
notification is respected so that directory reading does not stop
before all subvolumes have been read. That could happen because the
posix for each subvolume sends a ENOENT on end-of-directory but in
distribute we're not concerned only with a posix's view of the
directory but the aggregated namespace' view of the directory,
which is maintained by distribute.

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

BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
</pre>
</div>
</content>
</entry>
<entry>
<title>dht: unlink stale linkfiles in rmdir to prevent ENOTEMPTY</title>
<updated>2010-02-22T14:45:32+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2010-02-22T08:59:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=9dbae0c80569689533c92a29871e3fa6dbbae1b9'/>
<id>9dbae0c80569689533c92a29871e3fa6dbbae1b9</id>
<content type='text'>
Thanks to He Xaobing &lt;allreol@gmail.com&gt;, this patch is inspired by

http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=188#c2

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

BUG: 188 ([ glusterfs 2.0.6rc2 ] - "Directory not empty" on rm -rf)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=188
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks to He Xaobing &lt;allreol@gmail.com&gt;, this patch is inspired by

http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=188#c2

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

BUG: 188 ([ glusterfs 2.0.6rc2 ] - "Directory not empty" on rm -rf)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=188
</pre>
</div>
</content>
</entry>
<entry>
<title>dht: Remove pointer casting in layout handling</title>
<updated>2010-02-07T11:43:27+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@gluster.com</email>
</author>
<published>2010-02-07T04:30:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=090a96d0a5963bc62efc3354480e277610cab7e6'/>
<id>090a96d0a5963bc62efc3354480e277610cab7e6</id>
<content type='text'>
Small changes by Anand Avati &lt;avati@gluster.com&gt; over original submission:

Remove pointer casting (copy data to proper memory before using it). Fixes bug #493.
Hello,

See bug #493 for more information on this patch.

http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=493#c2

This patch assumes that the scope of disk_layout is local wherever it is
used. Seems correct, not really checked, though.

Greetings,

Hraban Luyat

Signed-off-by: Hraban Luyat &lt;hraban@0brg.net&gt;
Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 493 (tcp + dht + armv5tel: ???brick: disk layout has invalid count 29696???)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=493
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Small changes by Anand Avati &lt;avati@gluster.com&gt; over original submission:

Remove pointer casting (copy data to proper memory before using it). Fixes bug #493.
Hello,

See bug #493 for more information on this patch.

http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=493#c2

This patch assumes that the scope of disk_layout is local wherever it is
used. Seems correct, not really checked, though.

Greetings,

Hraban Luyat

Signed-off-by: Hraban Luyat &lt;hraban@0brg.net&gt;
Signed-off-by: Anand V. Avati &lt;avati@blackhole.gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 493 (tcp + dht + armv5tel: ???brick: disk layout has invalid count 29696???)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=493
</pre>
</div>
</content>
</entry>
</feed>
