diff options
Diffstat (limited to 'fs/xfs/xfs_rw.c')
-rw-r--r-- | fs/xfs/xfs_rw.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/fs/xfs/xfs_rw.c b/fs/xfs/xfs_rw.c index abb2c458b148..e336742a58a4 100644 --- a/fs/xfs/xfs_rw.c +++ b/fs/xfs/xfs_rw.c | |||
@@ -47,48 +47,6 @@ | |||
47 | #include "xfs_trace.h" | 47 | #include "xfs_trace.h" |
48 | 48 | ||
49 | /* | 49 | /* |
50 | * This is a subroutine for xfs_write() and other writers (xfs_ioctl) | ||
51 | * which clears the setuid and setgid bits when a file is written. | ||
52 | */ | ||
53 | int | ||
54 | xfs_write_clear_setuid( | ||
55 | xfs_inode_t *ip) | ||
56 | { | ||
57 | xfs_mount_t *mp; | ||
58 | xfs_trans_t *tp; | ||
59 | int error; | ||
60 | |||
61 | mp = ip->i_mount; | ||
62 | tp = xfs_trans_alloc(mp, XFS_TRANS_WRITEID); | ||
63 | if ((error = xfs_trans_reserve(tp, 0, | ||
64 | XFS_WRITEID_LOG_RES(mp), | ||
65 | 0, 0, 0))) { | ||
66 | xfs_trans_cancel(tp, 0); | ||
67 | return error; | ||
68 | } | ||
69 | xfs_ilock(ip, XFS_ILOCK_EXCL); | ||
70 | xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); | ||
71 | xfs_trans_ihold(tp, ip); | ||
72 | ip->i_d.di_mode &= ~S_ISUID; | ||
73 | |||
74 | /* | ||
75 | * Note that we don't have to worry about mandatory | ||
76 | * file locking being disabled here because we only | ||
77 | * clear the S_ISGID bit if the Group execute bit is | ||
78 | * on, but if it was on then mandatory locking wouldn't | ||
79 | * have been enabled. | ||
80 | */ | ||
81 | if (ip->i_d.di_mode & S_IXGRP) { | ||
82 | ip->i_d.di_mode &= ~S_ISGID; | ||
83 | } | ||
84 | xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); | ||
85 | xfs_trans_set_sync(tp); | ||
86 | error = xfs_trans_commit(tp, 0); | ||
87 | xfs_iunlock(ip, XFS_ILOCK_EXCL); | ||
88 | return 0; | ||
89 | } | ||
90 | |||
91 | /* | ||
92 | * Force a shutdown of the filesystem instantly while keeping | 50 | * Force a shutdown of the filesystem instantly while keeping |
93 | * the filesystem consistent. We don't do an unmount here; just shutdown | 51 | * the filesystem consistent. We don't do an unmount here; just shutdown |
94 | * the shop, make sure that absolutely nothing persistent happens to | 52 | * the shop, make sure that absolutely nothing persistent happens to |