diff options
| author | Steven Whitehouse <swhiteho@redhat.com> | 2009-01-20 05:29:45 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-03-27 14:43:58 -0400 |
| commit | c2aca5e529a2499d454c41e01f59f1d5fe4a1364 (patch) | |
| tree | 80515a22164ab4722ccac3026e65dfa186b0707e /include/linux | |
| parent | 10f303ae1e5e77a9f7cb053e6329906afb132c67 (diff) | |
vfs: Update fs.h to use inline functions when no file locking set
This avoids various issues which might give rise to compiler warnings
about missing functions and/or unused variable with the previous
macros. This also fixes a bug where one of the macros was returning
0, but it should have been void.
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/fs.h | 165 |
1 files changed, 139 insertions, 26 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 51de83bd8a87..d84020b7e676 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1063,34 +1063,147 @@ extern int lease_modify(struct file_lock **, int); | |||
| 1063 | extern int lock_may_read(struct inode *, loff_t start, unsigned long count); | 1063 | extern int lock_may_read(struct inode *, loff_t start, unsigned long count); |
| 1064 | extern int lock_may_write(struct inode *, loff_t start, unsigned long count); | 1064 | extern int lock_may_write(struct inode *, loff_t start, unsigned long count); |
| 1065 | #else /* !CONFIG_FILE_LOCKING */ | 1065 | #else /* !CONFIG_FILE_LOCKING */ |
| 1066 | #define fcntl_getlk(a, b) ({ -EINVAL; }) | 1066 | static inline int fcntl_getlk(struct file *file, struct flock __user *user) |
| 1067 | #define fcntl_setlk(a, b, c, d) ({ -EACCES; }) | 1067 | { |
| 1068 | return -EINVAL; | ||
| 1069 | } | ||
| 1070 | |||
| 1071 | static inline int fcntl_setlk(unsigned int fd, struct file *file, | ||
| 1072 | unsigned int cmd, struct flock __user *user) | ||
| 1073 | { | ||
| 1074 | return -EACCES; | ||
| 1075 | } | ||
| 1076 | |||
| 1068 | #if BITS_PER_LONG == 32 | 1077 | #if BITS_PER_LONG == 32 |
| 1069 | #define fcntl_getlk64(a, b) ({ -EINVAL; }) | 1078 | static inline int fcntl_getlk64(struct file *file, struct flock64 __user *user) |
| 1070 | #define fcntl_setlk64(a, b, c, d) ({ -EACCES; }) | 1079 | { |
| 1080 | return -EINVAL; | ||
| 1081 | } | ||
| 1082 | |||
| 1083 | static inline int fcntl_setlk64(unsigned int fd, struct file *file, | ||
| 1084 | unsigned int cmd, struct flock64 __user *user) | ||
| 1085 | { | ||
| 1086 | return -EACCES; | ||
| 1087 | } | ||
| 1071 | #endif | 1088 | #endif |
| 1072 | #define fcntl_setlease(a, b, c) ({ 0; }) | 1089 | static inline int fcntl_setlease(unsigned int fd, struct file *filp, long arg) |
| 1073 | #define fcntl_getlease(a) ({ 0; }) | 1090 | { |
| 1074 | #define locks_init_lock(a) ({ }) | 1091 | return 0; |
| 1075 | #define __locks_copy_lock(a, b) ({ }) | 1092 | } |
| 1076 | #define locks_copy_lock(a, b) ({ }) | 1093 | |
| 1077 | #define locks_remove_posix(a, b) ({ }) | 1094 | static inline int fcntl_getlease(struct file *filp) |
| 1078 | #define locks_remove_flock(a) ({ }) | 1095 | { |
| 1079 | #define posix_test_lock(a, b) ({ 0; }) | 1096 | return 0; |
| 1080 | #define posix_lock_file(a, b, c) ({ -ENOLCK; }) | 1097 | } |
| 1081 | #define posix_lock_file_wait(a, b) ({ -ENOLCK; }) | 1098 | |
| 1082 | #define posix_unblock_lock(a, b) (-ENOENT) | 1099 | static inline void locks_init_lock(struct file_lock *fl) |
| 1083 | #define vfs_test_lock(a, b) ({ 0; }) | 1100 | { |
| 1084 | #define vfs_lock_file(a, b, c, d) (-ENOLCK) | 1101 | return; |
| 1085 | #define vfs_cancel_lock(a, b) ({ 0; }) | 1102 | } |
| 1086 | #define flock_lock_file_wait(a, b) ({ -ENOLCK; }) | 1103 | |
| 1087 | #define __break_lease(a, b) ({ 0; }) | 1104 | static inline void __locks_copy_lock(struct file_lock *new, struct file_lock *fl) |
| 1088 | #define lease_get_mtime(a, b) ({ }) | 1105 | { |
| 1089 | #define generic_setlease(a, b, c) ({ -EINVAL; }) | 1106 | return; |
| 1090 | #define vfs_setlease(a, b, c) ({ -EINVAL; }) | 1107 | } |
| 1091 | #define lease_modify(a, b) ({ -EINVAL; }) | 1108 | |
| 1092 | #define lock_may_read(a, b, c) ({ 1; }) | 1109 | static inline void locks_copy_lock(struct file_lock *new, struct file_lock *fl) |
| 1093 | #define lock_may_write(a, b, c) ({ 1; }) | 1110 | { |
| 1111 | return; | ||
| 1112 | } | ||
| 1113 | |||
| 1114 | static inline void locks_remove_posix(struct file *filp, fl_owner_t owner) | ||
| 1115 | { | ||
| 1116 | return; | ||
| 1117 | } | ||
| 1118 | |||
| 1119 | static inline void locks_remove_flock(struct file *filp) | ||
| 1120 | { | ||
| 1121 | return; | ||
| 1122 | } | ||
| 1123 | |||
| 1124 | static inline void posix_test_lock(struct file *filp, struct file_lock *fl) | ||
| 1125 | { | ||
| 1126 | return; | ||
| 1127 | } | ||
| 1128 | |||
| 1129 | static inline int posix_lock_file(struct file *filp, struct file_lock *fl, | ||
| 1130 | struct file_lock *conflock) | ||
| 1131 | { | ||
| 1132 | return -ENOLCK; | ||
| 1133 | } | ||
| 1134 | |||
| 1135 | static inline int posix_lock_file_wait(struct file *filp, struct file_lock *fl) | ||
| 1136 | { | ||
| 1137 | return -ENOLCK; | ||
| 1138 | } | ||
| 1139 | |||
| 1140 | static inline int posix_unblock_lock(struct file *filp, | ||
| 1141 | struct file_lock *waiter) | ||
| 1142 | { | ||
| 1143 | return -ENOENT; | ||
| 1144 | } | ||
| 1145 | |||
| 1146 | static inline int vfs_test_lock(struct file *filp, struct file_lock *fl) | ||
| 1147 | { | ||
| 1148 | return 0; | ||
| 1149 | } | ||
| 1150 | |||
| 1151 | static inline int vfs_lock_file(struct file *filp, unsigned int cmd, | ||
| 1152 | struct file_lock *fl, struct file_lock *conf) | ||
| 1153 | { | ||
| 1154 | return -ENOLCK; | ||
| 1155 | } | ||
| 1156 | |||
| 1157 | static inline int vfs_cancel_lock(struct file *filp, struct file_lock *fl) | ||
| 1158 | { | ||
| 1159 | return 0; | ||
| 1160 | } | ||
| 1161 | |||
| 1162 | static inline int flock_lock_file_wait(struct file *filp, | ||
| 1163 | struct file_lock *request) | ||
| 1164 | { | ||
| 1165 | return -ENOLCK; | ||
| 1166 | } | ||
| 1167 | |||
| 1168 | static inline int __break_lease(struct inode *inode, unsigned int mode) | ||
| 1169 | { | ||
| 1170 | return 0; | ||
| 1171 | } | ||
| 1172 | |||
| 1173 | static inline void lease_get_mtime(struct inode *inode, struct timespec *time) | ||
| 1174 | { | ||
| 1175 | return; | ||
| 1176 | } | ||
| 1177 | |||
| 1178 | static inline int generic_setlease(struct file *filp, long arg, | ||
| 1179 | struct file_lock **flp) | ||
| 1180 | { | ||
| 1181 | return -EINVAL; | ||
| 1182 | } | ||
| 1183 | |||
| 1184 | static inline int vfs_setlease(struct file *filp, long arg, | ||
| 1185 | struct file_lock **lease) | ||
| 1186 | { | ||
| 1187 | return -EINVAL; | ||
| 1188 | } | ||
| 1189 | |||
| 1190 | static inline int lease_modify(struct file_lock **before, int arg) | ||
| 1191 | { | ||
| 1192 | return -EINVAL; | ||
| 1193 | } | ||
| 1194 | |||
| 1195 | static inline int lock_may_read(struct inode *inode, loff_t start, | ||
| 1196 | unsigned long len) | ||
| 1197 | { | ||
| 1198 | return 1; | ||
| 1199 | } | ||
| 1200 | |||
| 1201 | static inline int lock_may_write(struct inode *inode, loff_t start, | ||
| 1202 | unsigned long len) | ||
| 1203 | { | ||
| 1204 | return 1; | ||
| 1205 | } | ||
| 1206 | |||
| 1094 | #endif /* !CONFIG_FILE_LOCKING */ | 1207 | #endif /* !CONFIG_FILE_LOCKING */ |
| 1095 | 1208 | ||
| 1096 | 1209 | ||
