<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/dlm/lock.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-11-30T22:34:43Z</updated>
<entry>
<title>dlm: always use GFP_NOFS</title>
<updated>2009-11-30T22:34:43Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2009-11-30T22:34:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=573c24c4af6664ffcd9aa7ba617a35fde2b95534'/>
<id>urn:sha1:573c24c4af6664ffcd9aa7ba617a35fde2b95534</id>
<content type='text'>
Replace all GFP_KERNEL and ls_allocation with GFP_NOFS.
ls_allocation would be GFP_KERNEL for userland lockspaces
and GFP_NOFS for file system lockspaces.

It was discovered that any lockspaces on the system can
affect all others by triggering memory reclaim in the
file system which could in turn call back into the dlm
to acquire locks, deadlocking dlm threads that were
shared by all lockspaces, like dlm_recv.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: Fix uninitialised variable warning in lock.c</title>
<updated>2009-06-17T16:31:32Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2009-06-15T07:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a566a6b11c86147fe9fc9db7ab15f9eecca3e862'/>
<id>urn:sha1:a566a6b11c86147fe9fc9db7ab15f9eecca3e862</id>
<content type='text'>
  CC [M]  fs/dlm/lock.o
fs/dlm/lock.c: In function ‘find_rsb’:
fs/dlm/lock.c:438: warning: ‘r’ may be used uninitialized in this function

Since r is used on the error path to set r_ret, set it to NULL.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: ignore cancel on granted lock</title>
<updated>2009-03-11T17:23:58Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2009-02-27T21:23:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a536e38125fe5da8ed49690f30c30a8f651cf1f5'/>
<id>urn:sha1:a536e38125fe5da8ed49690f30c30a8f651cf1f5</id>
<content type='text'>
Return immediately from dlm_unlock(CANCEL) if the lock is
granted and not being converted; there's nothing to cancel.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: clear defunct cancel state</title>
<updated>2009-03-11T17:23:39Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2009-01-28T20:37:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43279e5376017c40b4be9af5bc79cbb4ef6f53d7'/>
<id>urn:sha1:43279e5376017c40b4be9af5bc79cbb4ef6f53d7</id>
<content type='text'>
When a conversion completes successfully and finds that a cancel
of the convert is still in progress (which is now a moot point),
preemptively clear the state associated with outstanding cancel.
That state could cause a subsequent conversion to be ignored.

Also, improve the consistency and content of error and debug
messages in this area.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: change rsbtbl rwlock to spinlock</title>
<updated>2009-01-08T21:12:39Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2009-01-07T22:50:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7be761a8163d2f1ac0b606c21e4316b7abc5af7'/>
<id>urn:sha1:c7be761a8163d2f1ac0b606c21e4316b7abc5af7</id>
<content type='text'>
The rwlock is almost always used in write mode, so there's no reason
to not use a spinlock instead.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: add time stamp of blocking callback</title>
<updated>2008-12-23T16:18:34Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2008-12-09T20:47:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e3a84ad495d1fddb542e0922160f0194a1361950'/>
<id>urn:sha1:e3a84ad495d1fddb542e0922160f0194a1361950</id>
<content type='text'>
Record the time the latest blocking callback was queued for
a lock.  This will be used for debugging in combination with
lock queue timestamp changes in the previous patch.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: change lock time stamping</title>
<updated>2008-12-23T16:18:17Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2008-12-09T20:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eeda418d8c2646f33f24e9ad33d86c239adc6de7'/>
<id>urn:sha1:eeda418d8c2646f33f24e9ad33d86c239adc6de7</id>
<content type='text'>
Use ktime instead of jiffies for timestamping lkb's.  Also stamp the
time on every lkb whenever it's added to a resource queue, instead of
just stamping locks subject to timeouts.  This will allow us to use
timestamps more widely for debugging all locks.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: improve how bast mode handling</title>
<updated>2008-12-23T16:16:46Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2008-12-09T17:55:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd22a51bcc0b7b76fc729b02316214fd979f9fe1'/>
<id>urn:sha1:fd22a51bcc0b7b76fc729b02316214fd979f9fe1</id>
<content type='text'>
The lkb bastmode value is set in the context of processing the
lock, and read by the dlm_astd thread.  Because it's accessed
in these two separate contexts, the writing/reading ought to
be done under a lock.  This is simple to do by setting it and
reading it when the lkb is added to and removed from dlm_astd's
callback list which is properly locked.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: fix uninitialized variable for search_rsb_list callers</title>
<updated>2008-07-14T18:56:59Z</updated>
<author>
<name>Benny Halevy</name>
</author>
<published>2008-06-30T16:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18c60c0a3b16fc7d6a55497a228602ad8509f838'/>
<id>urn:sha1:18c60c0a3b16fc7d6a55497a228602ad8509f838</id>
<content type='text'>
gcc 4.3.0 correctly emits the following warning.
search_rsb_list does not *r_ret if no dlm_rsb is found
and _search_rsb may pass the uninitialized value upstream
on the error path when both calls to search_rsb_list
return non-zero error.

The fix sets *r_ret to NULL on search_rsb_list's not-found path.

Signed-off-by: Benny Halevy &lt;bhalevy@panasas.com&gt;
Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
<entry>
<title>dlm: fix basts for granted CW waiting PR/CW</title>
<updated>2008-07-14T18:56:59Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2008-05-20T17:18:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=329fc4c37212588091b64bdf09afaeb18642aae2'/>
<id>urn:sha1:329fc4c37212588091b64bdf09afaeb18642aae2</id>
<content type='text'>
The fix in commit 3650925893469ccb03dbcc6a440c5d363350f591 was addressing
the case of a granted PR lock with waiting PR and CW locks.  It's a
special case that requires forcing a CW bast.  However, that forced CW
bast was incorrectly applying to a second condition where the granted
lock was CW.  So, the holder of a CW lock could receive an extraneous CW
bast instead of a PR bast.  This fix narrows the original special case to
what was intended.

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
</content>
</entry>
</feed>
