aboutsummaryrefslogtreecommitdiff
path: root/fs/efs/symlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/efs/symlink.c')
-rw-r--r--fs/efs/symlink.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/efs/symlink.c b/fs/efs/symlink.c
index 3d9a350e3e7..75117d0dac2 100644
--- a/fs/efs/symlink.c
+++ b/fs/efs/symlink.c
@@ -7,10 +7,9 @@
*/
#include <linux/string.h>
-#include <linux/efs_fs.h>
#include <linux/pagemap.h>
#include <linux/buffer_head.h>
-#include <linux/smp_lock.h>
+#include "efs.h"
static int efs_symlink_readpage(struct file *file, struct page *page)
{
@@ -24,7 +23,6 @@ static int efs_symlink_readpage(struct file *file, struct page *page)
if (size > 2 * EFS_BLOCKSIZE)
goto fail;
- lock_kernel();
/* read first 512 bytes of link target */
err = -EIO;
bh = sb_bread(inode->i_sb, efs_bmap(inode, 0));
@@ -40,19 +38,17 @@ static int efs_symlink_readpage(struct file *file, struct page *page)
brelse(bh);
}
link[size] = '\0';
- unlock_kernel();
SetPageUptodate(page);
kunmap(page);
unlock_page(page);
return 0;
fail:
- unlock_kernel();
SetPageError(page);
kunmap(page);
unlock_page(page);
return err;
}
-struct address_space_operations efs_symlink_aops = {
+const struct address_space_operations efs_symlink_aops = {
.readpage = efs_symlink_readpage
};