diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-13 13:37:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-13 13:37:30 -0400 |
commit | 2897c684d1d5140e0e0302e73660c7cb97981b27 (patch) | |
tree | 8132776c20aeaa8ec6703ea782afd44ffc76e3ce /fs/afs/internal.h | |
parent | c029b55af7d6b02b993e8a5add78d062da7a3940 (diff) | |
parent | 3f43231230664c23f4a7513232171dcb6ce9f068 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
[NFS] Set CONFIG_KEYS when CONFIG_NFS_USE_KERNEL_DNS is set
AFS: Implement an autocell mount capability [ver #2]
DNS: If the DNS server returns an error, allow that to be cached [ver #2]
NFS: Use kernel DNS resolver [ver #2]
cifs: update README to include details about 'fsc' option
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r-- | fs/afs/internal.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/afs/internal.h b/fs/afs/internal.h index c6c93f180707..cca8eef736fc 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h | |||
@@ -42,6 +42,7 @@ typedef enum { | |||
42 | struct afs_mount_params { | 42 | struct afs_mount_params { |
43 | bool rwpath; /* T if the parent should be considered R/W */ | 43 | bool rwpath; /* T if the parent should be considered R/W */ |
44 | bool force; /* T to force cell type */ | 44 | bool force; /* T to force cell type */ |
45 | bool autocell; /* T if set auto mount operation */ | ||
45 | afs_voltype_t type; /* type of volume requested */ | 46 | afs_voltype_t type; /* type of volume requested */ |
46 | int volnamesz; /* size of volume name */ | 47 | int volnamesz; /* size of volume name */ |
47 | const char *volname; /* name of volume to mount */ | 48 | const char *volname; /* name of volume to mount */ |
@@ -358,6 +359,8 @@ struct afs_vnode { | |||
358 | #define AFS_VNODE_READLOCKED 7 /* set if vnode is read-locked on the server */ | 359 | #define AFS_VNODE_READLOCKED 7 /* set if vnode is read-locked on the server */ |
359 | #define AFS_VNODE_WRITELOCKED 8 /* set if vnode is write-locked on the server */ | 360 | #define AFS_VNODE_WRITELOCKED 8 /* set if vnode is write-locked on the server */ |
360 | #define AFS_VNODE_UNLOCKING 9 /* set if vnode is being unlocked on the server */ | 361 | #define AFS_VNODE_UNLOCKING 9 /* set if vnode is being unlocked on the server */ |
362 | #define AFS_VNODE_AUTOCELL 10 /* set if Vnode is an auto mount point */ | ||
363 | #define AFS_VNODE_PSEUDODIR 11 /* set if Vnode is a pseudo directory */ | ||
361 | 364 | ||
362 | long acl_order; /* ACL check count (callback break count) */ | 365 | long acl_order; /* ACL check count (callback break count) */ |
363 | 366 | ||
@@ -468,8 +471,8 @@ extern struct list_head afs_proc_cells; | |||
468 | 471 | ||
469 | #define afs_get_cell(C) do { atomic_inc(&(C)->usage); } while(0) | 472 | #define afs_get_cell(C) do { atomic_inc(&(C)->usage); } while(0) |
470 | extern int afs_cell_init(char *); | 473 | extern int afs_cell_init(char *); |
471 | extern struct afs_cell *afs_cell_create(const char *, char *); | 474 | extern struct afs_cell *afs_cell_create(const char *, unsigned, char *, bool); |
472 | extern struct afs_cell *afs_cell_lookup(const char *, unsigned); | 475 | extern struct afs_cell *afs_cell_lookup(const char *, unsigned, bool); |
473 | extern struct afs_cell *afs_grab_cell(struct afs_cell *); | 476 | extern struct afs_cell *afs_grab_cell(struct afs_cell *); |
474 | extern void afs_put_cell(struct afs_cell *); | 477 | extern void afs_put_cell(struct afs_cell *); |
475 | extern void afs_cell_purge(void); | 478 | extern void afs_cell_purge(void); |
@@ -558,6 +561,8 @@ extern int afs_fs_release_lock(struct afs_server *, struct key *, | |||
558 | /* | 561 | /* |
559 | * inode.c | 562 | * inode.c |
560 | */ | 563 | */ |
564 | extern struct inode *afs_iget_autocell(struct inode *, const char *, int, | ||
565 | struct key *); | ||
561 | extern struct inode *afs_iget(struct super_block *, struct key *, | 566 | extern struct inode *afs_iget(struct super_block *, struct key *, |
562 | struct afs_fid *, struct afs_file_status *, | 567 | struct afs_fid *, struct afs_file_status *, |
563 | struct afs_callback *); | 568 | struct afs_callback *); |
@@ -566,6 +571,7 @@ extern int afs_validate(struct afs_vnode *, struct key *); | |||
566 | extern int afs_getattr(struct vfsmount *, struct dentry *, struct kstat *); | 571 | extern int afs_getattr(struct vfsmount *, struct dentry *, struct kstat *); |
567 | extern int afs_setattr(struct dentry *, struct iattr *); | 572 | extern int afs_setattr(struct dentry *, struct iattr *); |
568 | extern void afs_evict_inode(struct inode *); | 573 | extern void afs_evict_inode(struct inode *); |
574 | extern int afs_drop_inode(struct inode *); | ||
569 | 575 | ||
570 | /* | 576 | /* |
571 | * main.c | 577 | * main.c |
@@ -581,6 +587,7 @@ extern int afs_abort_to_error(u32); | |||
581 | * mntpt.c | 587 | * mntpt.c |
582 | */ | 588 | */ |
583 | extern const struct inode_operations afs_mntpt_inode_operations; | 589 | extern const struct inode_operations afs_mntpt_inode_operations; |
590 | extern const struct inode_operations afs_autocell_inode_operations; | ||
584 | extern const struct file_operations afs_mntpt_file_operations; | 591 | extern const struct file_operations afs_mntpt_file_operations; |
585 | 592 | ||
586 | extern int afs_mntpt_check_symlink(struct afs_vnode *, struct key *); | 593 | extern int afs_mntpt_check_symlink(struct afs_vnode *, struct key *); |