cifs: have find_writeable_file prefer filehandles opened by same task
authorJeff Layton <jlayton@redhat.com>
Tue, 23 Sep 2008 01:33:33 +0000 (21:33 -0400)
committerSteve French <sfrench@us.ibm.com>
Tue, 23 Sep 2008 02:24:13 +0000 (02:24 +0000)
commit2846d3864738dd6e290755d0692cf377e09ba79f
tree48f32072b0e2989ebfae167dfe04d7480c3e8167
parent232087cb734c7035c0a8947fb05d3e8092ff6c4d
cifs: have find_writeable_file prefer filehandles opened by same task

When the CIFS client goes to write out pages, it needs to pick a
filehandle to write to. find_writeable_file however just picks the
first filehandle that it finds. This can cause problems when a lock
is issued against a particular filehandle and we pick a different
filehandle to write to.

This patch tries to avert this situation by having find_writable_file
prefer filehandles that have a pid that matches the current task.
This seems to fix lock test 11 from the connectathon test suite when
run against a windows server.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/file.c