NFS: Implement SEEK

The SEEK operation is used when an application makes an lseek call with
either the SEEK_HOLE or SEEK_DATA flags set.  I fall back on
nfs_file_llseek() if the server does not have SEEK support.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Anna Schumaker
2014-09-26 13:58:48 -04:00
committed by Trond Myklebust
parent 4a3a0ebad1
commit 1c6dcbe5ce
12 changed files with 244 additions and 2 deletions

View File

@@ -1239,6 +1239,25 @@ struct pnfs_ds_commit_info {
#endif /* CONFIG_NFS_V4_1 */
#ifdef CONFIG_NFS_V4_2
struct nfs42_seek_args {
struct nfs4_sequence_args seq_args;
struct nfs_fh *sa_fh;
nfs4_stateid sa_stateid;
u64 sa_offset;
u32 sa_what;
};
struct nfs42_seek_res {
struct nfs4_sequence_res seq_res;
unsigned int status;
u32 sr_eof;
u64 sr_offset;
};
#endif
struct nfs_page;
#define NFS_PAGEVEC_SIZE (8U)