diff -urN linux/fs/locks.c linux-GFS/fs/locks.c --- linux/fs/locks.c Mon Aug 9 14:05:02 1999 +++ linux-GFS/fs/locks.c Wed Nov 10 07:01:27 1999 @@ -307,6 +307,12 @@ error = -EBADF; if ((file_lock.fl_type != F_UNLCK) && !(filp->f_mode & 3)) goto out_putf; + if( filp->f_op->lock ) { + error = filp->f_op->lock(filp, + (((cmd&LOCK_NB)==LOCK_NB)?F_SETLK:F_SETLKW), + &file_lock); + if(error <0) goto out_putf; + } error = flock_lock_file(filp, &file_lock, (cmd & (LOCK_UN | LOCK_NB)) ? 0 : 1); out_putf: