<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/cifs/file.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-08-09T15:22:54Z</updated>
<entry>
<title>cifs: ensure that we always do cifsFileInfo_get under the spinlock</title>
<updated>2012-08-09T15:22:54Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2012-07-25T18:59:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a130e9e48f95bbec9cb9b8ac3f938e552760fbf6'/>
<id>urn:sha1:a130e9e48f95bbec9cb9b8ac3f938e552760fbf6</id>
<content type='text'>
commit 764a1b1acecedfe204cb2e80d8e2cc7c6df1b0b8 upstream.

The readpages bug is a regression that was introduced in 6993f74a5.
This also fixes a couple of similar bugs in the uncached read and write
codepaths.

Also, prevent this sort of thing in the future by having cifsFileInfo_get
take the spinlock itself, and adding a _locked variant for use in places
that are already holding the lock. The _put code has always done that
so this makes for a less confusing interface.

Reviewed-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>CIFS: Improve identation in cifs_unlock_range</title>
<updated>2012-06-01T17:35:12Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-05-31T09:59:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea319d57d3372a9dbee0b3807d75bb36b8d54adc'/>
<id>urn:sha1:ea319d57d3372a9dbee0b3807d75bb36b8d54adc</id>
<content type='text'>
Signed-off-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>CIFS: Fix possible wrong memory allocation</title>
<updated>2012-06-01T17:35:08Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-05-31T09:03:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0013fb4ca3171c64a4a5d3851fb591bb575e7f04'/>
<id>urn:sha1:0013fb4ca3171c64a4a5d3851fb591bb575e7f04</id>
<content type='text'>
when cifs_reconnect sets maxBuf to 0 and we try to calculate a size
of memory we need to store locks.

Signed-off-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: fix oops while traversing open file list (try #4)</title>
<updated>2012-05-23T08:33:18Z</updated>
<author>
<name>Shirish Pargaonkar</name>
</author>
<published>2012-05-21T14:20:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c0c2a08bed7a3b791f88d09d16ace56acb3dd98'/>
<id>urn:sha1:2c0c2a08bed7a3b791f88d09d16ace56acb3dd98</id>
<content type='text'>
While traversing the linked list of open file handles, if the identfied
file handle is invalid, a reopen is attempted and if it fails, we
resume traversing where we stopped and cifs can oops while accessing
invalid next element, for list might have changed.

So mark the invalid file handle and attempt reopen if no
valid file handle is found in rest of the list.
If reopen fails, move the invalid file handle to the end of the list
and start traversing the list again from the begining.
Repeat this four times before giving up and returning an error if
file reopen keeps failing.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Shirish Pargaonkar &lt;shirishpargaonkar@gmail.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>CIFS: Separate protocol specific part from setlk</title>
<updated>2012-05-17T09:07:48Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-03-28T13:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7f92447aa7be605fd80d9f248efe0b8ac9379f11'/>
<id>urn:sha1:7f92447aa7be605fd80d9f248efe0b8ac9379f11</id>
<content type='text'>
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
</content>
</entry>
<entry>
<title>CIFS: Separate protocol specific part from getlk</title>
<updated>2012-05-17T09:07:41Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-02-28T11:04:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55157dfbb566e23e3c76489cb028fc82bd985ea1'/>
<id>urn:sha1:55157dfbb566e23e3c76489cb028fc82bd985ea1</id>
<content type='text'>
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
</content>
</entry>
<entry>
<title>CIFS: Separate protocol specific lock type handling</title>
<updated>2012-05-17T01:13:36Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-02-28T11:23:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=106dc538abac88e804c63b7fe21ffb09cffaefc7'/>
<id>urn:sha1:106dc538abac88e804c63b7fe21ffb09cffaefc7</id>
<content type='text'>
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
</content>
</entry>
<entry>
<title>CIFS: Convert lock type to 32 bit variable</title>
<updated>2012-05-17T01:13:35Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-02-28T11:16:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=04a6aa8acfac51385ec3e72fac1227e15db78ed9'/>
<id>urn:sha1:04a6aa8acfac51385ec3e72fac1227e15db78ed9</id>
<content type='text'>
to handle SMB2 lock type field further.

Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
</content>
</entry>
<entry>
<title>CIFS: Move locks to cifsFileInfo structure</title>
<updated>2012-05-17T01:13:35Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2012-02-24T12:41:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbd35acadd728eac5d94f360c7cd8cbe12a0379f'/>
<id>urn:sha1:fbd35acadd728eac5d94f360c7cd8cbe12a0379f</id>
<content type='text'>
CIFS brlock cache can be used by several file handles if we have a
write-caching lease on the file that is supported by SMB2 protocol.
Prepate the code to handle this situation correctly by sorting brlocks
by a fid to easily push them in portions when lease break comes.

Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
</content>
</entry>
<entry>
<title>cifs: convert cifs_iovec_read to use async reads</title>
<updated>2012-05-17T01:13:31Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2012-05-16T11:13:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1c89254926c0643b99541d422c909762479aeef8'/>
<id>urn:sha1:1c89254926c0643b99541d422c909762479aeef8</id>
<content type='text'>
Convert cifs_iovec_read to use async I/O. This also raises the limit on
the rsize for uncached reads. We first allocate a set of pages to hold
the replies, then issue the reads in parallel and then collect the
replies and copy the results into the iovec.

A possible future optimization would be to kmap and inline the iovec
buffers and read the data directly from the socket into that. That would
require some rather complex conversion of the iovec into a kvec however.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
</content>
</entry>
</feed>
