]>
Commit | Line | Data |
---|---|---|
3ed8491c EVH |
1 | /* |
2 | * V9FS FID Management | |
3 | * | |
4 | * Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com> | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
42e8c509 EVH |
7 | * it under the terms of the GNU General Public License version 2 |
8 | * as published by the Free Software Foundation. | |
3ed8491c EVH |
9 | * |
10 | * This program is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | * GNU General Public License for more details. | |
14 | * | |
15 | * You should have received a copy of the GNU General Public License | |
16 | * along with this program; if not, write to: | |
17 | * Free Software Foundation | |
18 | * 51 Franklin Street, Fifth Floor | |
19 | * Boston, MA 02111-1301 USA | |
20 | * | |
21 | */ | |
e0459f57 AK |
22 | #ifndef FS_9P_FID_H |
23 | #define FS_9P_FID_H | |
3ed8491c EVH |
24 | #include <linux/list.h> |
25 | ||
ee443996 EVH |
26 | /** |
27 | * struct v9fs_dentry - 9p private data stored in dentry d_fsdata | |
28 | * @lock: protects the fidlist | |
29 | * @fidlist: list of FIDs currently associated with this dentry | |
30 | * | |
31 | * This structure defines the 9p private data associated with | |
32 | * a particular dentry. In particular, this private data is used | |
33 | * to lookup which 9P FID handle should be used for a particular VFS | |
34 | * operation. FID handles are associated with dentries instead of | |
35 | * inodes in order to more closely map functionality to the Plan 9 | |
36 | * expected behavior for FID reclaimation and tracking. | |
37 | * | |
38 | * See Also: Mapping FIDs to Linux VFS model in | |
39 | * Design and Implementation of the Linux 9P File System documentation | |
40 | */ | |
bd238fb4 LI |
41 | struct v9fs_dentry { |
42 | spinlock_t lock; /* protect fidlist */ | |
43 | struct list_head fidlist; | |
3ed8491c EVH |
44 | }; |
45 | ||
bd238fb4 | 46 | struct p9_fid *v9fs_fid_lookup(struct dentry *dentry); |
bd238fb4 LI |
47 | struct p9_fid *v9fs_fid_clone(struct dentry *dentry); |
48 | int v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid); | |
3cf387d7 | 49 | struct p9_fid *v9fs_writeback_fid(struct dentry *dentry); |
e0459f57 | 50 | #endif |