diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-04-23 19:55:32 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-04-23 19:55:32 +0000 |
commit | 31640bb6a691fa4e67157ef6ae947d78630716c4 (patch) | |
tree | c9f06686092f52befad620eaf5a4a0edbcb33a44 /nuttx/fs | |
parent | 6d6976b06ecf8fce78aea24d9664da0533514b2e (diff) | |
download | px4-firmware-31640bb6a691fa4e67157ef6ae947d78630716c4.tar.gz px4-firmware-31640bb6a691fa4e67157ef6ae947d78630716c4.tar.bz2 px4-firmware-31640bb6a691fa4e67157ef6ae947d78630716c4.zip |
Kconfig updated + NFS update
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4646 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/fs')
-rw-r--r-- | nuttx/fs/nfs/nfs_args.h | 126 | ||||
-rw-r--r-- | nuttx/fs/nfs/nfs_mount.h | 6 | ||||
-rw-r--r-- | nuttx/fs/nfs/nfs_node.h | 14 | ||||
-rw-r--r-- | nuttx/fs/nfs/nfs_proto.h | 12 | ||||
-rw-r--r-- | nuttx/fs/nfs/nfs_socket.c | 4 | ||||
-rwxr-xr-x | nuttx/fs/nfs/nfs_util.c | 15 | ||||
-rw-r--r-- | nuttx/fs/nfs/nfs_vfsops.c | 10 | ||||
-rw-r--r-- | nuttx/fs/nfs/rpc.h | 6 | ||||
-rw-r--r-- | nuttx/fs/nfs/rpc_clnt.c | 3 |
9 files changed, 26 insertions, 170 deletions
diff --git a/nuttx/fs/nfs/nfs_args.h b/nuttx/fs/nfs/nfs_args.h deleted file mode 100644 index 9a8dfd980..000000000 --- a/nuttx/fs/nfs/nfs_args.h +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** - * fs/nfs/nfs_args.h - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Copyright (C) 2012 Jose Pablo Rojas Vargas. All rights reserved. - * Author: Jose Pablo Rojas Vargas <jrojas@nx-engineering.com> - * - * Leveraged from OpenBSD: - * - * Copyright (c) 1989, 1993, 1995 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Rick Macklem at The University of Guelph. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __FS_NFS_NFS_ARGS_H -#define __FS_NFS_NFS_ARGS_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include "nfs_proto.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* NFS mount option flags */ - -#define NFSMNT_SOFT 0x00000001 /* soft mount (hard is default) */ -#define NFSMNT_WSIZE 0x00000002 /* set write size */ -#define NFSMNT_RSIZE 0x00000004 /* set read size */ -#define NFSMNT_TIMEO 0x00000008 /* set initial timeout */ -#define NFSMNT_RETRANS 0x00000010 /* set number of request retries */ -#define NFSMNT_MAXGRPS 0x00000020 /* set maximum grouplist size */ -#define NFSMNT_INT 0x00000040 /* allow interrupts on hard mount */ -#define NFSMNT_NOCONN 0x00000080 /* Don't Connect the socket */ - -/* 0x100 free, was NFSMNT_NQNFS */ - -#define NFSMNT_NFSV3 0x00000200 /* Use NFS Version 3 protocol */ - -/* 0x400 free, was NFSMNT_KERB */ - -#define NFSMNT_DUMBTIMR 0x00000800 /* Don't estimate rtt dynamically */ - -/* 0x1000 free, was NFSMNT_LEASETERM */ - -#define NFSMNT_READAHEAD 0x00002000 /* set read ahead */ -#define NFSMNT_DEADTHRESH 0x00004000 /* set dead server retry thresh */ -#define NFSMNT_RESVPORT 0x00008000 /* Allocate a reserved port */ -#define NFSMNT_RDIRPLUS 0x00010000 /* Use Readdirplus for V3 */ -#define NFSMNT_READDIRSIZE 0x00020000 /* Set readdir size */ -#define NFSMNT_ACREGMIN 0x00040000 -#define NFSMNT_ACREGMAX 0x00080000 -#define NFSMNT_ACDIRMIN 0x00100000 -#define NFSMNT_ACDIRMAX 0x00200000 -#define NFSMNT_NOLOCKD 0x00400000 /* Locks are local */ -#define NFSMNT_NFSV4 0x00800000 /* Use NFS Version 4 protocol */ -#define NFSMNT_HASWRITEVERF 0x01000000 /* NFSv4 Write verifier */ -#define NFSMNT_GOTFSINFO 0x00000004 /* Got the V3 fsinfo */ -#define NFSMNT_INTERNAL 0xfffc0000 /* Bits set internally */ -#define NFSMNT_NOAC 0x00080000 /* Turn off attribute cache */ - -#define NFS_ARGSVERSION 3 /* change when nfs_args changes */ - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/* Arguments to mount NFS */ - -struct nfs_args -{ - int version; /* args structure version number */ - struct sockaddr *addr; /* file server address */ - int addrlen; /* length of address */ - int sotype; /* Socket type */ - int proto; /* and Protocol */ - nfsfh_t fh; /* File handle to be mounted */ - int fhsize; /* Size, in bytes, of fh */ - int flags; /* flags */ - int wsize; /* write size in bytes */ - int rsize; /* read size in bytes */ - int readdirsize; /* readdir size in bytes */ - int timeo; /* initial timeout in .1 secs */ - int retrans; /* times to retry send */ - int maxgrouplist; /* Max. size of group list */ - int readahead; /* # of blocks to readahead */ - int leaseterm; /* Term (sec) of lease */ - int deadthresh; /* Retrans threshold */ -//char *hostname; /* server's name */ - int acregmin; /* cache attrs for reg files min time */ - int acregmax; /* cache attrs for reg files max time */ - int acdirmin; /* cache attrs for dirs min time */ - int acdirmax; /* cache attrs for dirs max time */ -}; - -#endif /* __FS_NFS_NFS_ARGS_H */ diff --git a/nuttx/fs/nfs/nfs_mount.h b/nuttx/fs/nfs/nfs_mount.h index 29aed1d13..7ca070b9d 100644 --- a/nuttx/fs/nfs/nfs_mount.h +++ b/nuttx/fs/nfs/nfs_mount.h @@ -77,9 +77,9 @@ struct nfsmount int nm_fhsize; /* Size of root file handle */ struct rpcclnt *nm_rpcclnt; /* rpc state */ struct socket *nm_so; /* Rpc socket */ - int nm_sotype; /* Type of socket */ - int nm_soproto; /* and protocol */ - int nm_soflags; /* pr_flags for socket protocol */ + uint8_t nm_sotype; /* Type of socket */ + uint8_t nm_soproto; /* and protocol */ + uint8_t nm_soflags; /* pr_flags for socket protocol */ struct sockaddr *nm_nam; /* Addr of server */ int nm_timeo; /* Init timer for NFSMNT_DUMBTIMR */ int nm_retry; /* Max retries */ diff --git a/nuttx/fs/nfs/nfs_node.h b/nuttx/fs/nfs/nfs_node.h index 3ca0762ef..55148d181 100644 --- a/nuttx/fs/nfs/nfs_node.h +++ b/nuttx/fs/nfs/nfs_node.h @@ -47,7 +47,7 @@ * Included Files ****************************************************************************/ -#include "nfs.h" +#include <nuttx/fs/nfs.h> /**************************************************************************** * Pre-processor Definitions @@ -147,13 +147,13 @@ struct nfsnode uid_t n_accuid; /* Last access requester */ int n_accmode; /* Last mode requested */ int n_accerror; /* Last returned error */ - - off_t n_pushedlo; /* 1st blk in commited range */ - off_t n_pushedhi; /* Last block in range */ - off_t n_pushlo; /* 1st block in commit range */ - off_t n_pushhi; /* Last block in range */ + +//off_t n_pushedlo; /* 1st blk in commited range */ +//off_t n_pushedhi; /* Last block in range */ +//off_t n_pushlo; /* 1st block in commit range */ +//off_t n_pushhi; /* Last block in range */ //struct rwlock n_commitlock; /* Serialize commits */ - int n_commitflags; +//int n_commitflags; }; #endif /* __FS_NFS_NFS_NODE_H */ diff --git a/nuttx/fs/nfs/nfs_proto.h b/nuttx/fs/nfs/nfs_proto.h index bafc230c7..b82b2e104 100644 --- a/nuttx/fs/nfs/nfs_proto.h +++ b/nuttx/fs/nfs/nfs_proto.h @@ -47,6 +47,8 @@ * Included Files ****************************************************************************/ + #include <nuttx/fs/nfs.h> + /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ @@ -246,9 +248,7 @@ #define nfsv2tov_type(a) nv2tov_type[fxdr_unsigned(uint32_t,(a))&0x7] #define nfsv3tov_type(a) nv3tov_type[fxdr_unsigned(uint32_t,(a))&0x7] -#ifndef NFS_MAXFHSIZE -# define NFS_MAXFHSIZE 64 -#endif +#define NFS_MAXFHSIZE 64 /* File identifier */ @@ -299,14 +299,14 @@ struct fhandle typedef struct fhandle fhandle_t; /* File Handle (32 bytes for version 2), variable up to 64 for version 3. */ - +/* union nfsfh { -//fhandle_t fh_generic; +fhandle_t fh_generic; unsigned char fh_bytes[NFS_MAXFHSIZE]; }; typedef union nfsfh nfsfh_t; - +*/ struct nfsv2_time { uint32_t nfsv2_sec; diff --git a/nuttx/fs/nfs/nfs_socket.c b/nuttx/fs/nfs/nfs_socket.c index b13d0cfb2..feb405719 100644 --- a/nuttx/fs/nfs/nfs_socket.c +++ b/nuttx/fs/nfs/nfs_socket.c @@ -46,11 +46,11 @@ #include <string.h> #include <debug.h> -#include "nfs_args.h" +#include <nuttx/fs/nfs.h> + #include "rpc.h" #include "rpc_v2.h" #include "nfs_proto.h" -#include "nfs.h" #include "xdr_subs.h" #include "nfs_mount.h" #include "nfs_socket.h" diff --git a/nuttx/fs/nfs/nfs_util.c b/nuttx/fs/nfs/nfs_util.c index 6f5dd6991..a6c82ab22 100755 --- a/nuttx/fs/nfs/nfs_util.c +++ b/nuttx/fs/nfs/nfs_util.c @@ -126,21 +126,8 @@ int nfs_checkmount(struct nfsmount *nmp) */ DEBUGASSERT(nmp); - if (nmp->nm_mounted) + if (!nmp->nm_mounted) { - /* We still think the mount is healthy. Check an see if this is - * still the case - */ - -#warning "This makes no sense... If you get here, then you know that nmp->nm_mounted and the code will always return OK. Something is wrong." - if (nmp->nm_mounted == true) - { - return OK; - } - /* If we get here, the mount is NOT healthy */ - - nmp->nm_mounted = false; - /* Make sure that this is flagged in every opened file */ for (file = nmp->nm_head; file; file = file->n_next) diff --git a/nuttx/fs/nfs/nfs_vfsops.c b/nuttx/fs/nfs/nfs_vfsops.c index d7c19469d..89f135d7c 100644 --- a/nuttx/fs/nfs/nfs_vfsops.c +++ b/nuttx/fs/nfs/nfs_vfsops.c @@ -64,6 +64,7 @@ #include <nuttx/kmalloc.h> #include <nuttx/fs/dirent.h> #include <nuttx/fs/fs.h> +#include <nuttx/fs/nfs.h> #include <net/if.h> #include <netinet/in.h> @@ -72,11 +73,9 @@ #include "rpc.h" #include "nfs_proto.h" #include "nfs_node.h" -#include "nfs.h" #include "nfs_mount.h" #include "xdr_subs.h" #include "nfs_socket.h" -#include "nfs_args.h" /**************************************************************************** * Pre-processor Definitions @@ -979,8 +978,7 @@ void nfs_decode_args(struct nfsmount *nmp, struct nfs_args *argp) * ****************************************************************************/ -int mountnfs(struct nfs_args *argp,/* struct inode *blkdriver,*/ - struct sockaddr *nam, void **handle) +int mountnfs(struct nfs_args *argp, struct sockaddr *nam, void **handle) { struct nfsmount *nmp; int error; @@ -1024,7 +1022,7 @@ int mountnfs(struct nfs_args *argp,/* struct inode *blkdriver,*/ nmp->nm_readdirsize = NFS_READDIRSIZE; nmp->nm_numgrps = NFS_MAXGRPS; nmp->nm_readahead = NFS_DEFRAHEAD; - nmp->nm_fhsize = argp->fhsize; + nmp->nm_fhsize = NFSX_V3FHMAX; nmp->nm_acregmin = NFS_MINATTRTIMO; nmp->nm_acregmax = NFS_MAXATTRTIMO; nmp->nm_acdirmin = NFS_MINATTRTIMO; @@ -1105,7 +1103,7 @@ static int nfs_bind(struct inode *blkdriver, const void *data, void **handle) } nam = args.addr; - error = mountnfs(&args/*, blkdriver*/, nam, handle); + error = mountnfs(&args, nam, handle); return error; } diff --git a/nuttx/fs/nfs/rpc.h b/nuttx/fs/nfs/rpc.h index fcbffe7f5..8a9b72303 100644 --- a/nuttx/fs/nfs/rpc.h +++ b/nuttx/fs/nfs/rpc.h @@ -108,7 +108,7 @@ struct rpctask { dq_entry_t r_chain; - struct rpcclnt *r_rpcclnt; + struct rpcclnt *r_rpcclnt; uint32_t r_xid; int r_flags; /* flags on request, see below */ @@ -195,9 +195,9 @@ struct rpcclnt struct sockaddr *rc_name; struct socket *rc_so; /* Rpc socket */ - int rc_sotype; /* Type of socket */ + uint8_t rc_sotype; /* Type of socket */ int rc_soproto; /* and protocol */ - int rc_soflags; /* pr_flags for socket protocol */ + uint8_t rc_soflags; /* pr_flags for socket protocol */ int rc_timeo; /* Init timer for NFSMNT_DUMBTIMR */ int rc_retry; /* Max retries */ diff --git a/nuttx/fs/nfs/rpc_clnt.c b/nuttx/fs/nfs/rpc_clnt.c index 0709fbf3c..c907a3ff3 100644 --- a/nuttx/fs/nfs/rpc_clnt.c +++ b/nuttx/fs/nfs/rpc_clnt.c @@ -93,8 +93,6 @@ #include "xdr_subs.h" #include "nfs_proto.h" -#include "nfs.h" -#include "nfs_args.h" #include "rpc.h" #include "rpc_clnt_private.h" #include "rpc_v2.h" @@ -940,7 +938,6 @@ int rpcclnt_connect(struct rpcclnt *rpc) rpc->rc_so = NULL; saddr = rpc->rc_name; - rpc->rc_sotype = SOCK_DGRAM; error = psock_socket(saddr->sa_family, rpc->rc_sotype, rpc->rc_soproto, rpc->rc_so); |