/[linux-patches]/genpatches-2.6/trunk/2.6.12-pre/4800_inotify-0.23-9.patch
Gentoo

Diff of /genpatches-2.6/trunk/2.6.12-pre/4800_inotify-0.23-9.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

genpatches-2.6/trunk/2.6.12-pre/4800_inotify-0.23-8.patch Revision 28 genpatches-2.6/trunk/2.6.12-pre/4800_inotify-0.23-9.patch Revision 29
32 fs/Kconfig | 13 32 fs/Kconfig | 13
33 fs/Makefile | 1 33 fs/Makefile | 1
34 fs/attr.c | 33 - 34 fs/attr.c | 33 -
35 fs/compat.c | 12 35 fs/compat.c | 12
36 fs/file_table.c | 3 36 fs/file_table.c | 3
37 fs/inode.c | 6 37 fs/inode.c | 9
38 fs/inotify.c | 981 ++++++++++++++++++++++++++++++++++ 38 fs/inotify.c | 985 ++++++++++++++++++++++++++++++++++
39 fs/namei.c | 30 - 39 fs/namei.c | 30 -
40 fs/nfsd/vfs.c | 6 40 fs/nfsd/vfs.c | 6
41 fs/open.c | 4 41 fs/open.c | 4
42 fs/read_write.c | 15 42 fs/read_write.c | 15
43 fs/sysfs/file.c | 7 43 fs/sysfs/file.c | 7
44 fs/xattr.c | 5 44 fs/xattr.c | 5
45 include/linux/fs.h | 6 45 include/linux/fs.h | 7
46 include/linux/fsnotify.h | 257 ++++++++ 46 include/linux/fsnotify.h | 257 ++++++++
47 include/linux/inotify.h | 124 ++++ 47 include/linux/inotify.h | 124 ++++
48 include/linux/sched.h | 4 48 include/linux/sched.h | 4
49 kernel/user.c | 4 49 kernel/user.c | 4
50 19 files changed, 1570 insertions(+), 64 deletions(-) 50 19 files changed, 1578 insertions(+), 64 deletions(-)
51 51
52diff -urN linux-2.6.12-rc6/Documentation/filesystems/inotify.txt linux/Documentation/filesystems/inotify.txt 52diff -urN linux-2.6.12-rc6/Documentation/filesystems/inotify.txt linux/Documentation/filesystems/inotify.txt
53--- linux-2.6.12-rc6/Documentation/filesystems/inotify.txt 1969-12-31 19:00:00.000000000 -0500 53--- linux-2.6.12-rc6/Documentation/filesystems/inotify.txt 1969-12-31 19:00:00.000000000 -0500
54+++ linux/Documentation/filesystems/inotify.txt 2005-06-07 15:49:02.000000000 -0400 54+++ linux/Documentation/filesystems/inotify.txt 2005-06-13 11:28:04.000000000 -0400
55@@ -0,0 +1,123 @@ 55@@ -0,0 +1,123 @@
56+ inotify 56+ inotify
57+ a powerful yet simple file change notification system 57+ a powerful yet simple file change notification system
58+ 58+
59+ 59+
176+calls that mirrored open, close, and ioctl seemed silly. A 176+calls that mirrored open, close, and ioctl seemed silly. A
177+character device makes sense from user-space and was easy to 177+character device makes sense from user-space and was easy to
178+implement inside of the kernel. 178+implement inside of the kernel.
179diff -urN linux-2.6.12-rc6/fs/attr.c linux/fs/attr.c 179diff -urN linux-2.6.12-rc6/fs/attr.c linux/fs/attr.c
180--- linux-2.6.12-rc6/fs/attr.c 2005-06-07 15:47:52.000000000 -0400 180--- linux-2.6.12-rc6/fs/attr.c 2005-06-07 15:47:52.000000000 -0400
181+++ linux/fs/attr.c 2005-06-07 15:49:02.000000000 -0400 181+++ linux/fs/attr.c 2005-06-13 11:28:04.000000000 -0400
182@@ -10,7 +10,7 @@ 182@@ -10,7 +10,7 @@
183 #include <linux/mm.h> 183 #include <linux/mm.h>
184 #include <linux/string.h> 184 #include <linux/string.h>
185 #include <linux/smp_lock.h> 185 #include <linux/smp_lock.h>
186-#include <linux/dnotify.h> 186-#include <linux/dnotify.h>
235 return error; 235 return error;
236 } 236 }
237 237
238diff -urN linux-2.6.12-rc6/fs/compat.c linux/fs/compat.c 238diff -urN linux-2.6.12-rc6/fs/compat.c linux/fs/compat.c
239--- linux-2.6.12-rc6/fs/compat.c 2005-06-07 15:47:52.000000000 -0400 239--- linux-2.6.12-rc6/fs/compat.c 2005-06-07 15:47:52.000000000 -0400
240+++ linux/fs/compat.c 2005-06-07 15:49:02.000000000 -0400 240+++ linux/fs/compat.c 2005-06-13 11:28:04.000000000 -0400
241@@ -37,7 +37,7 @@ 241@@ -37,7 +37,7 @@
242 #include <linux/ctype.h> 242 #include <linux/ctype.h>
243 #include <linux/module.h> 243 #include <linux/module.h>
244 #include <linux/dirent.h> 244 #include <linux/dirent.h>
245-#include <linux/dnotify.h> 245-#include <linux/dnotify.h>
264 return ret; 264 return ret;
265 } 265 }
266 266
267diff -urN linux-2.6.12-rc6/fs/file_table.c linux/fs/file_table.c 267diff -urN linux-2.6.12-rc6/fs/file_table.c linux/fs/file_table.c
268--- linux-2.6.12-rc6/fs/file_table.c 2005-03-02 02:37:47.000000000 -0500 268--- linux-2.6.12-rc6/fs/file_table.c 2005-03-02 02:37:47.000000000 -0500
269+++ linux/fs/file_table.c 2005-06-07 15:49:02.000000000 -0400 269+++ linux/fs/file_table.c 2005-06-13 11:28:04.000000000 -0400
270@@ -16,6 +16,7 @@ 270@@ -16,6 +16,7 @@
271 #include <linux/eventpoll.h> 271 #include <linux/eventpoll.h>
272 #include <linux/mount.h> 272 #include <linux/mount.h>
273 #include <linux/cdev.h> 273 #include <linux/cdev.h>
274+#include <linux/fsnotify.h> 274+#include <linux/fsnotify.h>
284 /* 284 /*
285 * The function eventpoll_release() should be the first called 285 * The function eventpoll_release() should be the first called
286 * in the file cleanup chain. 286 * in the file cleanup chain.
287diff -urN linux-2.6.12-rc6/fs/inode.c linux/fs/inode.c 287diff -urN linux-2.6.12-rc6/fs/inode.c linux/fs/inode.c
288--- linux-2.6.12-rc6/fs/inode.c 2005-06-07 15:47:52.000000000 -0400 288--- linux-2.6.12-rc6/fs/inode.c 2005-06-07 15:47:52.000000000 -0400
289+++ linux/fs/inode.c 2005-06-07 15:49:02.000000000 -0400 289+++ linux/fs/inode.c 2005-06-13 11:28:07.000000000 -0400
290@@ -21,6 +21,7 @@ 290@@ -21,6 +21,7 @@
291 #include <linux/pagemap.h> 291 #include <linux/pagemap.h>
292 #include <linux/cdev.h> 292 #include <linux/cdev.h>
293 #include <linux/bootmem.h> 293 #include <linux/bootmem.h>
294+#include <linux/inotify.h> 294+#include <linux/inotify.h>
295 295
296 /* 296 /*
297 * This is needed for the following functions: 297 * This is needed for the following functions:
298@@ -128,6 +129,10 @@ 298@@ -128,6 +129,9 @@
299 #ifdef CONFIG_QUOTA 299 #ifdef CONFIG_QUOTA
300 memset(&inode->i_dquot, 0, sizeof(inode->i_dquot)); 300 memset(&inode->i_dquot, 0, sizeof(inode->i_dquot));
301 #endif 301 #endif
302+#ifdef CONFIG_INOTIFY 302+#ifdef CONFIG_INOTIFY
303+ INIT_LIST_HEAD(&inode->inotify_watches); 303+ atomic_set(&inode->inotify_watch_count, 0);
304+ sema_init(&inode->inotify_sem, 1);
305+#endif 304+#endif
306 inode->i_pipe = NULL; 305 inode->i_pipe = NULL;
307 inode->i_bdev = NULL; 306 inode->i_bdev = NULL;
308 inode->i_cdev = NULL; 307 inode->i_cdev = NULL;
308@@ -202,6 +206,10 @@
309 INIT_LIST_HEAD(&inode->i_data.i_mmap_nonlinear);
310 spin_lock_init(&inode->i_lock);
311 i_size_ordered_init(inode);
312+#ifdef CONFIG_INOTIFY
313+ INIT_LIST_HEAD(&inode->inotify_watches);
314+ sema_init(&inode->inotify_sem, 1);
315+#endif
316 }
317
318 EXPORT_SYMBOL(inode_init_once);
309@@ -346,6 +351,7 @@ 319@@ -346,6 +354,7 @@
310 320
311 down(&iprune_sem); 321 down(&iprune_sem);
312 spin_lock(&inode_lock); 322 spin_lock(&inode_lock);
313+ inotify_unmount_inodes(&sb->s_inodes); 323+ inotify_unmount_inodes(&sb->s_inodes);
314 busy = invalidate_list(&sb->s_inodes, &throw_away); 324 busy = invalidate_list(&sb->s_inodes, &throw_away);
315 spin_unlock(&inode_lock); 325 spin_unlock(&inode_lock);
316 326
317diff -urN linux-2.6.12-rc6/fs/inotify.c linux/fs/inotify.c 327diff -urN linux-2.6.12-rc6/fs/inotify.c linux/fs/inotify.c
318--- linux-2.6.12-rc6/fs/inotify.c 1969-12-31 19:00:00.000000000 -0500 328--- linux-2.6.12-rc6/fs/inotify.c 1969-12-31 19:00:00.000000000 -0500
319+++ linux/fs/inotify.c 2005-06-07 15:49:02.000000000 -0400 329+++ linux/fs/inotify.c 2005-06-13 11:28:07.000000000 -0400
320@@ -0,0 +1,981 @@ 330@@ -0,0 +1,985 @@
321+/* 331+/*
322+ * fs/inotify.c - inode-based file event notifications 332+ * fs/inotify.c - inode-based file event notifications
323+ * 333+ *
324+ * Authors: 334+ * Authors:
325+ * John McCutchan <ttb@tentacle.dhs.org> 335+ * John McCutchan <ttb@tentacle.dhs.org>
735+ 745+
736+ /* bump our own count, corresponding to our entry in dev->watches */ 746+ /* bump our own count, corresponding to our entry in dev->watches */
737+ get_inotify_watch(watch); 747+ get_inotify_watch(watch);
738+ 748+
739+ atomic_inc(&dev->user->inotify_watches); 749+ atomic_inc(&dev->user->inotify_watches);
750+ atomic_inc(&watch->inode->inotify_watch_count);
740+ 751+
741+ return watch; 752+ return watch;
742+} 753+}
743+ 754+
744+/* 755+/*
784+ struct inotify_device *dev) 795+ struct inotify_device *dev)
785+{ 796+{
786+ list_del(&watch->i_list); 797+ list_del(&watch->i_list);
787+ list_del(&watch->d_list); 798+ list_del(&watch->d_list);
788+ 799+
800+ atomic_dec(&watch->inode->inotify_watch_count);
789+ atomic_dec(&dev->user->inotify_watches); 801+ atomic_dec(&dev->user->inotify_watches);
790+ idr_remove(&dev->idr, watch->wd); 802+ idr_remove(&dev->idr, watch->wd);
791+ put_inotify_watch(watch); 803+ put_inotify_watch(watch);
792+} 804+}
793+ 805+
819+ */ 831+ */
820+void inotify_inode_queue_event(struct inode *inode, u32 mask, u32 cookie, 832+void inotify_inode_queue_event(struct inode *inode, u32 mask, u32 cookie,
821+ const char *name) 833+ const char *name)
822+{ 834+{
823+ struct inotify_watch *watch, *next; 835+ struct inotify_watch *watch, *next;
836+
837+ if (likely(!atomic_read(&inode->inotify_watch_count)))
838+ return;
824+ 839+
825+ down(&inode->inotify_sem); 840+ down(&inode->inotify_sem);
826+ list_for_each_entry_safe(watch, next, &inode->inotify_watches, i_list) { 841+ list_for_each_entry_safe(watch, next, &inode->inotify_watches, i_list) {
827+ u32 watch_mask = watch->mask; 842+ u32 watch_mask = watch->mask;
828+ if (watch_mask & mask) { 843+ if (watch_mask & mask) {
855+ 870+
856+ spin_lock(&dentry->d_lock); 871+ spin_lock(&dentry->d_lock);
857+ parent = dentry->d_parent; 872+ parent = dentry->d_parent;
858+ inode = parent->d_inode; 873+ inode = parent->d_inode;
859+ 874+
860+ /* We intentially do the list_empty() lockless. The race is fine. */ 875+ if (unlikely(atomic_read(&inode->inotify_watch_count))) {
861+ if (!list_empty(&inode->inotify_watches)) {
862+ dget(parent); 876+ dget(parent);
863+ spin_unlock(&dentry->d_lock); 877+ spin_unlock(&dentry->d_lock);
864+ inotify_inode_queue_event(inode, mask, cookie, name); 878+ inotify_inode_queue_event(inode, mask, cookie, name);
865+ dput(parent); 879+ dput(parent);
866+ } else 880+ } else
1299+} 1313+}
1300+ 1314+
1301+module_init(inotify_init); 1315+module_init(inotify_init);
1302diff -urN linux-2.6.12-rc6/fs/Kconfig linux/fs/Kconfig 1316diff -urN linux-2.6.12-rc6/fs/Kconfig linux/fs/Kconfig
1303--- linux-2.6.12-rc6/fs/Kconfig 2005-06-07 15:47:52.000000000 -0400 1317--- linux-2.6.12-rc6/fs/Kconfig 2005-06-07 15:47:52.000000000 -0400
1304+++ linux/fs/Kconfig 2005-06-07 15:49:02.000000000 -0400 1318+++ linux/fs/Kconfig 2005-06-13 11:28:04.000000000 -0400
1305@@ -339,6 +339,19 @@ 1319@@ -339,6 +339,19 @@
1306 If you don't know whether you need it, then you don't need it: 1320 If you don't know whether you need it, then you don't need it:
1307 answer N. 1321 answer N.
1308 1322
1309+config INOTIFY 1323+config INOTIFY
1322 config QUOTA 1336 config QUOTA
1323 bool "Quota support" 1337 bool "Quota support"
1324 help 1338 help
1325diff -urN linux-2.6.12-rc6/fs/Makefile linux/fs/Makefile 1339diff -urN linux-2.6.12-rc6/fs/Makefile linux/fs/Makefile
1326--- linux-2.6.12-rc6/fs/Makefile 2005-03-02 02:38:10.000000000 -0500 1340--- linux-2.6.12-rc6/fs/Makefile 2005-03-02 02:38:10.000000000 -0500
1327+++ linux/fs/Makefile 2005-06-07 15:49:02.000000000 -0400 1341+++ linux/fs/Makefile 2005-06-13 11:28:04.000000000 -0400
1328@@ -11,6 +11,7 @@ 1342@@ -11,6 +11,7 @@
1329 attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \ 1343 attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \
1330 seq_file.o xattr.o libfs.o fs-writeback.o mpage.o direct-io.o \ 1344 seq_file.o xattr.o libfs.o fs-writeback.o mpage.o direct-io.o \
1331 1345
1332+obj-$(CONFIG_INOTIFY) += inotify.o 1346+obj-$(CONFIG_INOTIFY) += inotify.o
1333 obj-$(CONFIG_EPOLL) += eventpoll.o 1347 obj-$(CONFIG_EPOLL) += eventpoll.o
1334 obj-$(CONFIG_COMPAT) += compat.o 1348 obj-$(CONFIG_COMPAT) += compat.o
1335 1349
1336diff -urN linux-2.6.12-rc6/fs/namei.c linux/fs/namei.c 1350diff -urN linux-2.6.12-rc6/fs/namei.c linux/fs/namei.c
1337--- linux-2.6.12-rc6/fs/namei.c 2005-06-07 15:47:52.000000000 -0400 1351--- linux-2.6.12-rc6/fs/namei.c 2005-06-07 15:47:52.000000000 -0400
1338+++ linux/fs/namei.c 2005-06-07 15:49:02.000000000 -0400 1352+++ linux/fs/namei.c 2005-06-13 11:28:04.000000000 -0400
1339@@ -21,7 +21,7 @@ 1353@@ -21,7 +21,7 @@
1340 #include <linux/namei.h> 1354 #include <linux/namei.h>
1341 #include <linux/quotaops.h> 1355 #include <linux/quotaops.h>
1342 #include <linux/pagemap.h> 1356 #include <linux/pagemap.h>
1343-#include <linux/dnotify.h> 1357-#include <linux/dnotify.h>
1444 return error; 1458 return error;
1445 } 1459 }
1446 1460
1447diff -urN linux-2.6.12-rc6/fs/nfsd/vfs.c linux/fs/nfsd/vfs.c 1461diff -urN linux-2.6.12-rc6/fs/nfsd/vfs.c linux/fs/nfsd/vfs.c
1448--- linux-2.6.12-rc6/fs/nfsd/vfs.c 2005-06-07 15:47:52.000000000 -0400 1462--- linux-2.6.12-rc6/fs/nfsd/vfs.c 2005-06-07 15:47:52.000000000 -0400
1449+++ linux/fs/nfsd/vfs.c 2005-06-07 15:49:02.000000000 -0400 1463+++ linux/fs/nfsd/vfs.c 2005-06-13 11:28:04.000000000 -0400
1450@@ -45,7 +45,7 @@ 1464@@ -45,7 +45,7 @@
1451 #endif /* CONFIG_NFSD_V3 */ 1465 #endif /* CONFIG_NFSD_V3 */
1452 #include <linux/nfsd/nfsfh.h> 1466 #include <linux/nfsd/nfsfh.h>
1453 #include <linux/quotaops.h> 1467 #include <linux/quotaops.h>
1454-#include <linux/dnotify.h> 1468-#include <linux/dnotify.h>
1474 } 1488 }
1475 1489
1476 /* clear setuid/setgid flag after write */ 1490 /* clear setuid/setgid flag after write */
1477diff -urN linux-2.6.12-rc6/fs/open.c linux/fs/open.c 1491diff -urN linux-2.6.12-rc6/fs/open.c linux/fs/open.c
1478--- linux-2.6.12-rc6/fs/open.c 2005-03-02 02:37:47.000000000 -0500 1492--- linux-2.6.12-rc6/fs/open.c 2005-03-02 02:37:47.000000000 -0500
1479+++ linux/fs/open.c 2005-06-07 15:49:02.000000000 -0400 1493+++ linux/fs/open.c 2005-06-13 11:28:04.000000000 -0400
1480@@ -10,7 +10,7 @@ 1494@@ -10,7 +10,7 @@
1481 #include <linux/file.h> 1495 #include <linux/file.h>
1482 #include <linux/smp_lock.h> 1496 #include <linux/smp_lock.h>
1483 #include <linux/quotaops.h> 1497 #include <linux/quotaops.h>
1484-#include <linux/dnotify.h> 1498-#include <linux/dnotify.h>
1498 fd_install(fd, f); 1512 fd_install(fd, f);
1499 } 1513 }
1500 out: 1514 out:
1501diff -urN linux-2.6.12-rc6/fs/read_write.c linux/fs/read_write.c 1515diff -urN linux-2.6.12-rc6/fs/read_write.c linux/fs/read_write.c
1502--- linux-2.6.12-rc6/fs/read_write.c 2005-06-07 15:47:52.000000000 -0400 1516--- linux-2.6.12-rc6/fs/read_write.c 2005-06-07 15:47:52.000000000 -0400
1503+++ linux/fs/read_write.c 2005-06-07 15:49:02.000000000 -0400 1517+++ linux/fs/read_write.c 2005-06-13 11:28:04.000000000 -0400
1504@@ -10,7 +10,7 @@ 1518@@ -10,7 +10,7 @@
1505 #include <linux/file.h> 1519 #include <linux/file.h>
1506 #include <linux/uio.h> 1520 #include <linux/uio.h>
1507 #include <linux/smp_lock.h> 1521 #include <linux/smp_lock.h>
1508-#include <linux/dnotify.h> 1522-#include <linux/dnotify.h>
1544 return ret; 1558 return ret;
1545 Efault: 1559 Efault:
1546 ret = -EFAULT; 1560 ret = -EFAULT;
1547diff -urN linux-2.6.12-rc6/fs/sysfs/file.c linux/fs/sysfs/file.c 1561diff -urN linux-2.6.12-rc6/fs/sysfs/file.c linux/fs/sysfs/file.c
1548--- linux-2.6.12-rc6/fs/sysfs/file.c 2005-06-07 15:47:52.000000000 -0400 1562--- linux-2.6.12-rc6/fs/sysfs/file.c 2005-06-07 15:47:52.000000000 -0400
1549+++ linux/fs/sysfs/file.c 2005-06-07 15:49:02.000000000 -0400 1563+++ linux/fs/sysfs/file.c 2005-06-13 11:28:04.000000000 -0400
1550@@ -3,7 +3,7 @@ 1564@@ -3,7 +3,7 @@
1551 */ 1565 */
1552 1566
1553 #include <linux/module.h> 1567 #include <linux/module.h>
1554-#include <linux/dnotify.h> 1568-#include <linux/dnotify.h>
1575 1589
1576 /** 1590 /**
1577 * Drop reference from initial sysfs_get_dentry(). 1591 * Drop reference from initial sysfs_get_dentry().
1578diff -urN linux-2.6.12-rc6/fs/xattr.c linux/fs/xattr.c 1592diff -urN linux-2.6.12-rc6/fs/xattr.c linux/fs/xattr.c
1579--- linux-2.6.12-rc6/fs/xattr.c 2005-03-02 02:38:07.000000000 -0500 1593--- linux-2.6.12-rc6/fs/xattr.c 2005-03-02 02:38:07.000000000 -0500
1580+++ linux/fs/xattr.c 2005-06-07 15:49:02.000000000 -0400 1594+++ linux/fs/xattr.c 2005-06-13 11:28:04.000000000 -0400
1581@@ -16,6 +16,7 @@ 1595@@ -16,6 +16,7 @@
1582 #include <linux/security.h> 1596 #include <linux/security.h>
1583 #include <linux/syscalls.h> 1597 #include <linux/syscalls.h>
1584 #include <linux/module.h> 1598 #include <linux/module.h>
1585+#include <linux/fsnotify.h> 1599+#include <linux/fsnotify.h>
1598 out: 1612 out:
1599 up(&d->d_inode->i_sem); 1613 up(&d->d_inode->i_sem);
1600 } 1614 }
1601diff -urN linux-2.6.12-rc6/include/linux/fs.h linux/include/linux/fs.h 1615diff -urN linux-2.6.12-rc6/include/linux/fs.h linux/include/linux/fs.h
1602--- linux-2.6.12-rc6/include/linux/fs.h 2005-06-07 15:47:53.000000000 -0400 1616--- linux-2.6.12-rc6/include/linux/fs.h 2005-06-07 15:47:53.000000000 -0400
1603+++ linux/include/linux/fs.h 2005-06-07 15:49:02.000000000 -0400 1617+++ linux/include/linux/fs.h 2005-06-13 11:28:07.000000000 -0400
1604@@ -471,6 +471,11 @@ 1618@@ -471,6 +471,12 @@
1605 struct dnotify_struct *i_dnotify; /* for directory notifications */ 1619 struct dnotify_struct *i_dnotify; /* for directory notifications */
1606 #endif 1620 #endif
1607 1621
1608+#ifdef CONFIG_INOTIFY 1622+#ifdef CONFIG_INOTIFY
1623+ atomic_t inotify_watch_count; /* number of watches */
1609+ struct list_head inotify_watches; /* watches on this inode */ 1624+ struct list_head inotify_watches; /* watches on this inode */
1610+ struct semaphore inotify_sem; /* protects the watches list */ 1625+ struct semaphore inotify_sem; /* protects the watches list */
1611+#endif 1626+#endif
1612+ 1627+
1613 unsigned long i_state; 1628 unsigned long i_state;
1614 unsigned long dirtied_when; /* jiffies of first dirtying */ 1629 unsigned long dirtied_when; /* jiffies of first dirtying */
1615 1630
1616@@ -1369,7 +1374,6 @@ 1631@@ -1369,7 +1375,6 @@
1617 extern int do_remount_sb(struct super_block *sb, int flags, 1632 extern int do_remount_sb(struct super_block *sb, int flags,
1618 void *data, int force); 1633 void *data, int force);
1619 extern sector_t bmap(struct inode *, sector_t); 1634 extern sector_t bmap(struct inode *, sector_t);
1620-extern int setattr_mask(unsigned int); 1635-extern int setattr_mask(unsigned int);
1621 extern int notify_change(struct dentry *, struct iattr *); 1636 extern int notify_change(struct dentry *, struct iattr *);
1622 extern int permission(struct inode *, int, struct nameidata *); 1637 extern int permission(struct inode *, int, struct nameidata *);
1623 extern int generic_permission(struct inode *, int, 1638 extern int generic_permission(struct inode *, int,
1624diff -urN linux-2.6.12-rc6/include/linux/fsnotify.h linux/include/linux/fsnotify.h 1639diff -urN linux-2.6.12-rc6/include/linux/fsnotify.h linux/include/linux/fsnotify.h
1625--- linux-2.6.12-rc6/include/linux/fsnotify.h 1969-12-31 19:00:00.000000000 -0500 1640--- linux-2.6.12-rc6/include/linux/fsnotify.h 1969-12-31 19:00:00.000000000 -0500
1626+++ linux/include/linux/fsnotify.h 2005-06-07 15:49:02.000000000 -0400 1641+++ linux/include/linux/fsnotify.h 2005-06-13 11:28:04.000000000 -0400
1627@@ -0,0 +1,257 @@ 1642@@ -0,0 +1,257 @@
1628+#ifndef _LINUX_FS_NOTIFY_H 1643+#ifndef _LINUX_FS_NOTIFY_H
1629+#define _LINUX_FS_NOTIFY_H 1644+#define _LINUX_FS_NOTIFY_H
1630+ 1645+
1631+/* 1646+/*
1882+#endif /* __KERNEL__ */ 1897+#endif /* __KERNEL__ */
1883+ 1898+
1884+#endif /* _LINUX_FS_NOTIFY_H */ 1899+#endif /* _LINUX_FS_NOTIFY_H */
1885diff -urN linux-2.6.12-rc6/include/linux/inotify.h linux/include/linux/inotify.h 1900diff -urN linux-2.6.12-rc6/include/linux/inotify.h linux/include/linux/inotify.h
1886--- linux-2.6.12-rc6/include/linux/inotify.h 1969-12-31 19:00:00.000000000 -0500 1901--- linux-2.6.12-rc6/include/linux/inotify.h 1969-12-31 19:00:00.000000000 -0500
1887+++ linux/include/linux/inotify.h 2005-06-07 15:49:02.000000000 -0400 1902+++ linux/include/linux/inotify.h 2005-06-13 11:28:04.000000000 -0400
1888@@ -0,0 +1,124 @@ 1903@@ -0,0 +1,124 @@
1889+/* 1904+/*
1890+ * Inode based directory notification for Linux 1905+ * Inode based directory notification for Linux
1891+ * 1906+ *
1892+ * Copyright (C) 2005 John McCutchan 1907+ * Copyright (C) 2005 John McCutchan
2010+#endif /* __KERNEL __ */ 2025+#endif /* __KERNEL __ */
2011+ 2026+
2012+#endif /* _LINUX_INOTIFY_H */ 2027+#endif /* _LINUX_INOTIFY_H */
2013diff -urN linux-2.6.12-rc6/include/linux/sched.h linux/include/linux/sched.h 2028diff -urN linux-2.6.12-rc6/include/linux/sched.h linux/include/linux/sched.h
2014--- linux-2.6.12-rc6/include/linux/sched.h 2005-06-07 15:47:53.000000000 -0400 2029--- linux-2.6.12-rc6/include/linux/sched.h 2005-06-07 15:47:53.000000000 -0400
2015+++ linux/include/linux/sched.h 2005-06-07 15:49:02.000000000 -0400 2030+++ linux/include/linux/sched.h 2005-06-13 11:28:04.000000000 -0400
2016@@ -404,6 +404,10 @@ 2031@@ -404,6 +404,10 @@
2017 atomic_t processes; /* How many processes does this user have? */ 2032 atomic_t processes; /* How many processes does this user have? */
2018 atomic_t files; /* How many open files does this user have? */ 2033 atomic_t files; /* How many open files does this user have? */
2019 atomic_t sigpending; /* How many pending signals does this user have? */ 2034 atomic_t sigpending; /* How many pending signals does this user have? */
2020+#ifdef CONFIG_INOTIFY 2035+#ifdef CONFIG_INOTIFY
2024 /* protected by mq_lock */ 2039 /* protected by mq_lock */
2025 unsigned long mq_bytes; /* How many bytes can be allocated to mqueue? */ 2040 unsigned long mq_bytes; /* How many bytes can be allocated to mqueue? */
2026 unsigned long locked_shm; /* How many pages of mlocked shm ? */ 2041 unsigned long locked_shm; /* How many pages of mlocked shm ? */
2027diff -urN linux-2.6.12-rc6/kernel/user.c linux/kernel/user.c 2042diff -urN linux-2.6.12-rc6/kernel/user.c linux/kernel/user.c
2028--- linux-2.6.12-rc6/kernel/user.c 2005-06-07 15:47:53.000000000 -0400 2043--- linux-2.6.12-rc6/kernel/user.c 2005-06-07 15:47:53.000000000 -0400
2029+++ linux/kernel/user.c 2005-06-07 15:49:02.000000000 -0400 2044+++ linux/kernel/user.c 2005-06-13 11:28:04.000000000 -0400
2030@@ -120,6 +120,10 @@ 2045@@ -120,6 +120,10 @@
2031 atomic_set(&new->processes, 0); 2046 atomic_set(&new->processes, 0);
2032 atomic_set(&new->files, 0); 2047 atomic_set(&new->files, 0);
2033 atomic_set(&new->sigpending, 0); 2048 atomic_set(&new->sigpending, 0);
2034+#ifdef CONFIG_INOTIFY 2049+#ifdef CONFIG_INOTIFY

Legend:
Removed from v.28  
changed lines
  Added in v.29

  ViewVC Help
Powered by ViewVC 1.1.20