lkml.org 
[lkml]   [2005]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectNot receiving MOVE_TO events with inotify
Hello

I tried the inotify feature and I found I do not receive MOVE_TO events.
I use linux 2.6.13 from Debian, ext3 filesystem.

I set a watch on /tmp. When I move /tmp/file_a to /tmp/file_b I
receive only one event on file_a (I assume it is move_from, I did not
decode it).

Attaching a small C program that I used to print events that occur on /tmp.

Thanks

Michal Suchanek


--
Support the freedom of music!
Maybe it's a weird genre .. but weird is *not* illegal.
Maybe next time they will send a special forces commando to your picnic ..
.. because they think you are weird.
http://www.music-versus-guns.org http://en.policejnistat.cz
#include <linux/inotify.h>
#include <sys/syscall.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>

static inline _syscall0(int, inotify_init);

static inline _syscall3(int, inotify_add_watch, int, fd, const char *, path, __u32, mask);

static inline _syscall2(int, inotify_rm_watch, int, fd, int, wd);

#define BUFSIZE 4096

typedef struct inotify_event ine;

int main (int argc, char ** argv)
{
int fd = inotify_init();
int wd = inotify_add_watch(fd, "/tmp", IN_ALL_EVENTS);
static char buf[BUFSIZE];
size_t len;

while(1){
ine * pev;
len = read(fd, buf, BUFSIZE);
if(!len) { putchar('.'); sleep(5); continue;}
pev = (ine *) buf;
while(buf + len > (char *)pev) {
fprintf(stderr, "%s(%u): %x\n", pev->len ? pev->name : "(self)" , pev->wd, pev->mask);
pev = (ine *)((char *)(pev + 1)) + pev->len;
}
}
}


\
 
 \ /
  Last update: 2005-10-12 22:28    [W:0.028 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site