<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/fs/lockd/host.c, branch linux-2.6.18.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.18.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.18.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2006-06-09T13:40:27+00:00</updated>
<entry>
<title>NLM: Fix reclaim races</title>
<updated>2006-06-09T13:40:27+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-06-09T13:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=28df955a2ad484d602314b30183ea8496a9aa34a'/>
<id>urn:sha1:28df955a2ad484d602314b30183ea8496a9aa34a</id>
<content type='text'>
Currently it is possible for a task to remove its locks at the same time as
the NLM recovery thread is trying to recover them. This quickly leads to an
Oops.
Protect the locks using an rw semaphore while they are being recovered.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM: sem to mutex conversion</title>
<updated>2006-06-09T13:40:24+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-06-09T13:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5046791417dcac1ba126b77b8062af15a2f0b8e1'/>
<id>urn:sha1:5046791417dcac1ba126b77b8062af15a2f0b8e1</id>
<content type='text'>
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] sem2mutex: fs/</title>
<updated>2006-03-26T16:56:55+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2006-03-26T09:37:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1'/>
<id>urn:sha1:353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1</id>
<content type='text'>
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Eric Van Hensbergen &lt;ericvh@ericvh.myip.org&gt;
Cc: Robert Love &lt;rml@tech9.net&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Neil Brown &lt;neilb@cse.unsw.edu.au&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Cc: Dave Kleikamp &lt;shaggy@austin.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>lockd: Fix Oopses due to list manipulation errors.</title>
<updated>2006-03-20T18:44:41+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-03-20T18:44:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4c060b531006e0711db32a132d6ac7661594b280'/>
<id>urn:sha1:4c060b531006e0711db32a132d6ac7661594b280</id>
<content type='text'>
The patch "stop abusing file_lock_list introduces a couple of bugs since
the locks may be copied and need to be removed from the lists when they are
destroyed.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: stop abusing file_lock_list</title>
<updated>2006-03-20T18:44:40+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2006-03-20T18:44:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=26bcbf965f857c710adafd16cf424f043006b5dd'/>
<id>urn:sha1:26bcbf965f857c710adafd16cf424f043006b5dd</id>
<content type='text'>
Currently lockd directly access the file_lock_list from fs/locks.c.
It does so to mark locks granted or reclaimable.  This is very
suboptimal, because a) lockd needs to poke into locks.c internals, and
b) it needs to iterate over all locks in the system for marking locks
granted or reclaimable.

This patch adds lists for granted and reclaimable locks to the nlm_host
structure instead, and adds locks to those.

nlmclnt_lock:
	now adds the lock to h_granted instead of setting the
	NFS_LCK_GRANTED, still O(1)

nlmclnt_mark_reclaim:
	goes away completely, replaced by a list_splice_init.
	Complexity reduced from O(locks in the system) to O(1)

reclaimer:
	iterates over h_reclaim now, complexity reduced from
	O(locks in the system) to O(locks per nlm_host)

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: Make lockd use rpc_new_client() instead of rpc_create_client</title>
<updated>2006-03-20T18:44:40+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-03-20T18:44:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=04266473ecf5cdca242201d9f1ed890afe070fb6'/>
<id>urn:sha1:04266473ecf5cdca242201d9f1ed890afe070fb6</id>
<content type='text'>
When doing NLM_GRANTED requests, lockd may end up blocking if we use
rpc_create_client() due to the synchronous call to rpc_ping(). Instead, use
rpc_new_client().

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: new interface to force an RPC rebind</title>
<updated>2006-01-06T19:58:56+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-01-03T08:55:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=35f5a422ce1af836007f811b613c440d0e348e06'/>
<id>urn:sha1:35f5a422ce1af836007f811b613c440d0e348e06</id>
<content type='text'>
 We'd like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.
 Start by creating an API to force RPC rebind, replacing logic that simply
 sets cl_port to zero.

 Test-plan:
 Destructive testing (unplugging the network temporarily).  Connectathon
 with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.
 Probably need to rig a server where certain services aren't running, or
 that returns an error for some typical operation.

 Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] RPC: remove xprt-&gt;nocong</title>
<updated>2005-09-23T16:38:47+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2005-08-25T23:25:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ed63c003701a314c4893c11eceb9d68f8f46c662'/>
<id>urn:sha1:ed63c003701a314c4893c11eceb9d68f8f46c662</id>
<content type='text'>
 Get rid of the "xprt-&gt;nocong" variable.

 Test-plan:
 Use WAN simulation to cause sporadic bursty packet loss with UDP mounts.
 Look for significant regression in performance or client stability.

 Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] RPC: get rid of xprt-&gt;stream</title>
<updated>2005-09-23T16:38:35+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2005-08-25T23:25:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=43118c29dea2b23798bd42a147015cceee7fa885'/>
<id>urn:sha1:43118c29dea2b23798bd42a147015cceee7fa885</id>
<content type='text'>
 Now we can fix up the last few places that use the "xprt-&gt;stream"
 variable, and get rid of it from the rpc_xprt structure.

 Test-plan:
 Destructive testing (unplugging the network temporarily).  Connectathon
 with UDP and TCP.

 Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] RPC: Make rpc_create_client() probe server for RPC program+version support</title>
<updated>2005-06-22T20:07:04+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2005-06-22T17:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5ee0ed7d3ab620a764740fb018f469d45f561931'/>
<id>urn:sha1:5ee0ed7d3ab620a764740fb018f469d45f561931</id>
<content type='text'>
 Ensure that we don't create an RPC client without checking that the server
 does indeed support the RPC program + version that we are trying to set up.

 This enables us to immediately return an error to "mount" if it turns out
 that the server is only supporting NFSv2, when we requested NFSv3 or NFSv4.

 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
