Skip to content

Commit

Permalink
exofs: address_space_operations
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Boaz Harrosh committed Mar 31, 2009
1 parent 982980d commit beaec07
Show file tree
Hide file tree
Showing 2 changed files with 703 additions and 0 deletions.
6 changes: 6 additions & 0 deletions fs/exofs/exofs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 *
Expand All @@ -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;
Expand Down
Loading

0 comments on commit beaec07

Please sign in to comment.