Commit 2ca72e17e5acb1052c35c9faba609c2289ce7a92

Authored by J. Bruce Fields
1 parent f6af99ec1b

nfsd4: move idmap and acl header files into fs/nfsd

These are internal nfsd interfaces.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>

Showing 9 changed files with 133 additions and 132 deletions Side-by-side Diff

  1 +/*
  2 + * include/linux/nfs4_acl.c
  3 + *
  4 + * Common NFSv4 ACL handling definitions.
  5 + *
  6 + * Copyright (c) 2002 The Regents of the University of Michigan.
  7 + * All rights reserved.
  8 + *
  9 + * Marius Aamodt Eriksen <marius@umich.edu>
  10 + *
  11 + * Redistribution and use in source and binary forms, with or without
  12 + * modification, are permitted provided that the following conditions
  13 + * are met:
  14 + *
  15 + * 1. Redistributions of source code must retain the above copyright
  16 + * notice, this list of conditions and the following disclaimer.
  17 + * 2. Redistributions in binary form must reproduce the above copyright
  18 + * notice, this list of conditions and the following disclaimer in the
  19 + * documentation and/or other materials provided with the distribution.
  20 + * 3. Neither the name of the University nor the names of its
  21 + * contributors may be used to endorse or promote products derived
  22 + * from this software without specific prior written permission.
  23 + *
  24 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
  25 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  26 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  27 + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  28 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  29 + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  30 + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  31 + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  32 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  33 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  34 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  35 + */
  36 +
  37 +#ifndef LINUX_NFS4_ACL_H
  38 +#define LINUX_NFS4_ACL_H
  39 +
  40 +#include <linux/posix_acl.h>
  41 +
  42 +/* Maximum ACL we'll accept from client; chosen (somewhat arbitrarily) to
  43 + * fit in a page: */
  44 +#define NFS4_ACL_MAX 170
  45 +
  46 +struct nfs4_acl *nfs4_acl_new(int);
  47 +int nfs4_acl_get_whotype(char *, u32);
  48 +int nfs4_acl_write_who(int who, char *p);
  49 +int nfs4_acl_permission(struct nfs4_acl *acl, uid_t owner, gid_t group,
  50 + uid_t who, u32 mask);
  51 +
  52 +#define NFS4_ACL_TYPE_DEFAULT 0x01
  53 +#define NFS4_ACL_DIR 0x02
  54 +#define NFS4_ACL_OWNER 0x04
  55 +
  56 +struct nfs4_acl *nfs4_acl_posix_to_nfsv4(struct posix_acl *,
  57 + struct posix_acl *, unsigned int flags);
  58 +int nfs4_acl_nfsv4_to_posix(struct nfs4_acl *, struct posix_acl **,
  59 + struct posix_acl **, unsigned int flags);
  60 +
  61 +#endif /* LINUX_NFS4_ACL_H */
  1 +/*
  2 + * include/linux/nfsd_idmap.h
  3 + *
  4 + * Mapping of UID to name and vice versa.
  5 + *
  6 + * Copyright (c) 2002, 2003 The Regents of the University of
  7 + * Michigan. All rights reserved.
  8 +> *
  9 + * Marius Aamodt Eriksen <marius@umich.edu>
  10 + *
  11 + * Redistribution and use in source and binary forms, with or without
  12 + * modification, are permitted provided that the following conditions
  13 + * are met:
  14 + *
  15 + * 1. Redistributions of source code must retain the above copyright
  16 + * notice, this list of conditions and the following disclaimer.
  17 + * 2. Redistributions in binary form must reproduce the above copyright
  18 + * notice, this list of conditions and the following disclaimer in the
  19 + * documentation and/or other materials provided with the distribution.
  20 + * 3. Neither the name of the University nor the names of its
  21 + * contributors may be used to endorse or promote products derived
  22 + * from this software without specific prior written permission.
  23 + *
  24 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
  25 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  26 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  27 + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  28 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  29 + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  30 + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  31 + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  32 + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  33 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  34 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  35 + */
  36 +
  37 +#ifndef LINUX_NFSD_IDMAP_H
  38 +#define LINUX_NFSD_IDMAP_H
  39 +
  40 +#include <linux/in.h>
  41 +#include <linux/sunrpc/svc.h>
  42 +
  43 +/* XXX from linux/nfs_idmap.h */
  44 +#define IDMAP_NAMESZ 128
  45 +
  46 +#ifdef CONFIG_NFSD_V4
  47 +int nfsd_idmap_init(void);
  48 +void nfsd_idmap_shutdown(void);
  49 +#else
  50 +static inline int nfsd_idmap_init(void)
  51 +{
  52 + return 0;
  53 +}
  54 +static inline void nfsd_idmap_shutdown(void)
  55 +{
  56 +}
  57 +#endif
  58 +
  59 +int nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *);
  60 +int nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *);
  61 +int nfsd_map_uid_to_name(struct svc_rqst *, __u32, char *);
  62 +int nfsd_map_gid_to_name(struct svc_rqst *, __u32, char *);
  63 +
  64 +#endif /* LINUX_NFSD_IDMAP_H */
