]> Pileus Git - ~andy/linux/blobdiff - fs/gfs2/acl.c
GFS2: let spectator mount do read only recovery
[~andy/linux] / fs / gfs2 / acl.c
index 65978d7885c863b896e7da2ca04062498c449ac2..230eb0f005b69118f80b85f1b470b6460438fc3d 100644 (file)
@@ -38,8 +38,9 @@ static const char *gfs2_acl_name(int type)
        return NULL;
 }
 
-static struct posix_acl *gfs2_acl_get(struct gfs2_inode *ip, int type)
+struct posix_acl *gfs2_get_acl(struct inode *inode, int type)
 {
+       struct gfs2_inode *ip = GFS2_I(inode);
        struct posix_acl *acl;
        const char *name;
        char *data;
@@ -67,11 +68,6 @@ static struct posix_acl *gfs2_acl_get(struct gfs2_inode *ip, int type)
        return acl;
 }
 
-struct posix_acl *gfs2_get_acl(struct inode *inode, int type)
-{
-       return gfs2_acl_get(GFS2_I(inode), type);
-}
-
 static int gfs2_set_mode(struct inode *inode, umode_t mode)
 {
        int error = 0;
@@ -125,7 +121,7 @@ int gfs2_acl_create(struct gfs2_inode *dip, struct inode *inode)
        if (S_ISLNK(inode->i_mode))
                return 0;
 
-       acl = gfs2_acl_get(dip, ACL_TYPE_DEFAULT);
+       acl = gfs2_get_acl(&dip->i_inode, ACL_TYPE_DEFAULT);
        if (IS_ERR(acl))
                return PTR_ERR(acl);
        if (!acl) {
@@ -166,7 +162,7 @@ int gfs2_acl_chmod(struct gfs2_inode *ip, struct iattr *attr)
        unsigned int len;
        int error;
 
-       acl = gfs2_acl_get(ip, ACL_TYPE_ACCESS);
+       acl = gfs2_get_acl(&ip->i_inode, ACL_TYPE_ACCESS);
        if (IS_ERR(acl))
                return PTR_ERR(acl);
        if (!acl)
@@ -216,7 +212,7 @@ static int gfs2_xattr_system_get(struct dentry *dentry, const char *name,
        if (type < 0)
                return type;
 
-       acl = gfs2_acl_get(GFS2_I(inode), type);
+       acl = gfs2_get_acl(inode, type);
        if (IS_ERR(acl))
                return PTR_ERR(acl);
        if (acl == NULL)