<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/nfs/server/src, branch v3.2.5qa3</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>gnfs/server: allow 255-char file names</title>
<updated>2011-10-01T12:55:41+00:00</updated>
<author>
<name>Rajesh Amaravathi</name>
<email>rajesh@gluster.com</email>
</author>
<published>2011-09-26T05:38:48+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=c2548c3247a17b3b415295fcbb4c119f4a579831'/>
<id>c2548c3247a17b3b415295fcbb4c119f4a579831</id>
<content type='text'>
* Posix requires 255 character filenames(NAME_MAX), so
buffer to store a filename should be 256(+1 for
terminating '\0' character).

Change-Id: Id06ffa0e2d90a5950198cda3e4146ff10d25308b
BUG: 3572
Reviewed-on: http://review.gluster.com/500
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
Reviewed-by: Krishna Srinivas &lt;krishna@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Posix requires 255 character filenames(NAME_MAX), so
buffer to store a filename should be 256(+1 for
terminating '\0' character).

Change-Id: Id06ffa0e2d90a5950198cda3e4146ff10d25308b
BUG: 3572
Reviewed-on: http://review.gluster.com/500
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
Reviewed-by: Krishna Srinivas &lt;krishna@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFS : Posix compliance fixes.</title>
<updated>2011-09-22T05:37:17+00:00</updated>
<author>
<name>Gaurav</name>
<email>gaurav@gluster.com</email>
</author>
<published>2011-09-21T11:40:23+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=c3b764cad74114f77e8c4acc4c040c4b20666b5d'/>
<id>c3b764cad74114f77e8c4acc4c040c4b20666b5d</id>
<content type='text'>
Change-Id: I3687fd16bcc0ddc8a352efb9a0b410f54bec6e74
BUG: 1337
Reviewed-on: http://review.gluster.com/482
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I3687fd16bcc0ddc8a352efb9a0b410f54bec6e74
BUG: 1337
Reviewed-on: http://review.gluster.com/482
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Amar Tumballi &lt;amar@gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mount/nfs: Gluster nfs crashes with subdirectory mount</title>
<updated>2011-09-08T06:55:18+00:00</updated>
<author>
<name>Rajesh Amaravathi</name>
<email>rajesh.amaravathi@gmail.com</email>
</author>
<published>2011-08-29T05:00:56+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=e6992c73dc39a8e9e17f83eb1a6d5ab63c31f511'/>
<id>e6992c73dc39a8e9e17f83eb1a6d5ab63c31f511</id>
<content type='text'>
Glusterfs used to crash trying to dereference a NULL
pointer. Also, in mnt3_resolve_export_subdir, volume
name was prefixed to sub directory exported, resulting in
mount fail of sub directory. Fixed both issues.

Change-Id: I746f0c244b4cbf03033d73ac3e40518762d76385
BUG: 3481
Reviewed-on: http://review.gluster.com/346
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Glusterfs used to crash trying to dereference a NULL
pointer. Also, in mnt3_resolve_export_subdir, volume
name was prefixed to sub directory exported, resulting in
mount fail of sub directory. Fixed both issues.

Change-Id: I746f0c244b4cbf03033d73ac3e40518762d76385
BUG: 3481
Reviewed-on: http://review.gluster.com/346
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Resolve entry vs. hash conflict at same dir depth</title>
<updated>2011-09-08T06:53:55+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2011-09-03T09:21:45+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=875740c702d6b30754d46b17d37dd0865743216a'/>
<id>875740c702d6b30754d46b17d37dd0865743216a</id>
<content type='text'>
Intro Note
==========
The current code in hard fh resolution takes the first-match approach, i.e.
which ever dirent either matches the hash or matches the gfid first
is the one chosen as the result for the next step of fh resolution. In
the latter case, i.e., dirent matches the gfid, we the next step is to
conclude the fh resolution by returning the entry whose gfid matched.
In the former, i.e., the hash matches the dirent, we choose the hash-matching
dirent as the next directory to descend into, for searching the file to be
operated upon.

Problem
=======
When performing hard fh resolution, there can be a situation where:

o the hash of the primary entry,i.e. the entry we're looking for and the hash
of another sibling directory, match. Note the use of "sibling", meaning both
the primary entry and the hash matching one are in the same directory, i.e.,
their filehandle.hashcount will be same.

o the sibling directory is encountered first during the dir search.

Because of the current code described in "Intro", we'll end up descending into
the sibling directory even though the correct behaviour is to ignore this and
wait till we encounter the primary entry in the same parent directory.

Once we end up descending into this sibling directory, the directory depth
validation check fails. The check fails because it notices that the resolution
is attempting to open a directory that is deeper in the fs tree than the file
we're looking for. When this check fails, we return an ESTALE. So basically, a
false-positive results in an estale to Specsfs.

This is not a theoretical situation. Me and Avati saw this on specsfs test
where sfs created terabytes-sized file system for its tests. The number of
files was so huge in a single directory that the hashes of two entries ended up
colliding.

Change-Id: I78d8756252330201e165d788a29277b4bce0df90
BUG: 3510
Reviewed-on: http://review.gluster.com/358
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intro Note
==========
The current code in hard fh resolution takes the first-match approach, i.e.
which ever dirent either matches the hash or matches the gfid first
is the one chosen as the result for the next step of fh resolution. In
the latter case, i.e., dirent matches the gfid, we the next step is to
conclude the fh resolution by returning the entry whose gfid matched.
In the former, i.e., the hash matches the dirent, we choose the hash-matching
dirent as the next directory to descend into, for searching the file to be
operated upon.

