avoid alloc_contig() for iovec, mfs superblock

. initial workaround for assert() firing on iovec
	  size on ARM. likely due to alloc_contig() allocating
	  unusually mapped memory in STATICINIT.
	. for the same reason use the regular cache i/o functions
	  to read the superblock in mfs - avoid the alloc_contig()
	  that STATICINIT does.

Change-Id: I3d8dc635b1cf2666e55b0393feae74cc25b8fed4
This commit is contained in:
Ben Gras
2013-10-03 17:22:07 +02:00
committed by Gerrit Code Review
parent 982405fef1
commit 99d668d87f
2 changed files with 25 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ static struct buf **buf_hash; /* the buffer hash table */
static unsigned int nr_bufs;
static int may_use_vmcache;
static int fs_block_size = 1024; /* raw i/o block size */
static int fs_block_size = PAGE_SIZE; /* raw i/o block size */
static int rdwt_err;
@@ -616,12 +616,10 @@ void lmfs_rw_scattered(
int gap;
register int i;
register iovec_t *iop;
static iovec_t *iovec = NULL;
static iovec_t iovec[NR_IOREQS];
u64_t pos;
int iov_per_block;
STATICINIT(iovec, NR_IOREQS);
assert(dev != NO_DEV);
assert(!(fs_block_size % PAGE_SIZE));
assert(fs_block_size > 0);