... ... @@ -36,7 +36,7 @@
36 36  
37 37 #include <linux/slab.h>
38 38 #include <linux/nfs_fs.h>
39   -#include <linux/nfs4_acl.h>
  39 +#include "acl.h"
40 40  
41 41  
42 42 /* mode bit translations: */
... ... @@ -33,10 +33,10 @@
33 33 */
34 34  
35 35 #include <linux/module.h>
36   -#include <linux/nfsd_idmap.h>
37 36 #include <linux/seq_file.h>
38 37 #include <linux/sched.h>
39 38 #include <linux/slab.h>
  39 +#include "idmap.h"
40 40  
41 41 /*
42 42 * Cache entry
... ... @@ -44,12 +44,13 @@
44 44 #include <linux/namei.h>
45 45 #include <linux/statfs.h>
46 46 #include <linux/utsname.h>
47   -#include <linux/nfsd_idmap.h>
48   -#include <linux/nfs4_acl.h>
49 47 #include <linux/sunrpc/svcauth_gss.h>
50 48  
  49 +#include "idmap.h"
  50 +#include "acl.h"
51 51 #include "xdr4.h"
52 52 #include "vfs.h"
  53 +
53 54  
54 55 #define NFSDDBG_FACILITY NFSDDBG_XDR
55 56  
... ... @@ -8,12 +8,12 @@
8 8 #include <linux/namei.h>
9 9 #include <linux/ctype.h>
10 10  
11   -#include <linux/nfsd_idmap.h>
12 11 #include <linux/sunrpc/svcsock.h>
13 12 #include <linux/nfsd/syscall.h>
14 13 #include <linux/lockd/lockd.h>
15 14 #include <linux/sunrpc/clnt.h>
16 15  
  16 +#include "idmap.h"
17 17 #include "nfsd.h"
18 18 #include "cache.h"
19 19  
... ... @@ -35,8 +35,8 @@
35 35 #endif /* CONFIG_NFSD_V3 */
36 36  
37 37 #ifdef CONFIG_NFSD_V4
38   -#include <linux/nfs4_acl.h>
39   -#include <linux/nfsd_idmap.h>
  38 +#include "acl.h"
  39 +#include "idmap.h"
