/* inotify_init - allocate and initialize an inotify instance @ops: caller's inotify operations  */
struct inotify_handle* inotify_init(const struct inotify_operations *ops)
/* inotify_init - allocate and initialize an inotify instance @ops: caller's inotify operations  */
struct inotify_handle* inotify_init(const struct inotify_operations *ops)
{
	struct inotify_handle *ih;
	ih = kmalloc(sizeof(struct inotify_handle), GFP_KERNEL);
	if (unlikely(!ih))
		return ERR_PTR(-ENOMEM);
	idr_init(&ih->idr);
	INIT_LIST_HEAD(&ih->watches);
	mutex_init(&ih->mutex);
	ih->last_wd = 0;
	ih->in_ops = ops;
	atomic_set(&ih->count, 0);
	get_inotify_handle(ih);
	return ih;
}