diff options
author | bharrosh@panasas.com <bharrosh@panasas.com> | 2010-10-07 14:28:18 -0400 |
---|---|---|
committer | Boaz Harrosh <bharrosh@panasas.com> | 2011-03-15 15:02:50 +0200 |
commit | 66cd6cad4919f980dd21307d0150ff251762a264 (patch) | |
tree | 4f2d9dc0f9070ce829d03097542e7968e02df41a /fs/exofs/exofs.h | |
parent | 97178b7b6c84bd14660b89474d27931a1ea65c66 (diff) | |
download | linux-66cd6cad4919f980dd21307d0150ff251762a264.tar.gz linux-66cd6cad4919f980dd21307d0150ff251762a264.tar.bz2 linux-66cd6cad4919f980dd21307d0150ff251762a264.zip |
exofs: Override read-ahead to align on stripe_size
* Set all inode->i_mapping->backing_dev_info to point to
the per super-block sb->s_bdi.
* Calculating a read_ahead that is:
- preferable 2 stripes long
(Future patch will add a mount option to override this)
- Minimum 128K aligned up to stripe-size
- Caped to maximum-IO-sizes round down to stripe_size.
(Max sizes are governed by max bio-size that fits in a page
times number-of-devices)
CC: Marc Dionne <marc.c.dionne@gmail.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Diffstat (limited to 'fs/exofs/exofs.h')
-rw-r--r-- | fs/exofs/exofs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h index 2dc925fa1010..99fcb9126a97 100644 --- a/fs/exofs/exofs.h +++ b/fs/exofs/exofs.h @@ -256,6 +256,8 @@ static inline int exofs_oi_read(struct exofs_i_info *oi, } /* inode.c */ +unsigned exofs_max_io_pages(struct exofs_layout *layout, + unsigned expected_pages); 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, |