diff options
Diffstat (limited to 'fs/xfs/xfs_dfrag.c')
-rw-r--r-- | fs/xfs/xfs_dfrag.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c index 5bba29a07812..3b9582c60a22 100644 --- a/fs/xfs/xfs_dfrag.c +++ b/fs/xfs/xfs_dfrag.c | |||
@@ -24,24 +24,15 @@ | |||
24 | #include "xfs_trans.h" | 24 | #include "xfs_trans.h" |
25 | #include "xfs_sb.h" | 25 | #include "xfs_sb.h" |
26 | #include "xfs_ag.h" | 26 | #include "xfs_ag.h" |
27 | #include "xfs_dir2.h" | ||
28 | #include "xfs_dmapi.h" | ||
29 | #include "xfs_mount.h" | 27 | #include "xfs_mount.h" |
30 | #include "xfs_bmap_btree.h" | 28 | #include "xfs_bmap_btree.h" |
31 | #include "xfs_alloc_btree.h" | ||
32 | #include "xfs_ialloc_btree.h" | ||
33 | #include "xfs_dir2_sf.h" | ||
34 | #include "xfs_attr_sf.h" | ||
35 | #include "xfs_dinode.h" | 29 | #include "xfs_dinode.h" |
36 | #include "xfs_inode.h" | 30 | #include "xfs_inode.h" |
37 | #include "xfs_inode_item.h" | 31 | #include "xfs_inode_item.h" |
38 | #include "xfs_bmap.h" | 32 | #include "xfs_bmap.h" |
39 | #include "xfs_btree.h" | ||
40 | #include "xfs_ialloc.h" | ||
41 | #include "xfs_itable.h" | 33 | #include "xfs_itable.h" |
42 | #include "xfs_dfrag.h" | 34 | #include "xfs_dfrag.h" |
43 | #include "xfs_error.h" | 35 | #include "xfs_error.h" |
44 | #include "xfs_rw.h" | ||
45 | #include "xfs_vnodeops.h" | 36 | #include "xfs_vnodeops.h" |
46 | #include "xfs_trace.h" | 37 | #include "xfs_trace.h" |
47 | 38 | ||
@@ -69,7 +60,9 @@ xfs_swapext( | |||
69 | goto out; | 60 | goto out; |
70 | } | 61 | } |
71 | 62 | ||
72 | if (!(file->f_mode & FMODE_WRITE) || (file->f_flags & O_APPEND)) { | 63 | if (!(file->f_mode & FMODE_WRITE) || |
64 | !(file->f_mode & FMODE_READ) || | ||
65 | (file->f_flags & O_APPEND)) { | ||
73 | error = XFS_ERROR(EBADF); | 66 | error = XFS_ERROR(EBADF); |
74 | goto out_put_file; | 67 | goto out_put_file; |
75 | } | 68 | } |
@@ -81,6 +74,7 @@ xfs_swapext( | |||
81 | } | 74 | } |
82 | 75 | ||
83 | if (!(tmp_file->f_mode & FMODE_WRITE) || | 76 | if (!(tmp_file->f_mode & FMODE_WRITE) || |
77 | !(tmp_file->f_mode & FMODE_READ) || | ||
84 | (tmp_file->f_flags & O_APPEND)) { | 78 | (tmp_file->f_flags & O_APPEND)) { |
85 | error = XFS_ERROR(EBADF); | 79 | error = XFS_ERROR(EBADF); |
86 | goto out_put_tmp_file; | 80 | goto out_put_tmp_file; |
@@ -422,11 +416,8 @@ xfs_swap_extents( | |||
422 | } | 416 | } |
423 | 417 | ||
424 | 418 | ||
425 | IHOLD(ip); | 419 | xfs_trans_ijoin_ref(tp, ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); |
426 | xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | 420 | xfs_trans_ijoin_ref(tp, tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); |
427 | |||
428 | IHOLD(tip); | ||
429 | xfs_trans_ijoin(tp, tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
430 | 421 | ||
431 | xfs_trans_log_inode(tp, ip, ilf_fields); | 422 | xfs_trans_log_inode(tp, ip, ilf_fields); |
432 | xfs_trans_log_inode(tp, tip, tilf_fields); | 423 | xfs_trans_log_inode(tp, tip, tilf_fields); |