diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-05-20 00:03:38 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-05-20 00:03:38 -0400 |
| commit | badc48e6605ddeeb2484afae5993c859494decaa (patch) | |
| tree | 7da638f9bb53b1812b71e40ad6deca91d59ad301 /fs/xfs/xfs_rename.c | |
| parent | 753a6c4ff4c371a3e4e3408aaba4d03f3cfde73a (diff) | |
| parent | 2f880b65fdbc2d4915bddc59d75a176329570fdd (diff) | |
Merge branch 'master' into upstream
Diffstat (limited to 'fs/xfs/xfs_rename.c')
| -rw-r--r-- | fs/xfs/xfs_rename.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/xfs/xfs_rename.c b/fs/xfs/xfs_rename.c index 81a05cfd77d2..1f148762eb28 100644 --- a/fs/xfs/xfs_rename.c +++ b/fs/xfs/xfs_rename.c | |||
| @@ -316,6 +316,18 @@ xfs_rename( | |||
| 316 | } | 316 | } |
| 317 | } | 317 | } |
| 318 | 318 | ||
| 319 | /* | ||
| 320 | * If we are using project inheritance, we only allow renames | ||
| 321 | * into our tree when the project IDs are the same; else the | ||
| 322 | * tree quota mechanism would be circumvented. | ||
| 323 | */ | ||
| 324 | if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) && | ||
| 325 | (target_dp->i_d.di_projid != src_ip->i_d.di_projid))) { | ||
| 326 | error = XFS_ERROR(EXDEV); | ||
| 327 | xfs_rename_unlock4(inodes, XFS_ILOCK_SHARED); | ||
| 328 | goto rele_return; | ||
| 329 | } | ||
| 330 | |||
| 319 | new_parent = (src_dp != target_dp); | 331 | new_parent = (src_dp != target_dp); |
| 320 | src_is_directory = ((src_ip->i_d.di_mode & S_IFMT) == S_IFDIR); | 332 | src_is_directory = ((src_ip->i_d.di_mode & S_IFMT) == S_IFDIR); |
| 321 | 333 | ||
