This patch adds the CONFIG_FILE_LOCKING option which allows to remove support for advisory locks. With this patch enabled, the flock() system call, the F_GETLK, F_SETLK and F_SETLKW operations of fcntl() and NFS support are disabled. These features are not necessarly needed on embedded systems. It allows to save ~11 Kb of kernel code and data: text data bss dec hex filename 1125436 118764 212992 1457192 163c28 vmlinux.old 1114299 118564 212992 1445855 160fdf vmlinux -11137 -200 0 -11337 -2C49 +/- This patch has originally been written by Matt Mackall <mpm@selenic.com>, and is part of the Linux Tiny project.
Showing the changes to kernel/sysctl.c (1 of 6 files). Show all
Unified · Split
| @@ -97,7 +97,7 @@ static int sixty = 60; · 96 unmodified lines | |||
| 97 | static int neg_one = -1; | 97 | static int neg_one = -1; |
| 98 | #endif | 98 | #endif |
| 99 | 99 | ||
| 100 | #ifdef CONFIG_MMU | 100 | #if defined(CONFIG_MMU) && defined(CONFIG_FILE_LOCKING) |
| 101 | static int two = 2; | 101 | static int two = 2; |
| 102 | #endif | 102 | #endif |
| 103 | 103 | ||
| @@ -1261,6 +1261,7 @@ static struct ctl_table fs_table[] = { · 1157 unmodified lines | |||
| 1261 | .extra1 = &minolduid, | 1261 | .extra1 = &minolduid, |
| 1262 | .extra2 = &maxolduid, | 1262 | .extra2 = &maxolduid, |
| 1263 | }, | 1263 | }, |
| 1264 | #ifdef CONFIG_FILE_LOCKING | ||
| 1264 | { | 1265 | { |
| 1265 | .ctl_name = FS_LEASES, | 1266 | .ctl_name = FS_LEASES, |
| 1266 | .procname = "leases-enable", | 1267 | .procname = "leases-enable", |
| @@ -1269,6 +1270,7 @@ static struct ctl_table fs_table[] = { · 2 unmodified lines | |||
| 1269 | .mode = 0644, | 1270 | .mode = 0644, |
| 1270 | .proc_handler = &proc_dointvec, | 1271 | .proc_handler = &proc_dointvec, |
| 1271 | }, | 1272 | }, |
| 1273 | #endif | ||
| 1272 | #ifdef CONFIG_DNOTIFY | 1274 | #ifdef CONFIG_DNOTIFY |
| 1273 | { | 1275 | { |
| 1274 | .ctl_name = FS_DIR_NOTIFY, | 1276 | .ctl_name = FS_DIR_NOTIFY, |
| @@ -1280,6 +1282,7 @@ static struct ctl_table fs_table[] = { · 5 unmodified lines | |||
| 1280 | }, | 1282 | }, |
| 1281 | #endif | 1283 | #endif |
| 1282 | #ifdef CONFIG_MMU | 1284 | #ifdef CONFIG_MMU |
| 1285 | #ifdef CONFIG_FILE_LOCKING | ||
| 1283 | { | 1286 | { |
| 1284 | .ctl_name = FS_LEASE_TIME, | 1287 | .ctl_name = FS_LEASE_TIME, |
| 1285 | .procname = "lease-break-time", | 1288 | .procname = "lease-break-time", |
| @@ -1291,6 +1294,7 @@ static struct ctl_table fs_table[] = { · 5 unmodified lines | |||
| 1291 | .extra1 = &zero, | 1294 | .extra1 = &zero, |
| 1292 | .extra2 = &two, | 1295 | .extra2 = &two, |
| 1293 | }, | 1296 | }, |
| 1297 | #endif | ||
| 1294 | { | 1298 | { |
| 1295 | .procname = "aio-nr", | 1299 | .procname = "aio-nr", |
| 1296 | .data = &aio_nr, | 1300 | .data = &aio_nr, |