Documentation/fs/: split txt and source files
Make dnotify_test.c source file and add it to Makefile so that bitrot can be prevented. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d49129accc
commit
1e0051ae48
5 changed files with 50 additions and 35 deletions
|
@ -1,3 +1,3 @@
|
||||||
obj-m := DocBook/ accounting/ auxdisplay/ connector/ \
|
obj-m := DocBook/ accounting/ auxdisplay/ connector/ \
|
||||||
filesystems/configfs/ ia64/ laptops/ networking/ \
|
filesystems/ filesystems/configfs/ ia64/ laptops/ networking/ \
|
||||||
pcmcia/ spi/ timers/ video4linux/ vm/ watchdog/src/
|
pcmcia/ spi/ timers/ video4linux/ vm/ watchdog/src/
|
||||||
|
|
|
@ -32,6 +32,8 @@ dlmfs.txt
|
||||||
- info on the userspace interface to the OCFS2 DLM.
|
- info on the userspace interface to the OCFS2 DLM.
|
||||||
dnotify.txt
|
dnotify.txt
|
||||||
- info about directory notification in Linux.
|
- info about directory notification in Linux.
|
||||||
|
dnotify_test.c
|
||||||
|
- example program for dnotify
|
||||||
ecryptfs.txt
|
ecryptfs.txt
|
||||||
- docs on eCryptfs: stacked cryptographic filesystem for Linux.
|
- docs on eCryptfs: stacked cryptographic filesystem for Linux.
|
||||||
exofs.txt
|
exofs.txt
|
||||||
|
|
8
Documentation/filesystems/Makefile
Normal file
8
Documentation/filesystems/Makefile
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# kbuild trick to avoid linker error. Can be omitted if a module is built.
|
||||||
|
obj- := dummy.o
|
||||||
|
|
||||||
|
# List of programs to build
|
||||||
|
hostprogs-y := dnotify_test
|
||||||
|
|
||||||
|
# Tell kbuild to always build the programs
|
||||||
|
always := $(hostprogs-y)
|
|
@ -62,38 +62,9 @@ disabled, fcntl(fd, F_NOTIFY, ...) will return -EINVAL.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
-------
|
-------
|
||||||
|
See Documentation/filesystems/dnotify_test.c for an example.
|
||||||
|
|
||||||
#define _GNU_SOURCE /* needed to get the defines */
|
NOTE
|
||||||
#include <fcntl.h> /* in glibc 2.2 this has the needed
|
----
|
||||||
values defined */
|
Beginning with Linux 2.6.13, dnotify has been replaced by inotify.
|
||||||
#include <signal.h>
|
See Documentation/filesystems/inotify.txt for more information on it.
|
||||||
#include <stdio.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static volatile int event_fd;
|
|
||||||
|
|
||||||
static void handler(int sig, siginfo_t *si, void *data)
|
|
||||||
{
|
|
||||||
event_fd = si->si_fd;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
struct sigaction act;
|
|
||||||
int fd;
|
|
||||||
|
|
||||||
act.sa_sigaction = handler;
|
|
||||||
sigemptyset(&act.sa_mask);
|
|
||||||
act.sa_flags = SA_SIGINFO;
|
|
||||||
sigaction(SIGRTMIN + 1, &act, NULL);
|
|
||||||
|
|
||||||
fd = open(".", O_RDONLY);
|
|
||||||
fcntl(fd, F_SETSIG, SIGRTMIN + 1);
|
|
||||||
fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT);
|
|
||||||
/* we will now be notified if any of the files
|
|
||||||
in "." is modified or new files are created */
|
|
||||||
while (1) {
|
|
||||||
pause();
|
|
||||||
printf("Got event on fd=%d\n", event_fd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
34
Documentation/filesystems/dnotify_test.c
Normal file
34
Documentation/filesystems/dnotify_test.c
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
#define _GNU_SOURCE /* needed to get the defines */
|
||||||
|
#include <fcntl.h> /* in glibc 2.2 this has the needed
|
||||||
|
values defined */
|
||||||
|
#include <signal.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
static volatile int event_fd;
|
||||||
|
|
||||||
|
static void handler(int sig, siginfo_t *si, void *data)
|
||||||
|
{
|
||||||
|
event_fd = si->si_fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
struct sigaction act;
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
act.sa_sigaction = handler;
|
||||||
|
sigemptyset(&act.sa_mask);
|
||||||
|
act.sa_flags = SA_SIGINFO;
|
||||||
|
sigaction(SIGRTMIN + 1, &act, NULL);
|
||||||
|
|
||||||
|
fd = open(".", O_RDONLY);
|
||||||
|
fcntl(fd, F_SETSIG, SIGRTMIN + 1);
|
||||||
|
fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT);
|
||||||
|
/* we will now be notified if any of the files
|
||||||
|
in "." is modified or new files are created */
|
||||||
|
while (1) {
|
||||||
|
pause();
|
||||||
|
printf("Got event on fd=%d\n", event_fd);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue