summaryrefslogtreecommitdiffstats
path: root/utils/mount/nfsmount.c
Commit message (Collapse)AuthorAgeFilesLines
* mount.nfs: No need to return nfs_mount_data structsChuck Lever2007-07-201-3/+9
| | | | | | | | | | | | | | | | Refactor mount processing slightly to remove an output parameter and an unnecessary type cast. The mount syscall is now made from inside nfs_mount or nfs4mount, rather than in common code after those are called. Code review suggests that EX_BG was never returned by mount.nfs because the logic I just replaced was always returning EX_FAIL. The new logic should properly return EX_BG when appropriate. However, it is unclear whether /bin/mount handles backgrounding the mount request, or whether mount.nfs should. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Move start_statd into nfs_mountChuck Lever2007-07-201-2/+14
| | | | | | | | | | | | | | Move start_startd into network.c, and move the call inside of nfs_mount, instead of immediately after - conceptually a better place for it. Also fix a minor nit: Since the mount actually fails if start_statd doesn't work, cause mount.nfs to exit with a status of EX_FAIL. Still need to do something about "running_bg" in nfsmount.c:nfsmount(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Move network functions into a common source moduleChuck Lever2007-07-201-263/+1
| | | | | | | | Separate network oriented functions from filesystem oriented functions, for general cleanliness. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Eliminate some C macros that use implicit argumentsChuck Lever2007-07-201-78/+81
| | | | | | | | Get rid of nfs_probelist, mnt_probelist, and proto_probelist in order to remove the use of HAVE_RELIABLE_TCP, MAX_NFSPROT, and MAX_MNTPROT. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Always preset nfs_mount_versionChuck Lever2007-07-201-69/+15
| | | | | | | | | | | | nfs_mount_version is a global integer that is set based on a guess about which nfs_mount_data version is appropriate for the kernel we're running on. Make it always available and have the correct value before calling mount and unmount so they don't have to worry about setting it themselves. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Create a common source module for reporting mount errorsChuck Lever2007-07-201-127/+1
| | | | | | | Clean up, and pre-requisite for subsequent fixes. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Add the mount option "nosharecache"Trond Myklebust2007-07-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | Prior to David Howell's mount changes in 2.6.18, users who mounted different directories which happened to be from the same filesystem on the server would get different super blocks, and hence could choose different mount options. As long as there were no hard linked files that crossed from one subtree to another, this was quite safe. Post the changes, if the two directories are on the same filesystem (have the same 'fsid'), they will share the same super block, and hence the same mount options. Add a flag to allow users to elect not to share the NFS super block with another mount point, even if the fsids are the same. This will allow users to set different mount options for the two different super blocks, as was previously possible. It is still up to the user to ensure that there are no cache coherency issues when doing this, however the default behaviour will be to share super blocks whenever two paths result in the same fsid. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs - nordirplus optionSteve Dickson2007-03-291-0/+5
| | | | | | | | | | From: Steve Dickson <steved@redhat.com> Adds the -o nordirplus mount option that will disable NFS clients from using the READDIRPLUS RPC. Signed-off-by: Steve Dickson <steved@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs - require statd to be running to mount without nolocksNeil Brown2007-03-291-2/+2
| | | | | | | | | If we are mounting nfsv2 or nfsv3 and statd isn't running and we cannot start statd, then fail the mount request. Also use an RPC ping to check on statd. Signed-off-by: Neil Brown <neilb@suse.de>
* Add support for quoted mount optionsKarel Zak2007-03-201-9/+35
| | | | | | | | | | | | The patch avoid the collision between commas in security contexts and the delimiter between mount options. Try: mount.nfs foo://mnt/bar /mnt/bar -o context=\"aaa,bbb,ccc\",ro Signed-off-by: Cory Olmo <colmo@TrustedCS.com> Signed-off-by: Karel Zak <kzak@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* Remove some incorrect version matching code.Neil Brown2007-03-161-6/+2
| | | | | The version of the interface to the kernel for requesting a mount it entirely different to the version of NFS that is being mounted.
* Support -s option to ignore unknown options (sloppy)Neil Brown2007-03-161-3/+16
|
* Automatically start statd when mounting an nfs filesystem.Neil Brown2007-03-161-1/+2
| | | | | | | | | | | If statd is not running (/var/run/rpc.statd.pid) when an nfs filesystem is mounted (v2 or v3, with remote locking enabled), and if /usr/sbin/start-statd (or other program specified at config time) is present, then run that program to start statd. This means that statd does not need to be running "just in case". It only needs to be started at boot time if the nfs server is started.
* If -o sec= is not specified for mount, allow either AUTH_SYS or AUTH_NONE.Neil Brown2007-03-151-2/+10
| | | | | | | | | Solaris servers, when asked to share a filesystem with an anon-uid, will report the only available authentication style as AUTH_NONE in the reply from mountd (even though they actually accept AUTH_SYS and simply ignore the credentiuals). So if no sec= is specified we should really accept anything that can easily be handled. ie. AUTH_SYS or AUTH_NONE.
* nfs-utils patch for mount-reserved-portTalpey, Thomas2007-03-131-18/+18
| | | | | | | | Only create a mount-time reserved port socket for kernels which require it (pre-2.1.32/nfs_mount_version 1). Signed-off-by: Tom Talpey <tmt@netapp.com> Signed-off-by: Neil Brown <neilb@suse.de>
* Restore use of un-connected socket for UDP mount requests.Neil Brown2007-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | When connecting to an NFSv4 server we need to find out IP address as it would be seen by the server, to register an address for callbacks. This is most easily done by connecting the socket to the servers address and then getting the address of our endpoint. However with a connected UDP socket, replies that come from a different IP address - as can happen with non-Linux multi-homed servers - will be rejected. So if we connected our UDP socket, we need to be sure to disconnect it before using it. This patch adds an option to get_socket to say if we want it connected or not and, in the case where we do, we disconnect a UDP socket after the connection information has been used. Also clean up the error handling in clnt_ping which was getting clumsy.
* Add support for "mount -o sec=none"Neil Brown2007-03-131-1/+3
| | | | For completeness... and who knows, someone might want it.
* Merge nfsmount.x and mount.x into mount.xAmit Gud2006-06-231-5/+5
| | | | | | | Merge utils/mount/nfsmount.x and support/export/mount.x into support/export/mount.x. Signed-off-by: Amit Gud <agud@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Try to make sure that clientid used for NFSv4 is reliable.Neil Brown2006-06-231-1/+1
| | | | | | | | | | | | | We need to give an IP address to identify this client to the server. The current code does a gethostbyname of the hostname. One some systems this returns 127.0.0.1 or similar, which is not useful. Instead, use getsockname of the sock used to connect to the server to confirm that the server is working. This gives the address on the interface that was chosen to talk to that server, which is the best address we can find (if there is a NAT in the way, it might still not work, but in that case there is nothing we can do).
* Move NFS mount code from util-linux to nfs-utils - part 1Amit Gud2006-06-161-0/+1244
Adds the mount directory and the code to mount and umount the NFS file system. Signed-off-by: Amit Gud <agud@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>