diff options
-rw-r--r-- | fs/nfs/inode.c | 2 | ||||
-rw-r--r-- | include/linux/nfs_fs.h | 76 |
2 files changed, 59 insertions, 19 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 9d7b08c43865..5d381cfbfe7e 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -229,7 +229,7 @@ nfs_init_locked(struct inode *inode, void *opaque) | |||
229 | struct nfs_find_desc *desc = (struct nfs_find_desc *)opaque; | 229 | struct nfs_find_desc *desc = (struct nfs_find_desc *)opaque; |
230 | struct nfs_fattr *fattr = desc->fattr; | 230 | struct nfs_fattr *fattr = desc->fattr; |
231 | 231 | ||
232 | NFS_FILEID(inode) = fattr->fileid; | 232 | set_nfs_fileid(inode, fattr->fileid); |
233 | nfs_copy_fh(NFS_FH(inode), desc->fh); | 233 | nfs_copy_fh(NFS_FH(inode), desc->fh); |
234 | return 0; | 234 | return 0; |
235 | } | 235 | } |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 9e7c24a2aca9..099ddb4481c0 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -196,27 +196,67 @@ struct nfs_inode { | |||
196 | #define NFS_INO_STALE (2) /* possible stale inode */ | 196 | #define NFS_INO_STALE (2) /* possible stale inode */ |
197 | #define NFS_INO_ACL_LRU_SET (3) /* Inode is on the LRU list */ | 197 | #define NFS_INO_ACL_LRU_SET (3) /* Inode is on the LRU list */ |
198 | 198 | ||
199 | static inline struct nfs_inode *NFS_I(struct inode *inode) | 199 | static inline struct nfs_inode *NFS_I(const struct inode *inode) |
200 | { | 200 | { |
201 | return container_of(inode, struct nfs_inode, vfs_inode); | 201 | return container_of(inode, struct nfs_inode, vfs_inode); |
202 | } | 202 | } |
203 | #define NFS_SB(s) ((struct nfs_server *)(s->s_fs_info)) | 203 | |
204 | 204 | static inline struct nfs_server *NFS_SB(const struct super_block *s) | |
205 | #define NFS_FH(inode) (&NFS_I(inode)->fh) | 205 | { |
206 | #define NFS_SERVER(inode) (NFS_SB(inode->i_sb)) | 206 | return (struct nfs_server *)(s->s_fs_info); |
207 | #define NFS_CLIENT(inode) (NFS_SERVER(inode)->client) | 207 | } |
208 | #define NFS_PROTO(inode) (NFS_SERVER(inode)->nfs_client->rpc_ops) | 208 | |
209 | #define NFS_COOKIEVERF(inode) (NFS_I(inode)->cookieverf) | 209 | static inline struct nfs_fh *NFS_FH(const struct inode *inode) |
210 | #define NFS_MINATTRTIMEO(inode) \ | 210 | { |
211 | (S_ISDIR(inode->i_mode)? NFS_SERVER(inode)->acdirmin \ | 211 | return &NFS_I(inode)->fh; |
212 | : NFS_SERVER(inode)->acregmin) | 212 | } |
213 | #define NFS_MAXATTRTIMEO(inode) \ | 213 | |
214 | (S_ISDIR(inode->i_mode)? NFS_SERVER(inode)->acdirmax \ | 214 | static inline struct nfs_server *NFS_SERVER(const struct inode *inode) |
215 | : NFS_SERVER(inode)->acregmax) | 215 | { |
216 | 216 | return NFS_SB(inode->i_sb); | |
217 | #define NFS_STALE(inode) (test_bit(NFS_INO_STALE, &NFS_I(inode)->flags)) | 217 | } |
218 | 218 | ||
219 | #define NFS_FILEID(inode) (NFS_I(inode)->fileid) | 219 | static inline struct rpc_clnt *NFS_CLIENT(const struct inode *inode) |
220 | { | ||
221 | return NFS_SERVER(inode)->client; | ||
222 | } | ||
223 | |||
224 | static inline const struct nfs_rpc_ops *NFS_PROTO(const struct inode *inode) | ||
225 | { | ||
226 | return NFS_SERVER(inode)->nfs_client->rpc_ops; | ||
227 | } | ||
228 | |||
229 | static inline __be32 *NFS_COOKIEVERF(const struct inode *inode) | ||
230 | { | ||
231 | return NFS_I(inode)->cookieverf; | ||
232 | } | ||
233 | |||
234 | static inline unsigned NFS_MINATTRTIMEO(const struct inode *inode) | ||
235 | { | ||
236 | struct nfs_server *nfss = NFS_SERVER(inode); | ||
237 | return S_ISDIR(inode->i_mode) ? nfss->acdirmin : nfss->acregmin; | ||
238 | } | ||
239 | |||
240 | static inline unsigned NFS_MAXATTRTIMEO(const struct inode *inode) | ||
241 | { | ||
242 | struct nfs_server *nfss = NFS_SERVER(inode); | ||
243 | return S_ISDIR(inode->i_mode) ? nfss->acdirmax : nfss->acregmax; | ||
244 | } | ||
245 | |||
246 | static inline int NFS_STALE(const struct inode *inode) | ||
247 | { | ||
248 | return test_bit(NFS_INO_STALE, &NFS_I(inode)->flags); | ||
249 | } | ||
250 | |||
251 | static inline __u64 NFS_FILEID(const struct inode *inode) | ||
252 | { | ||
253 | return NFS_I(inode)->fileid; | ||
254 | } | ||
255 | |||
256 | static inline void set_nfs_fileid(struct inode *inode, __u64 fileid) | ||
257 | { | ||
258 | NFS_I(inode)->fileid = fileid; | ||
259 | } | ||
220 | 260 | ||
221 | static inline void nfs_mark_for_revalidate(struct inode *inode) | 261 | static inline void nfs_mark_for_revalidate(struct inode *inode) |
222 | { | 262 | { |