Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 5549
b: refs/heads/master
c: b9c55d2
h: refs/heads/master
i:
  5547: a9b4bee
v: v3
  • Loading branch information
John McCutchan authored and Linus Torvalds committed Aug 1, 2005
1 parent 4e63d4d commit 67b7fc7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7544953685859875b5ac0260b6b1856066c092d6
refs/heads/master: b9c55d29e9fced1eb1b4c252b2efd4b55a0c3c7f
5 changes: 4 additions & 1 deletion trunk/fs/inotify.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ struct inotify_device {
unsigned int queue_size; /* size of the queue (bytes) */
unsigned int event_count; /* number of pending events */
unsigned int max_events; /* maximum number of events */
u32 last_wd; /* the last wd allocated */
};

/*
Expand Down Expand Up @@ -352,7 +353,7 @@ static int inotify_dev_get_wd(struct inotify_device *dev,
do {
if (unlikely(!idr_pre_get(&dev->idr, GFP_KERNEL)))
return -ENOSPC;
ret = idr_get_new(&dev->idr, watch, &watch->wd);
ret = idr_get_new_above(&dev->idr, watch, dev->last_wd, &watch->wd);
} while (ret == -EAGAIN);

return ret;
Expand Down Expand Up @@ -401,6 +402,7 @@ static struct inotify_watch *create_watch(struct inotify_device *dev,
return ERR_PTR(ret);
}

dev->last_wd = ret;
watch->mask = mask;
atomic_set(&watch->count, 0);
INIT_LIST_HEAD(&watch->d_list);
Expand Down Expand Up @@ -899,6 +901,7 @@ asmlinkage long sys_inotify_init(void)
dev->queue_size = 0;
dev->max_events = inotify_max_queued_events;
dev->user = user;
dev->last_wd = 0;
atomic_set(&dev->count, 0);

get_inotify_dev(dev);
Expand Down

0 comments on commit 67b7fc7

Please sign in to comment.