On Wed, Dec 06, 2006 at 12:34:20AM -0500, J. Bruce Fields wrote:
> +int gdlm_plock_callback(struct plock_op *op)
> +{
> +     struct file *file;
> +     struct file_lock *fl;
> +     int rv;
> +
> +     spin_lock(&ops_lock);
> +     if (!list_empty(&op->list)) {
> +             printk(KERN_INFO "plock op on list\n");
> +             list_del(&op->list);
> +     }
> +     spin_unlock(&ops_lock);
> +
> +     rv = op->info.rv;
> +
> +     if (!rv) {
> +             /* check if the following are still valid or make a copy */
> +             file = op->info.file;
> +             fl = op->info.fl;
> +             
> +             if (posix_lock_file_wait(file, fl) < 0)
> +                     log_error("gdlm_plock: vfs lock error file %p fl %p",
> +                               file, fl);
> +     }
> +
> +     kfree(op);
> +     return rv;
> +}

..

> +     if (found) {
> +             if (op->info.callback)
> +                     gdlm_plock_callback(op);
> +             else
> +                     wake_up(&recv_wq);
> +     }

The gfs side looks fine to me.  Did you forget to call fl_notify from
gdlm_plock_callback() or am I missing something?

Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to