--- ./fs/gfs/eaops.c.permission	2006-09-26 22:58:49.000000000 +0400
+++ ./fs/gfs/eaops.c	2006-12-12 19:19:45.000000000 +0300
@@ -69,7 +69,7 @@ user_eo_get(struct gfs_inode *ip, struct
 {
 	{
 		struct inode *inode = ip->i_vnode;
-		int error = permission(inode, MAY_READ, NULL);
+		int error = permission(inode, MAY_READ, NULL, NULL);
 		if (error)
 			return error;
 	}
@@ -92,7 +92,7 @@ user_eo_set(struct gfs_inode *ip, struct
 		struct inode *inode = ip->i_vnode;
 		if (S_ISREG(inode->i_mode) ||
 		    (S_ISDIR(inode->i_mode) && !(inode->i_mode & S_ISVTX))) {
-			int error = permission(inode, MAY_WRITE, NULL);
+			int error = permission(inode, MAY_WRITE, NULL, NULL);
 			if (error)
 				return error;
 		} else
@@ -117,7 +117,7 @@ user_eo_remove(struct gfs_inode *ip, str
 		struct inode *inode = ip->i_vnode;
 		if (S_ISREG(inode->i_mode) ||
 		    (S_ISDIR(inode->i_mode) && !(inode->i_mode & S_ISVTX))) {
-			int error = permission(inode, MAY_WRITE, NULL);
+			int error = permission(inode, MAY_WRITE, NULL, NULL);
 			if (error)
 				return error;
 		} else
--- ./fs/gfs/inode.c.permission	2006-09-26 22:58:49.000000000 +0400
+++ ./fs/gfs/inode.c	2006-12-13 12:34:12.000000000 +0300
@@ -915,7 +915,7 @@ gfs_lookupi(struct gfs_holder *d_gh, str
 		return error;
 
 	if (!is_root) {
-		error = permission(dip->i_vnode, MAY_EXEC, NULL);
+		error = permission(dip->i_vnode, MAY_EXEC, NULL, NULL);
 		if (error) {
 			gfs_glock_dq(d_gh);
 			return error;
@@ -957,7 +957,7 @@ gfs_lookupi(struct gfs_holder *d_gh, str
 		}
 
 		if (!is_root) {
-			error = permission(dip->i_vnode, MAY_EXEC, NULL);
+			error = permission(dip->i_vnode, MAY_EXEC, NULL, NULL);
 			if (error) {
 				gfs_glock_dq(d_gh);
 				gfs_glock_dq_uninit(i_gh);
@@ -1022,7 +1022,7 @@ create_ok(struct gfs_inode *dip, struct 
 {
 	int error;
 
-	error = permission(dip->i_vnode, MAY_WRITE | MAY_EXEC, NULL);
+	error = permission(dip->i_vnode, MAY_WRITE | MAY_EXEC, NULL, NULL);
 	if (error)
 		return error;
 
@@ -1582,7 +1582,7 @@ gfs_unlink_ok(struct gfs_inode *dip, str
 	if (IS_APPEND(dip->i_vnode))
 		return -EPERM;
 
-	error = permission(dip->i_vnode, MAY_WRITE | MAY_EXEC, NULL);
+	error = permission(dip->i_vnode, MAY_WRITE | MAY_EXEC, NULL, NULL);
 	if (error)
 		return error;
 
--- ./fs/gfs/ops_inode.c.permission	2006-09-26 22:58:49.000000000 +0400
+++ ./fs/gfs/ops_inode.c	2006-12-13 12:34:12.000000000 +0300
@@ -378,7 +378,7 @@ gfs_link(struct dentry *old_dentry, stru
 	if (error)
 		goto fail;
 
-	error = permission(dir, MAY_WRITE | MAY_EXEC, NULL);
+	error = permission(dir, MAY_WRITE | MAY_EXEC, NULL, NULL);
 	if (error)
 		goto fail_gunlock;
 
@@ -1008,7 +1008,7 @@ gfs_rename(struct inode *odir, struct de
 			}
 		}
 	} else {
-		error = permission(ndir, MAY_WRITE | MAY_EXEC, NULL);
+		error = permission(ndir, MAY_WRITE | MAY_EXEC, NULL, NULL);
 		if (error)
 			goto fail_gunlock;
 
@@ -1388,7 +1388,7 @@ gfs_setattr(struct dentry *dentry, struc
 
 	if (attr->ia_valid & ATTR_SIZE) {
 		/* Is there a reason for this??
-		error = permission(inode, MAY_WRITE, NULL);
+		error = permission(inode, MAY_WRITE, NULL, NULL);
 		if (error)
 			goto fail;
 		*/
