diff options
| -rw-r--r-- | fs/xfs/xfs_dfrag.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c index 5bba29a07812..7f159d2a429a 100644 --- a/fs/xfs/xfs_dfrag.c +++ b/fs/xfs/xfs_dfrag.c | |||
| @@ -69,7 +69,9 @@ xfs_swapext( | |||
| 69 | goto out; | 69 | goto out; |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | if (!(file->f_mode & FMODE_WRITE) || (file->f_flags & O_APPEND)) { | 72 | if (!(file->f_mode & FMODE_WRITE) || |
| 73 | !(file->f_mode & FMODE_READ) || | ||
| 74 | (file->f_flags & O_APPEND)) { | ||
| 73 | error = XFS_ERROR(EBADF); | 75 | error = XFS_ERROR(EBADF); |
| 74 | goto out_put_file; | 76 | goto out_put_file; |
| 75 | } | 77 | } |
| @@ -81,6 +83,7 @@ xfs_swapext( | |||
| 81 | } | 83 | } |
| 82 | 84 | ||
| 83 | if (!(tmp_file->f_mode & FMODE_WRITE) || | 85 | if (!(tmp_file->f_mode & FMODE_WRITE) || |
| 86 | !(tmp_file->f_mode & FMODE_READ) || | ||
| 84 | (tmp_file->f_flags & O_APPEND)) { | 87 | (tmp_file->f_flags & O_APPEND)) { |
| 85 | error = XFS_ERROR(EBADF); | 88 | error = XFS_ERROR(EBADF); |
| 86 | goto out_put_tmp_file; | 89 | goto out_put_tmp_file; |
