[PATCH 3/3] inotify: start watch descriptor count at 1

From: Eric Paris
Date: Sun Aug 16 2009 - 21:52:42 EST


The inotify_add_watch man page specifies that inotify_add_watch() will
return a non-negative integer. However, historically the inotify watches
started at 1, not at 0. Turns out that the inotifywait program provided by
the inotify-tools package doesn't properly handle a 0 watch descriptor.
In 7e790dd5 we changed from starting at 1 to starting at 0. This patch
starts at 1, just like in previous kernels, but also just like in previous
kernels it's possible for it to wrap back to 0. This preserves the kernel
functionality exactly like it was before the patch (neither method broke
the spec)

Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>
---

fs/notify/inotify/inotify_user.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 54cbded..ca0f36b 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -567,7 +567,7 @@ static struct fsnotify_group *inotify_new_group(struct user_struct *user, unsign

spin_lock_init(&group->inotify_data.idr_lock);
idr_init(&group->inotify_data.idr);
- group->inotify_data.last_wd = 0;
+ group->inotify_data.last_wd = 1;
group->inotify_data.user = user;
group->inotify_data.fa = NULL;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/