diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2008-10-27 19:31:34 +0200 |
---|---|---|
committer | Boaz Harrosh <bharrosh@panasas.com> | 2009-03-31 19:44:29 +0300 |
commit | beaec07ba6af35d387643b76a2920a7a6e22207b (patch) | |
tree | 74ffd4738198424f698ae238e4d3164938ef5af7 /fs/exofs/exofs.h | |
parent | 982980d753223fda3864038236b7b94e246895cb (diff) | |
download | op-kernel-dev-beaec07ba6af35d387643b76a2920a7a6e22207b.zip op-kernel-dev-beaec07ba6af35d387643b76a2920a7a6e22207b.tar.gz |
exofs: address_space_operations
OK Now we start to read and write from osd-objects. We try to
collect at most contiguous pages as possible in a single write/read.
The first page index is the object's offset.
TODO:
In 64-bit a single bio can carry at most 128 pages.
Add support of chaining multiple bios
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Diffstat (limited to 'fs/exofs/exofs.h')
-rw-r--r-- | fs/exofs/exofs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h index 825454d..0276242 100644 --- a/fs/exofs/exofs.h +++ b/fs/exofs/exofs.h @@ -130,6 +130,9 @@ static inline struct exofs_i_info *exofs_i(struct inode *inode) /* inode.c */ void exofs_truncate(struct inode *inode); int exofs_setattr(struct dentry *, struct iattr *); +int exofs_write_begin(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned flags, + struct page **pagep, void **fsdata); /********************* * operation vectors * @@ -138,6 +141,9 @@ int exofs_setattr(struct dentry *, struct iattr *); extern const struct inode_operations exofs_file_inode_operations; extern const struct file_operations exofs_file_operations; +/* inode.c */ +extern const struct address_space_operations exofs_aops; + /* symlink.c */ extern const struct inode_operations exofs_symlink_inode_operations; extern const struct inode_operations exofs_fast_symlink_inode_operations; |