<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/nfs/server/src/nfs3.c, branch v3.1.0qa31</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>nfs, nfs3: Base volume access on CHILD-UP-DOWN event</title>
<updated>2010-09-22T11:14:27+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-09-22T03:32:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f47b0c55de9941823fbefe4b3a7e37179d6d4329'/>
<id>f47b0c55de9941823fbefe4b3a7e37179d6d4329</id>
<content type='text'>
Overall, the aim of this patch is to change the result of an nfs
op depending on whether the underlying volume is up or down
as notified by CHILD_UP and CHILD_DOWN events.

This patch contains three intertwined changes:
o Only when the lookup on the root of a volume is successful does gnfs now
export the subvolume. Till now the result of the lookup was not used to
determine whether we should export that volume. Not accounting for root lookup
failure resulted in ESTALEs on first access because some children of distribute
were down at the time of the root lookup.

o Only when lookups on all the subvolumes have succeeded are
these exports enabled through NFS.

o When a child of say distribute goes down, on CHILD_DOWN event nfs will
ignore all incoming requests from the client because ignoring these
will prevent ESTALEs for those requests and in the hope that ignoring the
requests will make the client retransmit. There are risks in this approach
absent the DRC but we're willing to live with that for now.
When a child goes down, the mount exports list will continue to show it
but mount requests will be denied.

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

BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Overall, the aim of this patch is to change the result of an nfs
op depending on whether the underlying volume is up or down
as notified by CHILD_UP and CHILD_DOWN events.

This patch contains three intertwined changes:
o Only when the lookup on the root of a volume is successful does gnfs now
export the subvolume. Till now the result of the lookup was not used to
determine whether we should export that volume. Not accounting for root lookup
failure resulted in ESTALEs on first access because some children of distribute
were down at the time of the root lookup.

o Only when lookups on all the subvolumes have succeeded are
these exports enabled through NFS.

o When a child of say distribute goes down, on CHILD_DOWN event nfs will
ignore all incoming requests from the client because ignoring these
will prevent ESTALEs for those requests and in the hope that ignoring the
requests will make the client retransmit. There are risks in this approach
absent the DRC but we're willing to live with that for now.
When a child goes down, the mount exports list will continue to show it
but mount requests will be denied.

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

BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Unref &amp; unbind dir fd with inode lock on EOF</title>
<updated>2010-09-17T13:24:01+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-09-17T06:32:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=4e6fb304ce41acbaf7c9ba67c06bf443e65082e8'/>
<id>4e6fb304ce41acbaf7c9ba67c06bf443e65082e8</id>
<content type='text'>
..so that when EOF is reached on this fd, any further
requests on the same inode do not get handled through this
fd but result in a new fd being opened.

Unbinding results in the fd getting deleted from the inode's fd list.

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

BUG: 1619 (glusterfs nfs server crashed on dht+replica(2x2))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1619
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
..so that when EOF is reached on this fd, any further
requests on the same inode do not get handled through this
fd but result in a new fd being opened.

Unbinding results in the fd getting deleted from the inode's fd list.

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

BUG: 1619 (glusterfs nfs server crashed on dht+replica(2x2))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1619
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Copy deviceid from correct gfid start octet</title>
<updated>2010-09-15T11:55:18+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-09-15T04:34:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=015a9b1f5a83572445171458312a90dbe0e4aca8'/>
<id>015a9b1f5a83572445171458312a90dbe0e4aca8</id>
<content type='text'>
Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1600 (showmount works but unable to mount)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1600
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 1600 (showmount works but unable to mount)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1600
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs,nfs3,mnt3: Transition fh resolution to gfid</title>
<updated>2010-09-14T09:32:03+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-09-14T02:39:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=9ff89d858075d8f916c76a9ade84b9844da4d23e'/>
<id>9ff89d858075d8f916c76a9ade84b9844da4d23e</id>
<content type='text'>
Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Vijay Bellur &lt;vijay@dev.gluster.com&gt;

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Do not unref dst inode on rename cbk</title>
<updated>2010-09-02T12:17:19+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-09-02T05:05:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=419e787880bacf8f3c85880a57a52ac4e532430b'/>
<id>419e787880bacf8f3c85880a57a52ac4e532430b</id>
<content type='text'>
This gets done when the call state gets wiped. Doing it here results
an extra unref causing a segfault.

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

