Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e0051ae authored by Randy Dunlap's avatar Randy Dunlap Committed by Linus Torvalds
Browse files

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: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d49129ac
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
obj-m := DocBook/ accounting/ auxdisplay/ connector/ \
	filesystems/configfs/ ia64/ laptops/ networking/ \
	filesystems/ filesystems/configfs/ ia64/ laptops/ networking/ \
	pcmcia/ spi/ timers/ video4linux/ vm/ watchdog/src/
+2 −0
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@ dlmfs.txt
	- info on the userspace interface to the OCFS2 DLM.
dnotify.txt
	- info about directory notification in Linux.
dnotify_test.c
	- example program for dnotify
ecryptfs.txt
	- docs on eCryptfs: stacked cryptographic filesystem for Linux.
exofs.txt
+8 −0
Original line number Diff line number Diff line
# 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)
+5 −34
Original line number Diff line number Diff line
@@ -62,38 +62,9 @@ disabled, fcntl(fd, F_NOTIFY, ...) will return -EINVAL.

Example
-------
See Documentation/filesystems/dnotify_test.c for an example.

	#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);
		}
	}
NOTE
----
Beginning with Linux 2.6.13, dnotify has been replaced by inotify.
See Documentation/filesystems/inotify.txt for more information on it.
+34 −0
Original line number Diff line number Diff line
#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);
	}
}