summaryrefslogtreecommitdiffstats
path: root/fs/read_write.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-10-22 10:52:56 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-22 10:52:56 -0700
commit092e0e7e520a1fca03e13c9f2d157432a8657ff2 (patch)
tree451897252c4c08c4b5a8ef535da156f1e817e80b /fs/read_write.c
parent79f14b7c56d3b3ba58f8b43d1f70b9b71477a800 (diff)
parent776c163b1b93c8dfa5edba885bc2bfbc2d228a5f (diff)
downloadop-kernel-dev-092e0e7e520a1fca03e13c9f2d157432a8657ff2.zip
op-kernel-dev-092e0e7e520a1fca03e13c9f2d157432a8657ff2.tar.gz
Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl
* 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl: vfs: make no_llseek the default vfs: don't use BKL in default_llseek llseek: automatically add .llseek fop libfs: use generic_file_llseek for simple_attr mac80211: disallow seeks in minstrel debug code lirc: make chardev nonseekable viotape: use noop_llseek raw: use explicit llseek file operations ibmasmfs: use generic_file_llseek spufs: use llseek in all file operations arm/omap: use generic_file_llseek in iommu_debug lkdtm: use generic_file_llseek in debugfs net/wireless: use generic_file_llseek in debugfs drm: use noop_llseek
Diffstat (limited to 'fs/read_write.c')
-rw-r--r--fs/read_write.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/read_write.c b/fs/read_write.c
index 74e3658..e757ef2 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -124,7 +124,7 @@ loff_t default_llseek(struct file *file, loff_t offset, int origin)
{
loff_t retval;
- lock_kernel();
+ mutex_lock(&file->f_dentry->d_inode->i_mutex);
switch (origin) {
case SEEK_END:
offset += i_size_read(file->f_path.dentry->d_inode);
@@ -145,7 +145,7 @@ loff_t default_llseek(struct file *file, loff_t offset, int origin)
retval = offset;
}
out:
- unlock_kernel();
+ mutex_unlock(&file->f_dentry->d_inode->i_mutex);
return retval;
}
EXPORT_SYMBOL(default_llseek);
@@ -156,7 +156,6 @@ loff_t vfs_llseek(struct file *file, loff_t offset, int origin)
fn = no_llseek;
if (file->f_mode & FMODE_LSEEK) {
- fn = default_llseek;
if (file->f_op && file->f_op->llseek)
fn = file->f_op->llseek;
}
OpenPOWER on IntegriCloud