Re: File change notification
From: Javier Fernandez-Ivern (ivern_at_acm.org)
Date: 12/31/03
- Previous message: Willem Riede: "Re: ide-scsi for DI-30 and strange messages in dmesg"
- In reply to: Rüdiger Klaehn: "File change notification"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 31 Dec 2003 12:49:07 -0800 To: rudi@lambda-computing.de
Rüdiger Klaehn wrote:
Rudiger, I've been reading your code to try and understand it, and I
found one think I'm not so sure about:
> +++ develop/fs/dnotify.c 2003-12-31 16:59:36.000000000 +0100
> @@ -153,8 +153,9 @@
> void dnotify_parent(struct dentry *dentry, unsigned long event)
> {
> struct dentry *parent;
> -
> spin_lock(&dentry->d_lock);
> + /* call inotify for this dentry */
> + inotify_dentrychange(dentry,event);
...
> +/*
> + * This function should be called when something changes about a dentry, such
> + * as attributes, creating, deleting, renaming etc.
> + */
> +void inotify_dentrychange(struct dentry *dentry,unsigned long event)
> +{
> + in_info info;
> + struct dentry *parent;
> + memset(&info,0,sizeof(in_info));
> + info.event=event;
> + spin_lock(&dentry->d_lock);
inotify_dentrychange() is called from dnotify_parent() with the
dentry->d_lock spinlock held. However, it also tries to attain the
spinlock. Wouldn't this deadlock? I thought spinlocks were not recursive.
Please let me know if I'm not understanding this...I'm a locking newbie.
-- Javier Fernandez-Ivern - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Previous message: Willem Riede: "Re: ide-scsi for DI-30 and strange messages in dmesg"
- In reply to: Rüdiger Klaehn: "File change notification"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|