diff options
-rw-r--r-- | fs/xfs/linux-2.6/xfs_file.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c index 05905246434d..65e78c13d4ae 100644 --- a/fs/xfs/linux-2.6/xfs_file.c +++ b/fs/xfs/linux-2.6/xfs_file.c | |||
@@ -43,9 +43,6 @@ | |||
43 | #include <linux/smp_lock.h> | 43 | #include <linux/smp_lock.h> |
44 | 44 | ||
45 | static struct vm_operations_struct xfs_file_vm_ops; | 45 | static struct vm_operations_struct xfs_file_vm_ops; |
46 | #ifdef CONFIG_XFS_DMAPI | ||
47 | static struct vm_operations_struct xfs_dmapi_file_vm_ops; | ||
48 | #endif | ||
49 | 46 | ||
50 | STATIC_INLINE ssize_t | 47 | STATIC_INLINE ssize_t |
51 | __xfs_file_read( | 48 | __xfs_file_read( |
@@ -202,22 +199,6 @@ xfs_file_fsync( | |||
202 | (xfs_off_t)0, (xfs_off_t)-1); | 199 | (xfs_off_t)0, (xfs_off_t)-1); |
203 | } | 200 | } |
204 | 201 | ||
205 | #ifdef CONFIG_XFS_DMAPI | ||
206 | STATIC int | ||
207 | xfs_vm_fault( | ||
208 | struct vm_area_struct *vma, | ||
209 | struct vm_fault *vmf) | ||
210 | { | ||
211 | struct inode *inode = vma->vm_file->f_path.dentry->d_inode; | ||
212 | bhv_vnode_t *vp = vn_from_inode(inode); | ||
213 | |||
214 | ASSERT_ALWAYS(vp->v_vfsp->vfs_flag & VFS_DMI); | ||
215 | if (XFS_SEND_MMAP(XFS_VFSTOM(vp->v_vfsp), vma, 0)) | ||
216 | return VM_FAULT_SIGBUS; | ||
217 | return filemap_fault(vma, vmf); | ||
218 | } | ||
219 | #endif /* CONFIG_XFS_DMAPI */ | ||
220 | |||
221 | /* | 202 | /* |
222 | * Unfortunately we can't just use the clean and simple readdir implementation | 203 | * Unfortunately we can't just use the clean and simple readdir implementation |
223 | * below, because nfs might call back into ->lookup from the filldir callback | 204 | * below, because nfs might call back into ->lookup from the filldir callback |
@@ -386,11 +367,6 @@ xfs_file_mmap( | |||
386 | vma->vm_ops = &xfs_file_vm_ops; | 367 | vma->vm_ops = &xfs_file_vm_ops; |
387 | vma->vm_flags |= VM_CAN_NONLINEAR; | 368 | vma->vm_flags |= VM_CAN_NONLINEAR; |
388 | 369 | ||
389 | #ifdef CONFIG_XFS_DMAPI | ||
390 | if (XFS_M(filp->f_path.dentry->d_inode->i_sb)->m_flags & XFS_MOUNT_DMAPI) | ||
391 | vma->vm_ops = &xfs_dmapi_file_vm_ops; | ||
392 | #endif /* CONFIG_XFS_DMAPI */ | ||
393 | |||
394 | file_accessed(filp); | 370 | file_accessed(filp); |
395 | return 0; | 371 | return 0; |
396 | } | 372 | } |
@@ -437,47 +413,6 @@ xfs_file_ioctl_invis( | |||
437 | return error; | 413 | return error; |
438 | } | 414 | } |
439 | 415 | ||
440 | #ifdef CONFIG_XFS_DMAPI | ||
441 | #ifdef HAVE_VMOP_MPROTECT | ||
442 | STATIC int | ||
443 | xfs_vm_mprotect( | ||
444 | struct vm_area_struct *vma, | ||
445 | unsigned int newflags) | ||
446 | { | ||
447 | struct inode *inode = vma->vm_file->f_path.dentry->d_inode; | ||
448 | struct xfs_mount *mp = XFS_M(inode->i_sb); | ||
449 | int error = 0; | ||
450 | |||
451 | if (mp->m_flags & XFS_MOUNT_DMAPI) { | ||
452 | if ((vma->vm_flags & VM_MAYSHARE) && | ||
453 | (newflags & VM_WRITE) && !(vma->vm_flags & VM_WRITE)) | ||
454 | error = XFS_SEND_MMAP(mp, vma, VM_WRITE); | ||
455 | } | ||
456 | return error; | ||
457 | } | ||
458 | #endif /* HAVE_VMOP_MPROTECT */ | ||
459 | #endif /* CONFIG_XFS_DMAPI */ | ||
460 | |||
461 | #ifdef HAVE_FOP_OPEN_EXEC | ||
462 | /* If the user is attempting to execute a file that is offline then | ||
463 | * we have to trigger a DMAPI READ event before the file is marked as busy | ||
464 | * otherwise the invisible I/O will not be able to write to the file to bring | ||
465 | * it back online. | ||
466 | */ | ||
467 | STATIC int | ||
468 | xfs_file_open_exec( | ||
469 | struct inode *inode) | ||
470 | { | ||
471 | struct xfs_mount *mp = XFS_M(inode->i_sb); | ||
472 | struct xfs_inode *ip = XFS_I(inode); | ||
473 | |||
474 | if (unlikely(mp->m_flags & XFS_MOUNT_DMAPI) && | ||
475 | DM_EVENT_ENABLED(ip, DM_EVENT_READ)) | ||
476 | return -XFS_SEND_DATA(mp, DM_EVENT_READ, ip, 0, 0, 0, NULL); | ||
477 | return 0; | ||
478 | } | ||
479 | #endif /* HAVE_FOP_OPEN_EXEC */ | ||
480 | |||
481 | /* | 416 | /* |
482 | * mmap()d file has taken write protection fault and is being made | 417 | * mmap()d file has taken write protection fault and is being made |
483 | * writable. We can set the page state up correctly for a writable | 418 | * writable. We can set the page state up correctly for a writable |
@@ -546,13 +481,3 @@ static struct vm_operations_struct xfs_file_vm_ops = { | |||
546 | .fault = filemap_fault, | 481 | .fault = filemap_fault, |
547 | .page_mkwrite = xfs_vm_page_mkwrite, | 482 | .page_mkwrite = xfs_vm_page_mkwrite, |
548 | }; | 483 | }; |
549 | |||
550 | #ifdef CONFIG_XFS_DMAPI | ||
551 | static struct vm_operations_struct xfs_dmapi_file_vm_ops = { | ||
552 | .fault = xfs_vm_fault, | ||
553 | .page_mkwrite = xfs_vm_page_mkwrite, | ||
554 | #ifdef HAVE_VMOP_MPROTECT | ||
555 | .mprotect = xfs_vm_mprotect, | ||
556 | #endif | ||
557 | }; | ||
558 | #endif /* CONFIG_XFS_DMAPI */ | ||