xfs
[Top] [All Lists]

Re: [PATCH 02/18] fs: add get_acl helper

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 02/18] fs: add get_acl helper
From: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxxx>
Date: Thu, 12 Dec 2013 20:06:09 +0100 (CET)
Cc: viro@xxxxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-mtd@xxxxxxxxxxxxxxxxxxx, Mark Fasheh <mfasheh@xxxxxxxx>, Joel Becker <jlbec@xxxxxxxxxxxx>, reiserfs-devel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, jfs-discussion@xxxxxxxxxxxxxxxxxxxxx, cluster-devel@xxxxxxxxxx, linux-nfs@xxxxxxxxxxxxxxx, Jan Kara <jack@xxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131211104526.648135334@xxxxxxxxxxxxxxxxxxxxxx>
References: <20131211104243.148113893@xxxxxxxxxxxxxxxxxxxxxx> <20131211104526.648135334@xxxxxxxxxxxxxxxxxxxxxx>
Thread-index: 3hs1rrHS7fOfQlqE6m5XA54F+EJTKg==
Thread-topic: add get_acl helper
Christoph,

> +struct posix_acl *get_acl(struct inode *inode, int type)
> +{
> +     struct posix_acl *acl;
> +
> +     acl = get_cached_acl(inode, type);
> +     if (acl != ACL_NOT_CACHED)
> +             return acl;
> +
> +     if (!IS_POSIXACL(inode))
> +             return NULL;
> +
> +     /*
> +      * A filesystem can force a ACL callback by just never filling the
> +      * ACL cache. But normally you'd fill the cache either at inode
> +      * instantiation time, or on the first ->get_acl call.
> +      *
> +      * If the filesystem doesn't have a get_acl() function at all, we'll
> +      * just create the negative cache entry.
> +      */
> +     if (!inode->i_op->get_acl) {
> +             set_cached_acl(inode, type, NULL);
> +             return ERR_PTR(-EAGAIN);

The function should return NULL here.

Andreas

<Prev in Thread] Current Thread [Next in Thread>