BUG: 1464 (fd leak after rename)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1464
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This gets done when the call state gets wiped. Doing it here results
an extra unref causing a segfault.

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

BUG: 1464 (fd leak after rename)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1464
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Free vectored write args using FREE not GF_FREE</title>
<updated>2010-09-02T12:17:06+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-09-02T06:10:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=060380d460caa74b30eb6c0dedc8e25c64030acf'/>
<id>060380d460caa74b30eb6c0dedc8e25c64030acf</id>
<content type='text'>
..because the file handle in write3args is allocated inside
libc using malloc not memory accounting code in glusterfs.

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

BUG: 1499 (GNFS from mainline Glusterfs-3.1-qa13 crashes while initiating SFS2008)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1499
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
..because the file handle in write3args is allocated inside
libc using malloc not memory accounting code in glusterfs.

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

BUG: 1499 (GNFS from mainline Glusterfs-3.1-qa13 crashes while initiating SFS2008)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1499
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Close dst cached fd &amp; unref inode on rename</title>
<updated>2010-08-31T14:44:50+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-08-31T06:50:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2dd921a2848365f5fd538dd891b36a9f355ca78c'/>
<id>2dd921a2848365f5fd538dd891b36a9f355ca78c</id>
<content type='text'>
If the src file is over-writing an existing file and if the
destination file is open, then  close the cached fd on the
destination file and unref the inode for it.

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

BUG: 1464 (fd leak after rename)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1464
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the src file is over-writing an existing file and if the
destination file is open, then  close the cached fd on the
destination file and unref the inode for it.

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

BUG: 1464 (fd leak after rename)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1464
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs3: Dont ref dir fd_t used in hard fh resolution</title>
<updated>2010-08-31T14:44:18+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-08-31T06:50:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e1422d796fefd6a3ae599507e71efdb922eede02'/>
<id>e1422d796fefd6a3ae599507e71efdb922eede02</id>
<content type='text'>
..because the extra ref was under the mistaken assumption that
directory fd_t will be cached even during hard fh resolution and
that is not the case.

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

BUG: 1397 (Cached dir fd_ts are a leakin')
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1397
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
..because the extra ref was under the mistaken assumption that
directory fd_t will be cached even during hard fh resolution and
that is not the case.

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

BUG: 1397 (Cached dir fd_ts are a leakin')
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1397
</pre>
</div>
</content>
</entry>
<entry>
<title>xlators/nfs: nfs3.c - remove dead assignments.</title>
<updated>2010-08-23T05:27:30+00:00</updated>
<author>
<name>Sachidananda</name>
<email>sac@gluster.com</email>
</author>
<published>2010-08-17T04:59:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8f18a47a14ffc4456e470b15f6ad14f9dd10cd79'/>
<id>8f18a47a14ffc4456e470b15f6ad14f9dd10cd79</id>
<content type='text'>
Removed dead assignments and unused variables reported by clang.

One of the reports uncovers a minor bug in gnfs.
&gt; Dead store  Dead assignment  xlators/nfs/server/src/nfs3.c  2860  1

A separate bug is logged for the above report and assigned to Shehjar.

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

BUG: 1114 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1114
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed dead assignments and unused variables reported by clang.

One of the reports uncovers a minor bug in gnfs.
&gt; Dead store  Dead assignment  xlators/nfs/server/src/nfs3.c  2860  1

A separate bug is logged for the above report and assigned to Shehjar.

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

BUG: 1114 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1114
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs, nfs/rpc: Rename functions to prevent gfrpcsvc conflict</title>
<updated>2010-08-10T09:44:22+00:00</updated>
<author>
<name>Shehjar Tikoo</name>
<email>shehjart@gluster.com</email>
</author>
<published>2010-08-10T02:41:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0af39ff8d03173a7ba3df1b13476b7ed447131aa'/>
<id>0af39ff8d03173a7ba3df1b13476b7ed447131aa</id>
<content type='text'>
Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

BUG: 1274 (nfs fails to start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1274
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Shehjar Tikoo &lt;shehjart@gluster.com&gt;
Signed-off-by: Anand V. Avati &lt;avati@dev.gluster.com&gt;

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