Commit a463ddd343dacf5f1badae514ed2c5135ec0c3a9
Committed by
Linus Torvalds
1 parent
dc487002a2
Exists in
master
and in
4 other branches
[PATCH] afs: use generic_ro_fops
afs actually had a write method that returned different errors depending on whether some flag was set - better return the standard EINVAL errno. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 3 changed files with 1 additions and 32 deletions Side-by-side Diff
fs/afs/file.c
| ... | ... | @@ -31,24 +31,10 @@ |
| 31 | 31 | static int afs_file_invalidatepage(struct page *page, unsigned long offset); |
| 32 | 32 | static int afs_file_releasepage(struct page *page, gfp_t gfp_flags); |
| 33 | 33 | |
| 34 | -static ssize_t afs_file_write(struct file *file, const char __user *buf, | |
| 35 | - size_t size, loff_t *off); | |
| 36 | - | |
| 37 | 34 | struct inode_operations afs_file_inode_operations = { |
| 38 | 35 | .getattr = afs_inode_getattr, |
| 39 | 36 | }; |
| 40 | 37 | |
| 41 | -struct file_operations afs_file_file_operations = { | |
| 42 | - .read = generic_file_read, | |
| 43 | - .write = afs_file_write, | |
| 44 | - .mmap = generic_file_mmap, | |
| 45 | -#if 0 | |
| 46 | - .open = afs_file_open, | |
| 47 | - .release = afs_file_release, | |
| 48 | - .fsync = afs_file_fsync, | |
| 49 | -#endif | |
| 50 | -}; | |
| 51 | - | |
| 52 | 38 | struct address_space_operations afs_fs_aops = { |
| 53 | 39 | .readpage = afs_file_readpage, |
| 54 | 40 | .sync_page = block_sync_page, |
| ... | ... | @@ -56,22 +42,6 @@ |
| 56 | 42 | .releasepage = afs_file_releasepage, |
| 57 | 43 | .invalidatepage = afs_file_invalidatepage, |
| 58 | 44 | }; |
| 59 | - | |
| 60 | -/*****************************************************************************/ | |
| 61 | -/* | |
| 62 | - * AFS file write | |
| 63 | - */ | |
| 64 | -static ssize_t afs_file_write(struct file *file, const char __user *buf, | |
| 65 | - size_t size, loff_t *off) | |
| 66 | -{ | |
| 67 | - struct afs_vnode *vnode; | |
| 68 | - | |
| 69 | - vnode = AFS_FS_I(file->f_dentry->d_inode); | |
| 70 | - if (vnode->flags & AFS_VNODE_DELETED) | |
| 71 | - return -ESTALE; | |
| 72 | - | |
| 73 | - return -EIO; | |
| 74 | -} /* end afs_file_write() */ | |
| 75 | 45 | |
| 76 | 46 | /*****************************************************************************/ |
| 77 | 47 | /* |
fs/afs/inode.c
| ... | ... | @@ -49,7 +49,7 @@ |
| 49 | 49 | case AFS_FTYPE_FILE: |
| 50 | 50 | inode->i_mode = S_IFREG | vnode->status.mode; |
| 51 | 51 | inode->i_op = &afs_file_inode_operations; |
| 52 | - inode->i_fop = &afs_file_file_operations; | |
| 52 | + inode->i_fop = &generic_ro_fops; | |
| 53 | 53 | break; |
| 54 | 54 | case AFS_FTYPE_DIR: |
| 55 | 55 | inode->i_mode = S_IFDIR | vnode->status.mode; |
fs/afs/internal.h
| ... | ... | @@ -71,7 +71,6 @@ |
| 71 | 71 | */ |
| 72 | 72 | extern struct address_space_operations afs_fs_aops; |
| 73 | 73 | extern struct inode_operations afs_file_inode_operations; |
| 74 | -extern struct file_operations afs_file_file_operations; | |
| 75 | 74 | |
| 76 | 75 | #ifdef AFS_CACHING_SUPPORT |
| 77 | 76 | extern int afs_cache_get_page_cookie(struct page *page, |