Loading fs/xfs/linux-2.6/xfs_file.c +70 −70 Original line number Original line Diff line number Diff line Loading @@ -43,13 +43,13 @@ #include <linux/dcache.h> #include <linux/dcache.h> #include <linux/smp_lock.h> #include <linux/smp_lock.h> static struct vm_operations_struct linvfs_file_vm_ops; static struct vm_operations_struct xfs_file_vm_ops; #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI static struct vm_operations_struct linvfs_dmapi_file_vm_ops; static struct vm_operations_struct xfs_dmapi_file_vm_ops; #endif #endif STATIC inline ssize_t STATIC inline ssize_t __linvfs_read( __xfs_file_read( struct kiocb *iocb, struct kiocb *iocb, char __user *buf, char __user *buf, int ioflags, int ioflags, Loading @@ -71,28 +71,28 @@ __linvfs_read( STATIC ssize_t STATIC ssize_t linvfs_aio_read( xfs_file_aio_read( struct kiocb *iocb, struct kiocb *iocb, char __user *buf, char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_read(iocb, buf, IO_ISAIO, count, pos); return __xfs_file_read(iocb, buf, IO_ISAIO, count, pos); } } STATIC ssize_t STATIC ssize_t linvfs_aio_read_invis( xfs_file_aio_read_invis( struct kiocb *iocb, struct kiocb *iocb, char __user *buf, char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_read(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); return __xfs_file_read(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); } } STATIC inline ssize_t STATIC inline ssize_t __linvfs_write( __xfs_file_write( struct kiocb *iocb, struct kiocb *iocb, const char __user *buf, const char __user *buf, int ioflags, int ioflags, Loading @@ -115,28 +115,28 @@ __linvfs_write( STATIC ssize_t STATIC ssize_t linvfs_aio_write( xfs_file_aio_write( struct kiocb *iocb, struct kiocb *iocb, const char __user *buf, const char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_write(iocb, buf, IO_ISAIO, count, pos); return __xfs_file_write(iocb, buf, IO_ISAIO, count, pos); } } STATIC ssize_t STATIC ssize_t linvfs_aio_write_invis( xfs_file_aio_write_invis( struct kiocb *iocb, struct kiocb *iocb, const char __user *buf, const char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_write(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); return __xfs_file_write(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); } } STATIC inline ssize_t STATIC inline ssize_t __linvfs_readv( __xfs_file_readv( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, int ioflags, int ioflags, Loading Loading @@ -165,28 +165,28 @@ __linvfs_readv( } } STATIC ssize_t STATIC ssize_t linvfs_readv( xfs_file_readv( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_readv(file, iov, 0, nr_segs, ppos); return __xfs_file_readv(file, iov, 0, nr_segs, ppos); } } STATIC ssize_t STATIC ssize_t linvfs_readv_invis( xfs_file_readv_invis( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_readv(file, iov, IO_INVIS, nr_segs, ppos); return __xfs_file_readv(file, iov, IO_INVIS, nr_segs, ppos); } } STATIC inline ssize_t STATIC inline ssize_t __linvfs_writev( __xfs_file_writev( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, int ioflags, int ioflags, Loading Loading @@ -216,27 +216,27 @@ __linvfs_writev( STATIC ssize_t STATIC ssize_t linvfs_writev( xfs_file_writev( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_writev(file, iov, 0, nr_segs, ppos); return __xfs_file_writev(file, iov, 0, nr_segs, ppos); } } STATIC ssize_t STATIC ssize_t linvfs_writev_invis( xfs_file_writev_invis( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_writev(file, iov, IO_INVIS, nr_segs, ppos); return __xfs_file_writev(file, iov, IO_INVIS, nr_segs, ppos); } } STATIC ssize_t STATIC ssize_t linvfs_sendfile( xfs_file_sendfile( struct file *filp, struct file *filp, loff_t *ppos, loff_t *ppos, size_t count, size_t count, Loading @@ -252,7 +252,7 @@ linvfs_sendfile( STATIC int STATIC int linvfs_open( xfs_file_open( struct inode *inode, struct inode *inode, struct file *filp) struct file *filp) { { Loading @@ -269,7 +269,7 @@ linvfs_open( STATIC int STATIC int linvfs_release( xfs_file_release( struct inode *inode, struct inode *inode, struct file *filp) struct file *filp) { { Loading @@ -283,7 +283,7 @@ linvfs_release( STATIC int STATIC int linvfs_fsync( xfs_file_fsync( struct file *filp, struct file *filp, struct dentry *dentry, struct dentry *dentry, int datasync) int datasync) Loading @@ -302,7 +302,7 @@ linvfs_fsync( } } /* /* * linvfs_readdir maps to VOP_READDIR(). * xfs_file_readdir maps to VOP_READDIR(). * We need to build a uio, cred, ... * We need to build a uio, cred, ... */ */ Loading @@ -311,7 +311,7 @@ linvfs_fsync( #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI STATIC struct page * STATIC struct page * linvfs_filemap_nopage( xfs_vm_nopage( struct vm_area_struct *area, struct vm_area_struct *area, unsigned long address, unsigned long address, int *type) int *type) Loading @@ -334,7 +334,7 @@ linvfs_filemap_nopage( STATIC int STATIC int linvfs_readdir( xfs_file_readdir( struct file *filp, struct file *filp, void *dirent, void *dirent, filldir_t filldir) filldir_t filldir) Loading Loading @@ -414,7 +414,7 @@ linvfs_readdir( STATIC int STATIC int linvfs_file_mmap( xfs_file_mmap( struct file *filp, struct file *filp, struct vm_area_struct *vma) struct vm_area_struct *vma) { { Loading @@ -423,11 +423,11 @@ linvfs_file_mmap( vattr_t *vattr; vattr_t *vattr; int error; int error; vma->vm_ops = &linvfs_file_vm_ops; vma->vm_ops = &xfs_file_vm_ops; #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI if (vp->v_vfsp->vfs_flag & VFS_DMI) { if (vp->v_vfsp->vfs_flag & VFS_DMI) { vma->vm_ops = &linvfs_dmapi_file_vm_ops; vma->vm_ops = &xfs_dmapi_file_vm_ops; } } #endif /* CONFIG_XFS_DMAPI */ #endif /* CONFIG_XFS_DMAPI */ Loading @@ -444,7 +444,7 @@ linvfs_file_mmap( STATIC long STATIC long linvfs_ioctl( xfs_file_ioctl( struct file *filp, struct file *filp, unsigned int cmd, unsigned int cmd, unsigned long arg) unsigned long arg) Loading @@ -466,7 +466,7 @@ linvfs_ioctl( } } STATIC long STATIC long linvfs_ioctl_invis( xfs_file_ioctl_invis( struct file *filp, struct file *filp, unsigned int cmd, unsigned int cmd, unsigned long arg) unsigned long arg) Loading @@ -491,7 +491,7 @@ linvfs_ioctl_invis( #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI #ifdef HAVE_VMOP_MPROTECT #ifdef HAVE_VMOP_MPROTECT STATIC int STATIC int linvfs_mprotect( xfs_vm_mprotect( struct vm_area_struct *vma, struct vm_area_struct *vma, unsigned int newflags) unsigned int newflags) { { Loading @@ -518,7 +518,7 @@ linvfs_mprotect( * it back online. * it back online. */ */ STATIC int STATIC int linvfs_open_exec( xfs_file_open_exec( struct inode *inode) struct inode *inode) { { vnode_t *vp = LINVFS_GET_VP(inode); vnode_t *vp = LINVFS_GET_VP(inode); Loading @@ -542,69 +542,69 @@ linvfs_open_exec( } } #endif /* HAVE_FOP_OPEN_EXEC */ #endif /* HAVE_FOP_OPEN_EXEC */ struct file_operations linvfs_file_operations = { struct file_operations xfs_file_operations = { .llseek = generic_file_llseek, .llseek = generic_file_llseek, .read = do_sync_read, .read = do_sync_read, .write = do_sync_write, .write = do_sync_write, .readv = linvfs_readv, .readv = xfs_file_readv, .writev = linvfs_writev, .writev = xfs_file_writev, .aio_read = linvfs_aio_read, .aio_read = xfs_file_aio_read, .aio_write = linvfs_aio_write, .aio_write = xfs_file_aio_write, .sendfile = linvfs_sendfile, .sendfile = xfs_file_sendfile, .unlocked_ioctl = linvfs_ioctl, .unlocked_ioctl = xfs_file_ioctl, #ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT .compat_ioctl = linvfs_compat_ioctl, .compat_ioctl = xfs_file_compat_ioctl, #endif #endif .mmap = linvfs_file_mmap, .mmap = xfs_file_mmap, .open = linvfs_open, .open = xfs_file_open, .release = linvfs_release, .release = xfs_file_release, .fsync = linvfs_fsync, .fsync = xfs_file_fsync, #ifdef HAVE_FOP_OPEN_EXEC #ifdef HAVE_FOP_OPEN_EXEC .open_exec = linvfs_open_exec, .open_exec = xfs_file_open_exec, #endif #endif }; }; struct file_operations linvfs_invis_file_operations = { struct file_operations xfs_invis_file_operations = { .llseek = generic_file_llseek, .llseek = generic_file_llseek, .read = do_sync_read, .read = do_sync_read, .write = do_sync_write, .write = do_sync_write, .readv = linvfs_readv_invis, .readv = xfs_file_readv_invis, .writev = linvfs_writev_invis, .writev = xfs_file_writev_invis, .aio_read = linvfs_aio_read_invis, .aio_read = xfs_file_aio_read_invis, .aio_write = linvfs_aio_write_invis, .aio_write = xfs_file_aio_write_invis, .sendfile = linvfs_sendfile, .sendfile = xfs_file_sendfile, .unlocked_ioctl = linvfs_ioctl_invis, .unlocked_ioctl = xfs_file_ioctl_invis, #ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT .compat_ioctl = linvfs_compat_invis_ioctl, .compat_ioctl = xfs_file_compat_invis_ioctl, #endif #endif .mmap = linvfs_file_mmap, .mmap = xfs_file_mmap, .open = linvfs_open, .open = xfs_file_open, .release = linvfs_release, .release = xfs_file_release, .fsync = linvfs_fsync, .fsync = xfs_file_fsync, }; }; struct file_operations linvfs_dir_operations = { struct file_operations xfs_dir_file_operations = { .read = generic_read_dir, .read = generic_read_dir, .readdir = linvfs_readdir, .readdir = xfs_file_readdir, .unlocked_ioctl = linvfs_ioctl, .unlocked_ioctl = xfs_file_ioctl, #ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT .compat_ioctl = linvfs_compat_ioctl, .compat_ioctl = xfs_file_compat_ioctl, #endif #endif .fsync = linvfs_fsync, .fsync = xfs_file_fsync, }; }; static struct vm_operations_struct linvfs_file_vm_ops = { static struct vm_operations_struct xfs_file_vm_ops = { .nopage = filemap_nopage, .nopage = filemap_nopage, .populate = filemap_populate, .populate = filemap_populate, }; }; #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI static struct vm_operations_struct linvfs_dmapi_file_vm_ops = { static struct vm_operations_struct xfs_dmapi_file_vm_ops = { .nopage = linvfs_filemap_nopage, .nopage = xfs_vm_nopage, .populate = filemap_populate, .populate = filemap_populate, #ifdef HAVE_VMOP_MPROTECT #ifdef HAVE_VMOP_MPROTECT .mprotect = linvfs_mprotect, .mprotect = xfs_vm_mprotect, #endif #endif }; }; #endif /* CONFIG_XFS_DMAPI */ #endif /* CONFIG_XFS_DMAPI */ fs/xfs/linux-2.6/xfs_ioctl.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -344,7 +344,7 @@ xfs_open_by_handle( return -XFS_ERROR(-PTR_ERR(filp)); return -XFS_ERROR(-PTR_ERR(filp)); } } if (inode->i_mode & S_IFREG) if (inode->i_mode & S_IFREG) filp->f_op = &linvfs_invis_file_operations; filp->f_op = &xfs_invis_file_operations; fd_install(new_fd, filp); fd_install(new_fd, filp); return new_fd; return new_fd; Loading fs/xfs/linux-2.6/xfs_iops.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -22,9 +22,9 @@ extern struct inode_operations linvfs_file_inode_operations; extern struct inode_operations linvfs_dir_inode_operations; extern struct inode_operations linvfs_dir_inode_operations; extern struct inode_operations linvfs_symlink_inode_operations; extern struct inode_operations linvfs_symlink_inode_operations; extern struct file_operations linvfs_file_operations; extern struct file_operations xfs_file_operations; extern struct file_operations linvfs_invis_file_operations; extern struct file_operations xfs_dir_file_operations; extern struct file_operations linvfs_dir_operations; extern struct file_operations xfs_invis_file_operations; extern int xfs_ioctl(struct bhv_desc *, struct inode *, struct file *, extern int xfs_ioctl(struct bhv_desc *, struct inode *, struct file *, int, unsigned int, void __user *); int, unsigned int, void __user *); Loading fs/xfs/linux-2.6/xfs_super.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -128,12 +128,12 @@ xfs_set_inodeops( switch (inode->i_mode & S_IFMT) { switch (inode->i_mode & S_IFMT) { case S_IFREG: case S_IFREG: inode->i_op = &linvfs_file_inode_operations; inode->i_op = &linvfs_file_inode_operations; inode->i_fop = &linvfs_file_operations; inode->i_fop = &xfs_file_operations; inode->i_mapping->a_ops = &xfs_address_space_operations; inode->i_mapping->a_ops = &xfs_address_space_operations; break; break; case S_IFDIR: case S_IFDIR: inode->i_op = &linvfs_dir_inode_operations; inode->i_op = &linvfs_dir_inode_operations; inode->i_fop = &linvfs_dir_operations; inode->i_fop = &xfs_dir_file_operations; break; break; case S_IFLNK: case S_IFLNK: inode->i_op = &linvfs_symlink_inode_operations; inode->i_op = &linvfs_symlink_inode_operations; Loading Loading
fs/xfs/linux-2.6/xfs_file.c +70 −70 Original line number Original line Diff line number Diff line Loading @@ -43,13 +43,13 @@ #include <linux/dcache.h> #include <linux/dcache.h> #include <linux/smp_lock.h> #include <linux/smp_lock.h> static struct vm_operations_struct linvfs_file_vm_ops; static struct vm_operations_struct xfs_file_vm_ops; #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI static struct vm_operations_struct linvfs_dmapi_file_vm_ops; static struct vm_operations_struct xfs_dmapi_file_vm_ops; #endif #endif STATIC inline ssize_t STATIC inline ssize_t __linvfs_read( __xfs_file_read( struct kiocb *iocb, struct kiocb *iocb, char __user *buf, char __user *buf, int ioflags, int ioflags, Loading @@ -71,28 +71,28 @@ __linvfs_read( STATIC ssize_t STATIC ssize_t linvfs_aio_read( xfs_file_aio_read( struct kiocb *iocb, struct kiocb *iocb, char __user *buf, char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_read(iocb, buf, IO_ISAIO, count, pos); return __xfs_file_read(iocb, buf, IO_ISAIO, count, pos); } } STATIC ssize_t STATIC ssize_t linvfs_aio_read_invis( xfs_file_aio_read_invis( struct kiocb *iocb, struct kiocb *iocb, char __user *buf, char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_read(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); return __xfs_file_read(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); } } STATIC inline ssize_t STATIC inline ssize_t __linvfs_write( __xfs_file_write( struct kiocb *iocb, struct kiocb *iocb, const char __user *buf, const char __user *buf, int ioflags, int ioflags, Loading @@ -115,28 +115,28 @@ __linvfs_write( STATIC ssize_t STATIC ssize_t linvfs_aio_write( xfs_file_aio_write( struct kiocb *iocb, struct kiocb *iocb, const char __user *buf, const char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_write(iocb, buf, IO_ISAIO, count, pos); return __xfs_file_write(iocb, buf, IO_ISAIO, count, pos); } } STATIC ssize_t STATIC ssize_t linvfs_aio_write_invis( xfs_file_aio_write_invis( struct kiocb *iocb, struct kiocb *iocb, const char __user *buf, const char __user *buf, size_t count, size_t count, loff_t pos) loff_t pos) { { return __linvfs_write(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); return __xfs_file_write(iocb, buf, IO_ISAIO|IO_INVIS, count, pos); } } STATIC inline ssize_t STATIC inline ssize_t __linvfs_readv( __xfs_file_readv( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, int ioflags, int ioflags, Loading Loading @@ -165,28 +165,28 @@ __linvfs_readv( } } STATIC ssize_t STATIC ssize_t linvfs_readv( xfs_file_readv( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_readv(file, iov, 0, nr_segs, ppos); return __xfs_file_readv(file, iov, 0, nr_segs, ppos); } } STATIC ssize_t STATIC ssize_t linvfs_readv_invis( xfs_file_readv_invis( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_readv(file, iov, IO_INVIS, nr_segs, ppos); return __xfs_file_readv(file, iov, IO_INVIS, nr_segs, ppos); } } STATIC inline ssize_t STATIC inline ssize_t __linvfs_writev( __xfs_file_writev( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, int ioflags, int ioflags, Loading Loading @@ -216,27 +216,27 @@ __linvfs_writev( STATIC ssize_t STATIC ssize_t linvfs_writev( xfs_file_writev( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_writev(file, iov, 0, nr_segs, ppos); return __xfs_file_writev(file, iov, 0, nr_segs, ppos); } } STATIC ssize_t STATIC ssize_t linvfs_writev_invis( xfs_file_writev_invis( struct file *file, struct file *file, const struct iovec *iov, const struct iovec *iov, unsigned long nr_segs, unsigned long nr_segs, loff_t *ppos) loff_t *ppos) { { return __linvfs_writev(file, iov, IO_INVIS, nr_segs, ppos); return __xfs_file_writev(file, iov, IO_INVIS, nr_segs, ppos); } } STATIC ssize_t STATIC ssize_t linvfs_sendfile( xfs_file_sendfile( struct file *filp, struct file *filp, loff_t *ppos, loff_t *ppos, size_t count, size_t count, Loading @@ -252,7 +252,7 @@ linvfs_sendfile( STATIC int STATIC int linvfs_open( xfs_file_open( struct inode *inode, struct inode *inode, struct file *filp) struct file *filp) { { Loading @@ -269,7 +269,7 @@ linvfs_open( STATIC int STATIC int linvfs_release( xfs_file_release( struct inode *inode, struct inode *inode, struct file *filp) struct file *filp) { { Loading @@ -283,7 +283,7 @@ linvfs_release( STATIC int STATIC int linvfs_fsync( xfs_file_fsync( struct file *filp, struct file *filp, struct dentry *dentry, struct dentry *dentry, int datasync) int datasync) Loading @@ -302,7 +302,7 @@ linvfs_fsync( } } /* /* * linvfs_readdir maps to VOP_READDIR(). * xfs_file_readdir maps to VOP_READDIR(). * We need to build a uio, cred, ... * We need to build a uio, cred, ... */ */ Loading @@ -311,7 +311,7 @@ linvfs_fsync( #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI STATIC struct page * STATIC struct page * linvfs_filemap_nopage( xfs_vm_nopage( struct vm_area_struct *area, struct vm_area_struct *area, unsigned long address, unsigned long address, int *type) int *type) Loading @@ -334,7 +334,7 @@ linvfs_filemap_nopage( STATIC int STATIC int linvfs_readdir( xfs_file_readdir( struct file *filp, struct file *filp, void *dirent, void *dirent, filldir_t filldir) filldir_t filldir) Loading Loading @@ -414,7 +414,7 @@ linvfs_readdir( STATIC int STATIC int linvfs_file_mmap( xfs_file_mmap( struct file *filp, struct file *filp, struct vm_area_struct *vma) struct vm_area_struct *vma) { { Loading @@ -423,11 +423,11 @@ linvfs_file_mmap( vattr_t *vattr; vattr_t *vattr; int error; int error; vma->vm_ops = &linvfs_file_vm_ops; vma->vm_ops = &xfs_file_vm_ops; #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI if (vp->v_vfsp->vfs_flag & VFS_DMI) { if (vp->v_vfsp->vfs_flag & VFS_DMI) { vma->vm_ops = &linvfs_dmapi_file_vm_ops; vma->vm_ops = &xfs_dmapi_file_vm_ops; } } #endif /* CONFIG_XFS_DMAPI */ #endif /* CONFIG_XFS_DMAPI */ Loading @@ -444,7 +444,7 @@ linvfs_file_mmap( STATIC long STATIC long linvfs_ioctl( xfs_file_ioctl( struct file *filp, struct file *filp, unsigned int cmd, unsigned int cmd, unsigned long arg) unsigned long arg) Loading @@ -466,7 +466,7 @@ linvfs_ioctl( } } STATIC long STATIC long linvfs_ioctl_invis( xfs_file_ioctl_invis( struct file *filp, struct file *filp, unsigned int cmd, unsigned int cmd, unsigned long arg) unsigned long arg) Loading @@ -491,7 +491,7 @@ linvfs_ioctl_invis( #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI #ifdef HAVE_VMOP_MPROTECT #ifdef HAVE_VMOP_MPROTECT STATIC int STATIC int linvfs_mprotect( xfs_vm_mprotect( struct vm_area_struct *vma, struct vm_area_struct *vma, unsigned int newflags) unsigned int newflags) { { Loading @@ -518,7 +518,7 @@ linvfs_mprotect( * it back online. * it back online. */ */ STATIC int STATIC int linvfs_open_exec( xfs_file_open_exec( struct inode *inode) struct inode *inode) { { vnode_t *vp = LINVFS_GET_VP(inode); vnode_t *vp = LINVFS_GET_VP(inode); Loading @@ -542,69 +542,69 @@ linvfs_open_exec( } } #endif /* HAVE_FOP_OPEN_EXEC */ #endif /* HAVE_FOP_OPEN_EXEC */ struct file_operations linvfs_file_operations = { struct file_operations xfs_file_operations = { .llseek = generic_file_llseek, .llseek = generic_file_llseek, .read = do_sync_read, .read = do_sync_read, .write = do_sync_write, .write = do_sync_write, .readv = linvfs_readv, .readv = xfs_file_readv, .writev = linvfs_writev, .writev = xfs_file_writev, .aio_read = linvfs_aio_read, .aio_read = xfs_file_aio_read, .aio_write = linvfs_aio_write, .aio_write = xfs_file_aio_write, .sendfile = linvfs_sendfile, .sendfile = xfs_file_sendfile, .unlocked_ioctl = linvfs_ioctl, .unlocked_ioctl = xfs_file_ioctl, #ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT .compat_ioctl = linvfs_compat_ioctl, .compat_ioctl = xfs_file_compat_ioctl, #endif #endif .mmap = linvfs_file_mmap, .mmap = xfs_file_mmap, .open = linvfs_open, .open = xfs_file_open, .release = linvfs_release, .release = xfs_file_release, .fsync = linvfs_fsync, .fsync = xfs_file_fsync, #ifdef HAVE_FOP_OPEN_EXEC #ifdef HAVE_FOP_OPEN_EXEC .open_exec = linvfs_open_exec, .open_exec = xfs_file_open_exec, #endif #endif }; }; struct file_operations linvfs_invis_file_operations = { struct file_operations xfs_invis_file_operations = { .llseek = generic_file_llseek, .llseek = generic_file_llseek, .read = do_sync_read, .read = do_sync_read, .write = do_sync_write, .write = do_sync_write, .readv = linvfs_readv_invis, .readv = xfs_file_readv_invis, .writev = linvfs_writev_invis, .writev = xfs_file_writev_invis, .aio_read = linvfs_aio_read_invis, .aio_read = xfs_file_aio_read_invis, .aio_write = linvfs_aio_write_invis, .aio_write = xfs_file_aio_write_invis, .sendfile = linvfs_sendfile, .sendfile = xfs_file_sendfile, .unlocked_ioctl = linvfs_ioctl_invis, .unlocked_ioctl = xfs_file_ioctl_invis, #ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT .compat_ioctl = linvfs_compat_invis_ioctl, .compat_ioctl = xfs_file_compat_invis_ioctl, #endif #endif .mmap = linvfs_file_mmap, .mmap = xfs_file_mmap, .open = linvfs_open, .open = xfs_file_open, .release = linvfs_release, .release = xfs_file_release, .fsync = linvfs_fsync, .fsync = xfs_file_fsync, }; }; struct file_operations linvfs_dir_operations = { struct file_operations xfs_dir_file_operations = { .read = generic_read_dir, .read = generic_read_dir, .readdir = linvfs_readdir, .readdir = xfs_file_readdir, .unlocked_ioctl = linvfs_ioctl, .unlocked_ioctl = xfs_file_ioctl, #ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT .compat_ioctl = linvfs_compat_ioctl, .compat_ioctl = xfs_file_compat_ioctl, #endif #endif .fsync = linvfs_fsync, .fsync = xfs_file_fsync, }; }; static struct vm_operations_struct linvfs_file_vm_ops = { static struct vm_operations_struct xfs_file_vm_ops = { .nopage = filemap_nopage, .nopage = filemap_nopage, .populate = filemap_populate, .populate = filemap_populate, }; }; #ifdef CONFIG_XFS_DMAPI #ifdef CONFIG_XFS_DMAPI static struct vm_operations_struct linvfs_dmapi_file_vm_ops = { static struct vm_operations_struct xfs_dmapi_file_vm_ops = { .nopage = linvfs_filemap_nopage, .nopage = xfs_vm_nopage, .populate = filemap_populate, .populate = filemap_populate, #ifdef HAVE_VMOP_MPROTECT #ifdef HAVE_VMOP_MPROTECT .mprotect = linvfs_mprotect, .mprotect = xfs_vm_mprotect, #endif #endif }; }; #endif /* CONFIG_XFS_DMAPI */ #endif /* CONFIG_XFS_DMAPI */
fs/xfs/linux-2.6/xfs_ioctl.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -344,7 +344,7 @@ xfs_open_by_handle( return -XFS_ERROR(-PTR_ERR(filp)); return -XFS_ERROR(-PTR_ERR(filp)); } } if (inode->i_mode & S_IFREG) if (inode->i_mode & S_IFREG) filp->f_op = &linvfs_invis_file_operations; filp->f_op = &xfs_invis_file_operations; fd_install(new_fd, filp); fd_install(new_fd, filp); return new_fd; return new_fd; Loading
fs/xfs/linux-2.6/xfs_iops.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -22,9 +22,9 @@ extern struct inode_operations linvfs_file_inode_operations; extern struct inode_operations linvfs_dir_inode_operations; extern struct inode_operations linvfs_dir_inode_operations; extern struct inode_operations linvfs_symlink_inode_operations; extern struct inode_operations linvfs_symlink_inode_operations; extern struct file_operations linvfs_file_operations; extern struct file_operations xfs_file_operations; extern struct file_operations linvfs_invis_file_operations; extern struct file_operations xfs_dir_file_operations; extern struct file_operations linvfs_dir_operations; extern struct file_operations xfs_invis_file_operations; extern int xfs_ioctl(struct bhv_desc *, struct inode *, struct file *, extern int xfs_ioctl(struct bhv_desc *, struct inode *, struct file *, int, unsigned int, void __user *); int, unsigned int, void __user *); Loading
fs/xfs/linux-2.6/xfs_super.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -128,12 +128,12 @@ xfs_set_inodeops( switch (inode->i_mode & S_IFMT) { switch (inode->i_mode & S_IFMT) { case S_IFREG: case S_IFREG: inode->i_op = &linvfs_file_inode_operations; inode->i_op = &linvfs_file_inode_operations; inode->i_fop = &linvfs_file_operations; inode->i_fop = &xfs_file_operations; inode->i_mapping->a_ops = &xfs_address_space_operations; inode->i_mapping->a_ops = &xfs_address_space_operations; break; break; case S_IFDIR: case S_IFDIR: inode->i_op = &linvfs_dir_inode_operations; inode->i_op = &linvfs_dir_inode_operations; inode->i_fop = &linvfs_dir_operations; inode->i_fop = &xfs_dir_file_operations; break; break; case S_IFLNK: case S_IFLNK: inode->i_op = &linvfs_symlink_inode_operations; inode->i_op = &linvfs_symlink_inode_operations; Loading