40 40 #endif /* CONFIG_NFSD_V4 */
41 41  
42 42 #include "nfsd.h"
include/linux/nfs4_acl.h
1   -/*
2   - * include/linux/nfs4_acl.c
3   - *
4   - * Common NFSv4 ACL handling definitions.
5   - *
6   - * Copyright (c) 2002 The Regents of the University of Michigan.
7   - * All rights reserved.
8   - *
9   - * Marius Aamodt Eriksen <marius@umich.edu>
10   - *
11   - * Redistribution and use in source and binary forms, with or without
12   - * modification, are permitted provided that the following conditions
13   - * are met:
14   - *
15   - * 1. Redistributions of source code must retain the above copyright
16   - * notice, this list of conditions and the following disclaimer.
17   - * 2. Redistributions in binary form must reproduce the above copyright
18   - * notice, this list of conditions and the following disclaimer in the
19   - * documentation and/or other materials provided with the distribution.
20   - * 3. Neither the name of the University nor the names of its
21   - * contributors may be used to endorse or promote products derived
22   - * from this software without specific prior written permission.
23   - *
24   - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
25   - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26   - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27   - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28   - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29   - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30   - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
31   - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32   - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33   - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34   - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35   - */
36   -
37   -#ifndef LINUX_NFS4_ACL_H
38   -#define LINUX_NFS4_ACL_H
39   -
40   -#include <linux/posix_acl.h>
41   -
42   -/* Maximum ACL we'll accept from client; chosen (somewhat arbitrarily) to
43   - * fit in a page: */
44   -#define NFS4_ACL_MAX 170
45   -
46   -struct nfs4_acl *nfs4_acl_new(int);
47   -int nfs4_acl_get_whotype(char *, u32);
48   -int nfs4_acl_write_who(int who, char *p);
49   -int nfs4_acl_permission(struct nfs4_acl *acl, uid_t owner, gid_t group,
50   - uid_t who, u32 mask);
51   -
52   -#define NFS4_ACL_TYPE_DEFAULT 0x01
53   -#define NFS4_ACL_DIR 0x02
54   -#define NFS4_ACL_OWNER 0x04
55   -
56   -struct nfs4_acl *nfs4_acl_posix_to_nfsv4(struct posix_acl *,
57   - struct posix_acl *, unsigned int flags);
58   -int nfs4_acl_nfsv4_to_posix(struct nfs4_acl *, struct posix_acl **,
59   - struct posix_acl **, unsigned int flags);
60   -
61   -#endif /* LINUX_NFS4_ACL_H */
include/linux/nfsd_idmap.h
1   -/*
2   - * include/linux/nfsd_idmap.h
3   - *
4   - * Mapping of UID to name and vice versa.
5   - *
6   - * Copyright (c) 2002, 2003 The Regents of the University of
7   - * Michigan. All rights reserved.
8   -> *
9   - * Marius Aamodt Eriksen <marius@umich.edu>
10   - *
11   - * Redistribution and use in source and binary forms, with or without
12   - * modification, are permitted provided that the following conditions
13   - * are met:
14   - *
15   - * 1. Redistributions of source code must retain the above copyright
16   - * notice, this list of conditions and the following disclaimer.
17   - * 2. Redistributions in binary form must reproduce the above copyright
18   - * notice, this list of conditions and the following disclaimer in the
19   - * documentation and/or other materials provided with the distribution.
20   - * 3. Neither the name of the University nor the names of its
21   - * contributors may be used to endorse or promote products derived
22   - * from this software without specific prior written permission.
23   - *
24   - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
25   - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26   - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27   - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28   - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29   - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30   - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
31   - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32   - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33   - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34   - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35   - */
36   -
37   -#ifndef LINUX_NFSD_IDMAP_H
38   -#define LINUX_NFSD_IDMAP_H
39   -
40   -#include <linux/in.h>
41   -#include <linux/sunrpc/svc.h>
42   -
43   -/* XXX from linux/nfs_idmap.h */
44   -#define IDMAP_NAMESZ 128
45   -
46   -#ifdef CONFIG_NFSD_V4
47   -int nfsd_idmap_init(void);
48   -void nfsd_idmap_shutdown(void);
49   -#else
50   -static inline int nfsd_idmap_init(void)
51   -{
52   - return 0;
53   -}
54   -static inline void nfsd_idmap_shutdown(void)
55   -{
56   -}
57   -#endif
58   -
59   -int nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *);
60   -int nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *);
61   -int nfsd_map_uid_to_name(struct svc_rqst *, __u32, char *);
62   -int nfsd_map_gid_to_name(struct svc_rqst *, __u32, char *);
63   -
64   -#endif /* LINUX_NFSD_IDMAP_H */