Problem
=======
When performing hard fh resolution, there can be a situation where:

o the hash of the primary entry,i.e. the entry we're looking for and the hash
of another sibling directory, match. Note the use of "sibling", meaning both
the primary entry and the hash matching one are in the same directory, i.e.,
their filehandle.hashcount will be same.

o the sibling directory is encountered first during the dir search.

Because of the current code described in "Intro", we'll end up descending into
the sibling directory even though the correct behaviour is to ignore this and
wait till we encounter the primary entry in the same parent directory.

Once we end up descending into this sibling directory, the directory depth
validation check fails. The check fails because it notices that the resolution
is attempting to open a directory that is deeper in the fs tree than the file
we're looking for. When this check fails, we return an ESTALE. So basically, a
false-positive results in an estale to Specsfs.

This is not a theoretical situation. Me and Avati saw this on specsfs test
where sfs created terabytes-sized file system for its tests. The number of
files was so huge in a single directory that the hashes of two entries ended up
colliding.

Change-Id: I78d8756252330201e165d788a29277b4bce0df90
BUG: 3510
Reviewed-on: http://review.gluster.com/358
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xlators/nfs: Fix a typo in option description</title>
<updated>2011-08-20T10:35:23+00:00</updated>
<author>
<name>Vijay Bellur</name>
<email>vijay@gluster.com</email>
</author>
<published>2011-08-20T10:06:44+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=1c01e303c5176620583db10cb6f6783e61b8b3d1'/>
<id>1c01e303c5176620583db10cb6f6783e61b8b3d1</id>
<content type='text'>
Change-Id: Ibb888357b87603544f360d181637138261fb3b71
BUG: 3445
Reviewed-on: http://review.gluster.com/275
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ibb888357b87603544f360d181637138261fb3b71
BUG: 3445
Reviewed-on: http://review.gluster.com/275
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vijay@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mgmt/Glusterd: Implementation volume set help/help-xml</title>
<updated>2011-08-19T05:42:48+00:00</updated>
<author>
<name>Kaushik BV</name>
<email>kaushikbv@gluster.com</email>
</author>
<published>2011-08-16T07:40:41+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=ce0aaba383b97dca52d11c18846a8154d529bf8a'/>
<id>ce0aaba383b97dca52d11c18846a8154d529bf8a</id>
<content type='text'>
Change-Id: I0c54fd1c15550e5e5551e95ed32adb14d8029fab
Reviewed-on: http://review.gluster.com/238
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I0c54fd1c15550e5e5551e95ed32adb14d8029fab
Reviewed-on: http://review.gluster.com/238
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Change Copyright current year</title>
<updated>2011-08-10T17:57:44+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pranithk@gluster.com</email>
</author>
<published>2011-08-09T06:50:10+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=92963fd0a09c912e6ababbcfe45d28ddebb0b645'/>
<id>92963fd0a09c912e6ababbcfe45d28ddebb0b645</id>
<content type='text'>
Change-Id: Id1f1a91cf15d933d5621a0073ddaebe02df0f159
BUG: 3348
Reviewed-on: http://review.gluster.com/198
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Id1f1a91cf15d933d5621a0073ddaebe02df0f159
BUG: 3348
Reviewed-on: http://review.gluster.com/198
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>LICENSE: s/GNU Affero General Public/GNU General Public/</title>
<updated>2011-08-06T13:40:14+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pranithk@gluster.com</email>
</author>
<published>2011-08-06T08:40:58+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=56127b2a7c319d4edbadb76bbc7753b303f5b509'/>
<id>56127b2a7c319d4edbadb76bbc7753b303f5b509</id>
<content type='text'>
Change-Id: Ibf5f45431d7a55b70d7304649af652d6f25bb688
BUG: 3348
Reviewed-on: http://review.gluster.com/183
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ibf5f45431d7a55b70d7304649af652d6f25bb688
BUG: 3348
Reviewed-on: http://review.gluster.com/183
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFS access control list: Decode the NFS requests into mode format</title>
<updated>2011-07-07T12:45:13+00:00</updated>
<author>
<name>shishir gowda</name>
<email>shishirng@gluster.com</email>
</author>
<published>2011-07-07T04:57:27+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=d53b07fef8be65763b5b03ecd99ac36c86f3a277'/>
<id>d53b07fef8be65763b5b03ecd99ac36c86f3a277</id>
<content type='text'>
Signed-off-by: shishir gowda &lt;shishirng@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;

BUG: 3057 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: shishir gowda &lt;shishirng@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;

BUG: 3057 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs: Change NFS3 access op to use access fop</title>
<updated>2011-07-05T12:21:20+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2011-07-04T06:32:33+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=8c0f1e3bba1bd0c0159f2ab363aa6039d3a6a20a'/>
<id>8c0f1e3bba1bd0c0159f2ab363aa6039d3a6a20a</id>
<content type='text'>
This change is needed so that we have a uniform dependence on
posix-acl for permission checks as well as ACL checks.

Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;

BUG: 3057 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change is needed so that we have a uniform dependence on
posix-acl for permission checks as well as ACL checks.

Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@gluster.com&gt;

BUG: 3057 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
</pre>
</div>
</content>
</entry>
</feed>
