diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 22:16:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 22:16:57 -0400 |
commit | 1fad1e9a747687a7399bf58e87974f9b1bbcae06 (patch) | |
tree | fde2dc9a35321e21c99e06d4b79d5fa06fd34679 /fs/nfs/proc.c | |
parent | bbeb0af25f493261c15ceee176c99b7fd6fd5479 (diff) | |
parent | f44106e2173f08ccb1c9195d85a6c22388b461c1 (diff) |
Merge tag 'nfs-for-3.6-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull NFS client updates from Trond Myklebust:
"Features include:
- More preparatory patches for modularising NFSv2/v3/v4. Split out
the various NFSv2/v3/v4-specific code into separate files
- More preparation for the NFSv4 migration code
- Ensure that OPEN(O_CREATE) observes the pNFS mds threshold
parameters
- pNFS fast failover when the data servers are down
- Various cleanups and debugging patches"
* tag 'nfs-for-3.6-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (67 commits)
nfs: fix fl_type tests in NFSv4 code
NFS: fix pnfs regression with directio writes
NFS: fix pnfs regression with directio reads
sunrpc: clnt: Add missing braces
nfs: fix stub return type warnings
NFS: exit_nfs_v4() shouldn't be an __exit function
SUNRPC: Add a missing spin_unlock to gss_mech_list_pseudoflavors
NFS: Split out NFS v4 client functions
NFS: Split out the NFS v4 filesystem types
NFS: Create a single nfs_clone_super() function
NFS: Split out NFS v4 server creating code
NFS: Initialize the NFS v4 client from init_nfs_v4()
NFS: Move the v4 getroot code to nfs4getroot.c
NFS: Split out NFS v4 file operations
NFS: Initialize v4 sysctls from nfs_init_v4()
NFS: Create an init_nfs_v4() function
NFS: Split out NFS v4 inode operations
NFS: Split out NFS v3 inode operations
NFS: Split out NFS v2 inode operations
NFS: Clean up nfs4_proc_setclientid() and friends
...
Diffstat (limited to 'fs/nfs/proc.c')
-rw-r--r-- | fs/nfs/proc.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c index 4433806e116f..4d3356af3309 100644 --- a/fs/nfs/proc.c +++ b/fs/nfs/proc.c | |||
@@ -734,6 +734,38 @@ out_einval: | |||
734 | return -EINVAL; | 734 | return -EINVAL; |
735 | } | 735 | } |
736 | 736 | ||
737 | static int nfs_have_delegation(struct inode *inode, fmode_t flags) | ||
738 | { | ||
739 | return 0; | ||
740 | } | ||
741 | |||
742 | static int nfs_return_delegation(struct inode *inode) | ||
743 | { | ||
744 | nfs_wb_all(inode); | ||
745 | return 0; | ||
746 | } | ||
747 | |||
748 | static const struct inode_operations nfs_dir_inode_operations = { | ||
749 | .create = nfs_create, | ||
750 | .lookup = nfs_lookup, | ||
751 | .link = nfs_link, | ||
752 | .unlink = nfs_unlink, | ||
753 | .symlink = nfs_symlink, | ||
754 | .mkdir = nfs_mkdir, | ||
755 | .rmdir = nfs_rmdir, | ||
756 | .mknod = nfs_mknod, | ||
757 | .rename = nfs_rename, | ||
758 | .permission = nfs_permission, | ||
759 | .getattr = nfs_getattr, | ||
760 | .setattr = nfs_setattr, | ||
761 | }; | ||
762 | |||
763 | static const struct inode_operations nfs_file_inode_operations = { | ||
764 | .permission = nfs_permission, | ||
765 | .getattr = nfs_getattr, | ||
766 | .setattr = nfs_setattr, | ||
767 | }; | ||
768 | |||
737 | const struct nfs_rpc_ops nfs_v2_clientops = { | 769 | const struct nfs_rpc_ops nfs_v2_clientops = { |
738 | .version = 2, /* protocol version */ | 770 | .version = 2, /* protocol version */ |
739 | .dentry_ops = &nfs_dentry_operations, | 771 | .dentry_ops = &nfs_dentry_operations, |
@@ -767,9 +799,11 @@ const struct nfs_rpc_ops nfs_v2_clientops = { | |||
767 | .pathconf = nfs_proc_pathconf, | 799 | .pathconf = nfs_proc_pathconf, |
768 | .decode_dirent = nfs2_decode_dirent, | 800 | .decode_dirent = nfs2_decode_dirent, |
769 | .read_setup = nfs_proc_read_setup, | 801 | .read_setup = nfs_proc_read_setup, |
802 | .read_pageio_init = nfs_pageio_init_read, | ||
770 | .read_rpc_prepare = nfs_proc_read_rpc_prepare, | 803 | .read_rpc_prepare = nfs_proc_read_rpc_prepare, |
771 | .read_done = nfs_read_done, | 804 | .read_done = nfs_read_done, |
772 | .write_setup = nfs_proc_write_setup, | 805 | .write_setup = nfs_proc_write_setup, |
806 | .write_pageio_init = nfs_pageio_init_write, | ||
773 | .write_rpc_prepare = nfs_proc_write_rpc_prepare, | 807 | .write_rpc_prepare = nfs_proc_write_rpc_prepare, |
774 | .write_done = nfs_write_done, | 808 | .write_done = nfs_write_done, |
775 | .commit_setup = nfs_proc_commit_setup, | 809 | .commit_setup = nfs_proc_commit_setup, |
@@ -777,5 +811,9 @@ const struct nfs_rpc_ops nfs_v2_clientops = { | |||
777 | .lock = nfs_proc_lock, | 811 | .lock = nfs_proc_lock, |
778 | .lock_check_bounds = nfs_lock_check_bounds, | 812 | .lock_check_bounds = nfs_lock_check_bounds, |
779 | .close_context = nfs_close_context, | 813 | .close_context = nfs_close_context, |
814 | .have_delegation = nfs_have_delegation, | ||
815 | .return_delegation = nfs_return_delegation, | ||
816 | .alloc_client = nfs_alloc_client, | ||
780 | .init_client = nfs_init_client, | 817 | .init_client = nfs_init_client, |
818 | .free_client = nfs_free_client, | ||
781 | }; | 819 | }; |