1
linux/fs/ubifs
Artem Bityutskiy 6c0c42cdfd UBIFS: do not allocate too much
Bulk-read allocates 128KiB or more using kmalloc. The allocation
starts failing often when the memory gets fragmented. UBIFS still
works fine in this case, because it falls-back to standard
(non-optimized) read method, though. This patch teaches bulk-read
to allocate exactly the amount of memory it needs, instead of
allocating 128KiB every time.

This patch is also a preparation to the further fix where we'll
have a pre-allocated bulk-read buffer as well. For example, now
the @bu object is prepared in 'ubifs_bulk_read()', so we could
path either pre-allocated or allocated information to
'ubifs_do_bulk_read()' later. Or teaching 'ubifs_do_bulk_read()'
not to allocate 'bu->buf' if it is already there.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2008-11-21 18:59:25 +02:00
..
budget.c UBIFS: add a print, fix comments and more minor stuff 2008-09-30 11:12:55 +03:00
commit.c UBIFS: remove printk 2008-11-06 11:06:14 +02:00
compress.c UBIFS: fix ubifs_compress commentary 2008-10-19 13:01:37 +03:00
debug.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
debug.h UBIFS: add more debugging messages for LPT 2008-09-30 11:12:59 +03:00
dir.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
file.c UBIFS: do not allocate too much 2008-11-21 18:59:25 +02:00
find.c UBIFS: remove unneeded unlikely() 2008-09-30 11:12:55 +03:00
gc.c UBIFS: improve garbage collection 2008-09-30 11:12:59 +03:00
io.c UBIFS: check data CRC when in error state 2008-09-30 11:12:57 +03:00
ioctl.c
journal.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
Kconfig
key.h UBIFS: endian handling fixes and annotations 2008-11-06 11:06:19 +02:00
log.c UBIFS: increment commit number earlier 2008-08-13 11:27:47 +03:00
lprops.c UBIFS: inline one-line functions 2008-09-30 11:12:56 +03:00
lpt_commit.c UBIFS: allow for gaps when dirtying the LPT 2008-11-07 12:11:52 +02:00
lpt.c UBIFS: do not read unnecessary bytes when unpacking bits 2008-10-19 13:01:21 +03:00
Makefile
master.c
misc.h UBIFS: inline one-line functions 2008-09-30 11:12:56 +03:00
orphan.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
recovery.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
replay.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
sb.c UBIFS: endian handling fixes and annotations 2008-11-06 11:06:19 +02:00
scan.c UBIFS: add no_chk_data_crc mount option 2008-09-30 11:12:56 +03:00
shrinker.c
super.c UBIFS: do not allocate too much 2008-11-21 18:59:25 +02:00
tnc_commit.c UBIFS: minor tweaks in commit 2008-08-13 11:38:19 +03:00
tnc_misc.c UBIFS: correct key comparison 2008-09-30 11:12:57 +03:00
tnc.c UBIFS: do not allocate too much 2008-11-21 18:59:25 +02:00
ubifs-media.h UBIFS: ensure data read beyond i_size is zeroed out correctly 2008-09-30 11:12:57 +03:00
ubifs.h UBIFS: do not allocate too much 2008-11-21 18:59:25 +02:00
xattr.c UBIFS: remove unneeded unlikely() 2008-09-30 11:12:55 +03:00