diff options
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r-- | include/linux/nfs_fs.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 508f8cf6da37..bba26684acdc 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -185,9 +185,12 @@ struct nfs_inode { | |||
185 | struct nfs4_cached_acl *nfs4_acl; | 185 | struct nfs4_cached_acl *nfs4_acl; |
186 | /* NFSv4 state */ | 186 | /* NFSv4 state */ |
187 | struct list_head open_states; | 187 | struct list_head open_states; |
188 | struct nfs_delegation *delegation; | 188 | struct nfs_delegation __rcu *delegation; |
189 | fmode_t delegation_state; | 189 | fmode_t delegation_state; |
190 | struct rw_semaphore rwsem; | 190 | struct rw_semaphore rwsem; |
191 | |||
192 | /* pNFS layout information */ | ||
193 | struct pnfs_layout_hdr *layout; | ||
191 | #endif /* CONFIG_NFS_V4*/ | 194 | #endif /* CONFIG_NFS_V4*/ |
192 | #ifdef CONFIG_NFS_FSCACHE | 195 | #ifdef CONFIG_NFS_FSCACHE |
193 | struct fscache_cookie *fscache; | 196 | struct fscache_cookie *fscache; |
@@ -360,10 +363,13 @@ extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | |||
360 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 363 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
361 | extern void put_nfs_open_context(struct nfs_open_context *ctx); | 364 | extern void put_nfs_open_context(struct nfs_open_context *ctx); |
362 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode); | 365 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode); |
366 | extern struct nfs_open_context *alloc_nfs_open_context(struct path *path, struct rpc_cred *cred, fmode_t f_mode); | ||
367 | extern void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx); | ||
363 | extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx); | 368 | extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx); |
364 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); | 369 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); |
365 | extern u64 nfs_compat_user_ino64(u64 fileid); | 370 | extern u64 nfs_compat_user_ino64(u64 fileid); |
366 | extern void nfs_fattr_init(struct nfs_fattr *fattr); | 371 | extern void nfs_fattr_init(struct nfs_fattr *fattr); |
372 | extern unsigned long nfs_inc_attr_generation_counter(void); | ||
367 | 373 | ||
368 | extern struct nfs_fattr *nfs_alloc_fattr(void); | 374 | extern struct nfs_fattr *nfs_alloc_fattr(void); |
369 | 375 | ||
@@ -379,9 +385,12 @@ static inline void nfs_free_fhandle(const struct nfs_fh *fh) | |||
379 | kfree(fh); | 385 | kfree(fh); |
380 | } | 386 | } |
381 | 387 | ||
388 | /* | ||
389 | * linux/fs/nfs/nfsroot.c | ||
390 | */ | ||
391 | extern int nfs_root_data(char **root_device, char **root_data); /*__init*/ | ||
382 | /* linux/net/ipv4/ipconfig.c: trims ip addr off front of name, too. */ | 392 | /* linux/net/ipv4/ipconfig.c: trims ip addr off front of name, too. */ |
383 | extern __be32 root_nfs_parse_addr(char *name); /*__init*/ | 393 | extern __be32 root_nfs_parse_addr(char *name); /*__init*/ |
384 | extern unsigned long nfs_inc_attr_generation_counter(void); | ||
385 | 394 | ||
386 | /* | 395 | /* |
387 | * linux/fs/nfs/file.c | 396 | * linux/fs/nfs/file.c |
@@ -479,10 +488,10 @@ extern void nfs_release_automount_timer(void); | |||
479 | /* | 488 | /* |
480 | * linux/fs/nfs/unlink.c | 489 | * linux/fs/nfs/unlink.c |
481 | */ | 490 | */ |
482 | extern int nfs_async_unlink(struct inode *dir, struct dentry *dentry); | ||
483 | extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); | 491 | extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); |
484 | extern void nfs_block_sillyrename(struct dentry *dentry); | 492 | extern void nfs_block_sillyrename(struct dentry *dentry); |
485 | extern void nfs_unblock_sillyrename(struct dentry *dentry); | 493 | extern void nfs_unblock_sillyrename(struct dentry *dentry); |
494 | extern int nfs_sillyrename(struct inode *dir, struct dentry *dentry); | ||
486 | 495 | ||
487 | /* | 496 | /* |
488 | * linux/fs/nfs/write.c | 497 | * linux/fs/nfs/write.c |
@@ -584,10 +593,6 @@ nfs_fileid_to_ino_t(u64 fileid) | |||
584 | return ino; | 593 | return ino; |
585 | } | 594 | } |
586 | 595 | ||
587 | /* NFS root */ | ||
588 | |||
589 | extern void * nfs_root_data(void); | ||
590 | |||
591 | #define nfs_wait_event(clnt, wq, condition) \ | 596 | #define nfs_wait_event(clnt, wq, condition) \ |
592 | ({ \ | 597 | ({ \ |
593 | int __retval = wait_event_killable(wq, condition); \ | 598 | int __retval = wait_event_killable(wq, condition); \ |
@@ -613,6 +618,8 @@ extern void * nfs_root_data(void); | |||
613 | #define NFSDBG_CLIENT 0x0200 | 618 | #define NFSDBG_CLIENT 0x0200 |
614 | #define NFSDBG_MOUNT 0x0400 | 619 | #define NFSDBG_MOUNT 0x0400 |
615 | #define NFSDBG_FSCACHE 0x0800 | 620 | #define NFSDBG_FSCACHE 0x0800 |
621 | #define NFSDBG_PNFS 0x1000 | ||
622 | #define NFSDBG_PNFS_LD 0x2000 | ||
616 | #define NFSDBG_ALL 0xFFFF | 623 | #define NFSDBG_ALL 0xFFFF |
617 | 624 | ||
618 | #ifdef __KERNEL__ | 625 | #ifdef __KERNEL__ |