73 lines
1.8 KiB
Diff
73 lines
1.8 KiB
Diff
From cd6657c4bde20886b0805ea9f2cbac7ec25ac2e5 Mon Sep 17 00:00:00 2001
|
|
From: Charles Manning <cdhmanning@gmail.com>
|
|
Date: Tue, 30 Nov 2010 16:01:28 +1300
|
|
Subject: [PATCH 1/2] yaffs: Replace yaffs_dir_llseek with Linux generic
|
|
llseek
|
|
|
|
commit ed8188fb7659cfb65b5adbe154d143190ade0324 upstream.
|
|
|
|
There was not much point in having the yaffs version as it is
|
|
functionally equivalent to the kernel one.
|
|
|
|
This also gets rid of using BKL in yaffs2.
|
|
|
|
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
|
|
---
|
|
yaffs_vfs.c | 30 +-----------------------------
|
|
yaffs_vfs_multi.c | 30 +-----------------------------
|
|
2 files changed, 2 insertions(+), 58 deletions(-)
|
|
|
|
--- a/fs/yaffs2/yaffs_vfs_glue.c
|
|
+++ b/fs/yaffs2/yaffs_vfs_glue.c
|
|
@@ -342,8 +342,6 @@ static int yaffs_follow_link(struct dent
|
|
|
|
static void yaffs_touch_super(yaffs_dev_t *dev);
|
|
|
|
-static loff_t yaffs_dir_llseek(struct file *file, loff_t offset, int origin);
|
|
-
|
|
static int yaffs_vfs_setattr(struct inode *, struct iattr *);
|
|
|
|
|
|
@@ -460,7 +458,7 @@ static const struct file_operations yaff
|
|
.read = generic_read_dir,
|
|
.readdir = yaffs_readdir,
|
|
.fsync = yaffs_sync_object,
|
|
- .llseek = yaffs_dir_llseek,
|
|
+ .llseek = generic_file_llseek,
|
|
};
|
|
|
|
static const struct super_operations yaffs_super_ops = {
|
|
@@ -1534,32 +1532,6 @@ static void yaffs_release_space(struct f
|
|
}
|
|
|
|
|
|
-static loff_t yaffs_dir_llseek(struct file *file, loff_t offset, int origin)
|
|
-{
|
|
- long long retval;
|
|
-
|
|
- lock_kernel();
|
|
-
|
|
- switch (origin){
|
|
- case 2:
|
|
- offset += i_size_read(file->f_path.dentry->d_inode);
|
|
- break;
|
|
- case 1:
|
|
- offset += file->f_pos;
|
|
- }
|
|
- retval = -EINVAL;
|
|
-
|
|
- if (offset >= 0){
|
|
- if (offset != file->f_pos)
|
|
- file->f_pos = offset;
|
|
-
|
|
- retval = offset;
|
|
- }
|
|
- unlock_kernel();
|
|
- return retval;
|
|
-}
|
|
-
|
|
-
|
|
static int yaffs_readdir(struct file *f, void *dirent, filldir_t filldir)
|
|
{
|
|
yaffs_obj_t *obj;
|