aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsfs.c
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2008-06-27 05:05:24 -0400
committerJonathan Corbet <corbet@lwn.net>2008-07-02 17:06:27 -0400
commit9465efc9e96135a2cec8154c0c766fa59984a298 (patch)
tree079b94123ab65ff80c4869bcf25192c8596b049c /fs/cifs/cifsfs.c
parent9c20616c385ebeaa30257ef5d35e8f346db4ee32 (diff)
Remove BKL from remote_llseek v2
- Replace remote_llseek with generic_file_llseek_unlocked (to force compilation failures in all users) - Change all users to either use generic_file_llseek_unlocked directly or take the BKL around. I changed the file systems who don't use the BKL for anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS take the BKL, but explicitely in their own source now. I moved them all over in a single patch to avoid unbisectable sections. Open problem: 32bit kernels can corrupt fpos because its modification is not atomic, but they can do that anyways because there's other paths who modify it without BKL. Do we need a special lock for the pos/f_version = 0 checks? Trond says the NFS BKL is likely not needed, but keep it for now until his full audit. v2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked and factor duplicated code (suggested by hch) Cc: Trond.Myklebust@netapp.com Cc: swhiteho@redhat.com Cc: sfrench@samba.org Cc: vandrove@vc.cvut.cz Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r--fs/cifs/cifsfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 427a7c695896..aeff0fe5b6b9 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -581,7 +581,7 @@ static loff_t cifs_llseek(struct file *file, loff_t offset, int origin)
581 if (retval < 0) 581 if (retval < 0)
582 return (loff_t)retval; 582 return (loff_t)retval;
583 } 583 }
584 return remote_llseek(file, offset, origin); 584 return generic_file_llseek_unlocked(file, offset, origin);
585} 585}
586 586
587struct file_system_type cifs_fs_type = { 587struct file_system_type cifs_fs_type = {