mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			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;
 |