diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2007-10-18 06:07:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:31 -0400 |
commit | 93a8c3cd9e9834dc5f5c373336f3a0065521152d (patch) | |
tree | ce8731adbf7a2bcd441e8b82d3d932abf94b13df /fs/fuse/fuse_i.h | |
parent | a9ff4f87056cd31a8232b88d013dc6c9ad719c18 (diff) |
fuse: add list of writable files to fuse_inode
Each WRITE request must carry a valid file descriptor. When a page is written
back from a memory mapping, the file through which the page was dirtied is not
available, so a new mechananism is needed to find a suitable file in
->writepage(s).
A list of fuse_files is added to fuse_inode. The file is removed from the
list in fuse_release().
This patch is in preparation for writable mmap support.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r-- | fs/fuse/fuse_i.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index b24fc9b386f8..5657cca0d0cb 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h | |||
@@ -70,6 +70,9 @@ struct fuse_inode { | |||
70 | 70 | ||
71 | /** Version of last attribute change */ | 71 | /** Version of last attribute change */ |
72 | u64 attr_version; | 72 | u64 attr_version; |
73 | |||
74 | /** Files usable in writepage. Protected by fc->lock */ | ||
75 | struct list_head write_files; | ||
73 | }; | 76 | }; |
74 | 77 | ||
75 | /** FUSE specific file data */ | 78 | /** FUSE specific file data */ |
@@ -82,6 +85,9 @@ struct fuse_file { | |||
82 | 85 | ||
83 | /** Refcount */ | 86 | /** Refcount */ |
84 | atomic_t count; | 87 | atomic_t count; |
88 | |||
89 | /** Entry on inode's write_files list */ | ||
90 | struct list_head write_entry; | ||
85 | }; | 91 | }; |
86 | 92 | ||
87 | /** One input argument of a request */ | 93 | /** One input argument of a request */ |