aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2012-07-30 16:05:25 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-07-30 19:06:52 -0400
commit89d77c8fa8e6d1cb7e2cce95b428be30ddcc6f23 (patch)
tree37a076ec2675209fd78bc6ac0474dbecee8d11e7 /fs/nfs/dir.c
parent1c606fb74c758beafd98cbad9a9133eadeec2371 (diff)
NFS: Convert v4 into a module
This patch exports symbols needed by the v4 module. In addition, I also switch over to using IS_ENABLED() to check if CONFIG_NFS_V4 or CONFIG_NFS_V4_MODULE are set. The module (nfs4.ko) will be created in the same directory as nfs.ko and will be automatically loaded the first time you try to mount over NFS v4. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r--fs/nfs/dir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 55438c970cbf..627f108ede23 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -936,6 +936,7 @@ void nfs_force_lookup_revalidate(struct inode *dir)
936{ 936{
937 NFS_I(dir)->cache_change_attribute++; 937 NFS_I(dir)->cache_change_attribute++;
938} 938}
939EXPORT_SYMBOL_GPL(nfs_force_lookup_revalidate);
939 940
940/* 941/*
941 * A check for whether or not the parent directory has changed. 942 * A check for whether or not the parent directory has changed.
@@ -1267,7 +1268,7 @@ out:
1267} 1268}
1268EXPORT_SYMBOL_GPL(nfs_lookup); 1269EXPORT_SYMBOL_GPL(nfs_lookup);
1269 1270
1270#ifdef CONFIG_NFS_V4 1271#if IS_ENABLED(CONFIG_NFS_V4)
1271static int nfs4_lookup_revalidate(struct dentry *, unsigned int); 1272static int nfs4_lookup_revalidate(struct dentry *, unsigned int);
1272 1273
1273const struct dentry_operations nfs4_dentry_operations = { 1274const struct dentry_operations nfs4_dentry_operations = {
@@ -1277,6 +1278,7 @@ const struct dentry_operations nfs4_dentry_operations = {
1277 .d_automount = nfs_d_automount, 1278 .d_automount = nfs_d_automount,
1278 .d_release = nfs_d_release, 1279 .d_release = nfs_d_release,
1279}; 1280};
1281EXPORT_SYMBOL_GPL(nfs4_dentry_operations);
1280 1282
1281static fmode_t flags_to_mode(int flags) 1283static fmode_t flags_to_mode(int flags)
1282{ 1284{
@@ -1419,6 +1421,7 @@ no_open:
1419 1421
1420 return finish_no_open(file, res); 1422 return finish_no_open(file, res);
1421} 1423}
1424EXPORT_SYMBOL_GPL(nfs_atomic_open);
1422 1425
1423static int nfs4_lookup_revalidate(struct dentry *dentry, unsigned int flags) 1426static int nfs4_lookup_revalidate(struct dentry *dentry, unsigned int flags)
1424{ 1427{
@@ -2142,6 +2145,7 @@ int nfs_may_open(struct inode *inode, struct rpc_cred *cred, int openflags)
2142{ 2145{
2143 return nfs_do_access(inode, cred, nfs_open_permission_mask(openflags)); 2146 return nfs_do_access(inode, cred, nfs_open_permission_mask(openflags));
2144} 2147}
2148EXPORT_SYMBOL_GPL(nfs_may_open);
2145 2149
2146int nfs_permission(struct inode *inode, int mask) 2150int nfs_permission(struct inode *inode, int mask)
2147{ 2151{