|
@@ -524,8 +524,7 @@ int afs_lock(struct file *file, int cmd, struct file_lock *fl)
|
|
(long long) fl->fl_start, (long long) fl->fl_end);
|
|
(long long) fl->fl_start, (long long) fl->fl_end);
|
|
|
|
|
|
/* AFS doesn't support mandatory locks */
|
|
/* AFS doesn't support mandatory locks */
|
|
- if ((vnode->vfs_inode.i_mode & (S_ISGID | S_IXGRP)) == S_ISGID &&
|
|
|
|
- fl->fl_type != F_UNLCK)
|
|
|
|
|
|
+ if (__mandatory_lock(&vnode->vfs_inode) && fl->fl_type != F_UNLCK)
|
|
return -ENOLCK;
|
|
return -ENOLCK;
|
|
|
|
|
|
if (IS_GETLK(cmd))
|
|
if (IS_GETLK(cmd))
|