<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/cifs/README, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-23T04:42:37Z</updated>
<entry>
<title>[CIFS] improve setlease handling</title>
<updated>2008-10-23T04:42:37Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-10-23T04:42:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84210e9120a8c01a14379ba1f9a9b0f963641d94'/>
<id>urn:sha1:84210e9120a8c01a14379ba1f9a9b0f963641d94</id>
<content type='text'>
fcntl(F_SETLEASE) currently is not exported by cifs (nor by local file
systems) so cifs grants leases based on how other local processes have
opened the file not by whether the file is cacheable (oplocked).  This
adds the check to make sure that the file is cacheable on the client
before checking whether we can grant the lease locally
(generic_setlease).  It also adds a mount option for cifs (locallease)
if the user wants to override this and try to grant leases even
if the server did not grant oplock.

Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] Add nodfs mount option</title>
<updated>2008-10-16T18:35:21Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-10-16T18:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c1b861539c15491593625920058e06452cd3747'/>
<id>urn:sha1:2c1b861539c15491593625920058e06452cd3747</id>
<content type='text'>
Older samba server (eg. 3.0.24 from Debian etch) don't work correctly,
if DFS paths are used. Such server claim that they support DFS, but fail
to process some requests with DFS paths. Starting with Linux 2.6.26,
the cifs clients starts sending DFS paths in such situations, rendering
it unuseable with older samba servers.

The nodfs mount options forces a share to be used with non DFS paths,
even if the server claims, that it supports it.

Signed-off-by: Martin Koegler &lt;mkoegler@auto.tuwien.ac.at&gt;
Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Acked-by: Igor Mammedov &lt;niallain@gmail.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] update cifs change log</title>
<updated>2008-08-28T15:30:06Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-08-28T15:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e655021b8d50b5d90ce442f3de6bf3667729910'/>
<id>urn:sha1:2e655021b8d50b5d90ce442f3de6bf3667729910</id>
<content type='text'>
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] Kerberos support not considered experimental anymore</title>
<updated>2008-08-19T20:51:09Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-08-19T20:51:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d2af3465e91335bd1dbf36b19e92079d901409f'/>
<id>urn:sha1:3d2af3465e91335bd1dbf36b19e92079d901409f</id>
<content type='text'>
Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] enable parsing for transport encryption mount parm</title>
<updated>2008-05-15T16:44:38Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-05-15T16:44:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95b1cb90b79896c4bf5ea484bee2b41d7d293f43'/>
<id>urn:sha1:95b1cb90b79896c4bf5ea484bee2b41d7d293f43</id>
<content type='text'>
Samba now supports transport encryption on particular exports
(mounted tree ids can be encrypted for servers which support the
unix extensions).  This adds parsing support to cifs mount
option parsing for this.

Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] Add various missing flags and defintions</title>
<updated>2008-04-17T23:41:01Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-04-17T23:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=675c46796d601f63f2d47c6dd07332bca77ddae5'/>
<id>urn:sha1:675c46796d601f63f2d47c6dd07332bca77ddae5</id>
<content type='text'>
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] reduce checkpatch warnings</title>
<updated>2008-02-07T23:25:02Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-02-07T23:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ad7a2926b9e53cfb3020d15bdfacacc54e2b63da'/>
<id>urn:sha1:ad7a2926b9e53cfb3020d15bdfacacc54e2b63da</id>
<content type='text'>
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] fix checkpatch warnings in fs/cifs/inode.c</title>
<updated>2008-01-08T23:18:22Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2008-01-08T23:18:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6d09982197c4163c70f6af0cf15bb78674105c0'/>
<id>urn:sha1:f6d09982197c4163c70f6af0cf15bb78674105c0</id>
<content type='text'>
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] Fix potential data corruption when writing out cached dirty pages</title>
<updated>2007-11-20T23:19:03Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2007-11-20T23:19:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cea218054ad277d6c126890213afde07b4eb1602'/>
<id>urn:sha1:cea218054ad277d6c126890213afde07b4eb1602</id>
<content type='text'>
Fix RedHat bug 329431

The idea here is separate "conscious" from "unconscious" flushes.
Conscious flushes are those due to a fsync() or close(). Unconscious
ones are flushes that occur as a side effect of some other operation or
due to memory pressure.

Currently, when an error occurs during an unconscious flush (ENOSPC or
EIO), we toss out the page and don't preserve that error to report to
the user when a conscious flush occurs. If after the unconscious flush,
there are no more dirty pages for the inode, the conscious flush will
simply return success even though there were previous errors when writing
out pages. This can lead to data corruption.

The easiest way to reproduce this is to mount up a CIFS share that's
very close to being full or where the user is very close to quota. mv
a file to the share that's slightly larger than the quota allows. The
writes will all succeed (since they go to pagecache). The mv will do a
setattr to set the new file's attributes. This calls
filemap_write_and_wait,
which will return an error since all of the pages can't be written out.
Then later, when the flush and release ops occur, there are no more
dirty pages in pagecache for the file and those operations return 0. mv
then assumes that the file was written out correctly and deletes the
original.

CIFS already has a write_behind_rc variable where it stores the results
from earlier flushes, but that value is only reported in cifs_close.
Since the VFS ignores the return value from the release operation, this
isn't helpful. We should be reporting this error during the flush
operation.

This patch does the following:

1) changes cifs_fsync to use filemap_write_and_wait and cifs_flush and also
sync to check its return code. If it returns successful, they then check
the value of write_behind_rc to see if an earlier flush had reported any
errors. If so, they return that error and clear write_behind_rc.

2) sets write_behind_rc in a few other places where pages are written
out as a side effect of other operations and the code waits on them.

3) changes cifs_setattr to only call filemap_write_and_wait for
ATTR_SIZE changes.

4) makes cifs_writepages accurately distinguish between EIO and ENOSPC
errors when writing out pages.

Some simple testing indicates that the patch works as expected and that
it fixes the reproduceable known problem.

Acked-by: Dave Kleikamp &lt;shaggy@austin.rr.com&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] Check return code on failed alloc</title>
<updated>2007-08-18T00:15:20Z</updated>
<author>
<name>Cyrill Gorcunov</name>
</author>
<published>2007-08-18T00:15:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e6e6232753482dc0024a319b9d8f611d7a80c19'/>
<id>urn:sha1:5e6e6232753482dc0024a319b9d8f611d7a80c19</id>
<content type='text'>
Signed-off-by: Cyrill Gorcunov &lt;gorcunov@gmail.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
</feed>
