Loading fs/efs/dir.c +1 −4 Original line number Diff line number Diff line Loading @@ -5,12 +5,12 @@ */ #include <linux/buffer_head.h> #include <linux/smp_lock.h> #include "efs.h" static int efs_readdir(struct file *, void *, filldir_t); const struct file_operations efs_dir_operations = { .llseek = generic_file_llseek, .read = generic_read_dir, .readdir = efs_readdir, }; Loading @@ -33,8 +33,6 @@ static int efs_readdir(struct file *filp, void *dirent, filldir_t filldir) { if (inode->i_size & (EFS_DIRBSIZE-1)) printk(KERN_WARNING "EFS: WARNING: readdir(): directory size not a multiple of EFS_DIRBSIZE\n"); lock_kernel(); /* work out where this entry can be found */ block = filp->f_pos >> EFS_DIRBSIZE_BITS; Loading Loading @@ -107,7 +105,6 @@ static int efs_readdir(struct file *filp, void *dirent, filldir_t filldir) { filp->f_pos = (block << EFS_DIRBSIZE_BITS) | slot; out: unlock_kernel(); return 0; } fs/efs/namei.c +1 −8 Original line number Diff line number Diff line Loading @@ -8,7 +8,6 @@ #include <linux/buffer_head.h> #include <linux/string.h> #include <linux/smp_lock.h> #include <linux/exportfs.h> #include "efs.h" Loading Loading @@ -63,16 +62,12 @@ struct dentry *efs_lookup(struct inode *dir, struct dentry *dentry, struct namei efs_ino_t inodenum; struct inode * inode = NULL; lock_kernel(); inodenum = efs_find_entry(dir, dentry->d_name.name, dentry->d_name.len); if (inodenum) { inode = efs_iget(dir->i_sb, inodenum); if (IS_ERR(inode)) { unlock_kernel(); if (IS_ERR(inode)) return ERR_CAST(inode); } } unlock_kernel(); return d_splice_alias(inode, dentry); } Loading Loading @@ -115,11 +110,9 @@ struct dentry *efs_get_parent(struct dentry *child) struct dentry *parent = ERR_PTR(-ENOENT); efs_ino_t ino; lock_kernel(); ino = efs_find_entry(child->d_inode, "..", 2); if (ino) parent = d_obtain_alias(efs_iget(child->d_inode->i_sb, ino)); unlock_kernel(); return parent; } fs/efs/symlink.c +1 −6 Original line number Diff line number Diff line Loading @@ -9,7 +9,6 @@ #include <linux/string.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) Loading @@ -22,9 +21,8 @@ static int efs_symlink_readpage(struct file *file, struct page *page) err = -ENAMETOOLONG; if (size > 2 * EFS_BLOCKSIZE) goto fail_notlocked; goto fail; lock_kernel(); /* read first 512 bytes of link target */ err = -EIO; bh = sb_bread(inode->i_sb, efs_bmap(inode, 0)); Loading @@ -40,14 +38,11 @@ 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(); fail_notlocked: SetPageError(page); kunmap(page); unlock_page(page); Loading Loading
fs/efs/dir.c +1 −4 Original line number Diff line number Diff line Loading @@ -5,12 +5,12 @@ */ #include <linux/buffer_head.h> #include <linux/smp_lock.h> #include "efs.h" static int efs_readdir(struct file *, void *, filldir_t); const struct file_operations efs_dir_operations = { .llseek = generic_file_llseek, .read = generic_read_dir, .readdir = efs_readdir, }; Loading @@ -33,8 +33,6 @@ static int efs_readdir(struct file *filp, void *dirent, filldir_t filldir) { if (inode->i_size & (EFS_DIRBSIZE-1)) printk(KERN_WARNING "EFS: WARNING: readdir(): directory size not a multiple of EFS_DIRBSIZE\n"); lock_kernel(); /* work out where this entry can be found */ block = filp->f_pos >> EFS_DIRBSIZE_BITS; Loading Loading @@ -107,7 +105,6 @@ static int efs_readdir(struct file *filp, void *dirent, filldir_t filldir) { filp->f_pos = (block << EFS_DIRBSIZE_BITS) | slot; out: unlock_kernel(); return 0; }
fs/efs/namei.c +1 −8 Original line number Diff line number Diff line Loading @@ -8,7 +8,6 @@ #include <linux/buffer_head.h> #include <linux/string.h> #include <linux/smp_lock.h> #include <linux/exportfs.h> #include "efs.h" Loading Loading @@ -63,16 +62,12 @@ struct dentry *efs_lookup(struct inode *dir, struct dentry *dentry, struct namei efs_ino_t inodenum; struct inode * inode = NULL; lock_kernel(); inodenum = efs_find_entry(dir, dentry->d_name.name, dentry->d_name.len); if (inodenum) { inode = efs_iget(dir->i_sb, inodenum); if (IS_ERR(inode)) { unlock_kernel(); if (IS_ERR(inode)) return ERR_CAST(inode); } } unlock_kernel(); return d_splice_alias(inode, dentry); } Loading Loading @@ -115,11 +110,9 @@ struct dentry *efs_get_parent(struct dentry *child) struct dentry *parent = ERR_PTR(-ENOENT); efs_ino_t ino; lock_kernel(); ino = efs_find_entry(child->d_inode, "..", 2); if (ino) parent = d_obtain_alias(efs_iget(child->d_inode->i_sb, ino)); unlock_kernel(); return parent; }
fs/efs/symlink.c +1 −6 Original line number Diff line number Diff line Loading @@ -9,7 +9,6 @@ #include <linux/string.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) Loading @@ -22,9 +21,8 @@ static int efs_symlink_readpage(struct file *file, struct page *page) err = -ENAMETOOLONG; if (size > 2 * EFS_BLOCKSIZE) goto fail_notlocked; goto fail; lock_kernel(); /* read first 512 bytes of link target */ err = -EIO; bh = sb_bread(inode->i_sb, efs_bmap(inode, 0)); Loading @@ -40,14 +38,11 @@ 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(); fail_notlocked: SetPageError(page); kunmap(page); unlock_page(page); Loading