Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4482a087 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Al Viro
Browse files

reiserfs: cache negative ACLs for v1 stat format



Always set up a negative ACL cache entry if the inode can't have ACLs.
That behaves much better than doing this check inside ->check_acl.

Also remove the left over MAY_NOT_BLOCK check.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 6311b108
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1475,6 +1475,11 @@ void reiserfs_read_locked_inode(struct inode *inode,

	reiserfs_check_path(&path_to_sd);	/* init inode should be relsing */

	/*
	 * Stat data v1 doesn't support ACLs.
	 */
	if (get_inode_sd_version(inode) == STAT_DATA_V1)
		cache_no_acl(inode);
}

/**
+0 −9
Original line number Diff line number Diff line
@@ -872,15 +872,6 @@ int reiserfs_check_acl(struct inode *inode, int mask)
	struct posix_acl *acl;
	int error = -EAGAIN; /* do regular unix permission checks by default */

	/*
	 * Stat data v1 doesn't support ACLs.
	 */
	if (get_inode_sd_version(inode) == STAT_DATA_V1)
		return -EAGAIN;

	if (mask & MAY_NOT_BLOCK)
		return -ECHILD;

	acl = reiserfs_get_acl(inode, ACL_TYPE_ACCESS);

	if (acl) {