]> Zhao Yanbai Git Server - minix.git/commitdiff
Allow block special files to be file locked
authorThomas Veerman <thomas@minix3.org>
Mon, 22 Aug 2011 11:46:58 +0000 (11:46 +0000)
committerThomas Veerman <thomas@minix3.org>
Mon, 22 Aug 2011 11:51:01 +0000 (11:51 +0000)
servers/avfs/lock.c

index 8b459e91ff58cec2cd9122158e415e472384e396..58eddb07754cace04793aaa6dfdcaf2fa5e0855e 100644 (file)
@@ -43,7 +43,8 @@ int req;                      /* either F_SETLK or F_SETLKW */
   mo = f->filp_mode;
   if (ltype != F_UNLCK && ltype != F_RDLCK && ltype != F_WRLCK) return(EINVAL);
   if (req == F_GETLK && ltype == F_UNLCK) return(EINVAL);
-  if ( (f->filp_vno->v_mode & I_TYPE) != I_REGULAR) return(EINVAL);
+  if ( (f->filp_vno->v_mode & I_TYPE) != I_REGULAR &&
+       (f->filp_vno->v_mode & I_TYPE) != I_BLOCK_SPECIAL) return(EINVAL);
   if (req != F_GETLK && ltype == F_RDLCK && (mo & R_BIT) == 0) return(EBADF);
   if (req != F_GETLK && ltype == F_WRLCK && (mo & W_BIT) == 0) return(EBADF);