--- dir.c.orig 2004-10-23 19:48:51.594940624 +0200 +++ dir.c 2004-10-23 19:54:02.111734896 +0200 @@ -520,7 +520,7 @@ static int _fuse_permission(struct inode if (!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->uid) return -EACCES; else if (fc->flags & FUSE_DEFAULT_PERMISSIONS) { - int err = vfs_permission(inode, mask); + int err = permission(inode, mask, NULL); /* If permission is denied, try to refresh file attributes. This is also needed, because the root @@ -529,7 +529,7 @@ static int _fuse_permission(struct inode if (err == -EACCES) { err = fuse_do_getattr(inode); if (!err) - err = vfs_permission(inode, mask); + err = permission(inode, mask, NULL); } /* FIXME: Need some mechanism to revoke permissions: @@ -772,7 +772,7 @@ static int fuse_setattr(struct dentry *e unsigned long limit; is_truncate = 1; - limit = current->rlim[RLIMIT_FSIZE].rlim_cur; + limit = current->signal->rlim[RLIMIT_FSIZE].rlim_cur; if (limit != RLIM_INFINITY && attr->ia_size > limit) { send_sig(SIGXFSZ, current, 0); return -EFBIG;