
On Thu, 2019-01-31 at 15:23 +0100, Marek Vasut wrote:
On 1/31/19 1:42 PM, tien.fong.chee@intel.com wrote:
From: Tien Fong Chee tien.fong.chee@intel.com
Release cluster block immediately when no longer use would help to reduce 64KiB memory allocated to the memory pool.
Signed-off-by: Tien Fong Chee tien.fong.chee@intel.com
changes for v2
- Assigned NULL to itr after free.
- Added NULL checking to itr, avoid freeing twice.
fs/fat/fat.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 347787e..fa846ff 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -1152,12 +1152,21 @@ int file_fat_read_at(const char *filename, loff_t pos, void *buffer, goto out_free_both; debug("reading %s at pos %llu\n", filename, pos);
- ret = get_contents(&fsdata, itr->dent, pos, buffer,
maxsize, actread);
- /* For saving default max clustersize memory allocated to
malloc pool */
- dir_entry *dentptr = itr->dent;
- free(itr);
- itr = NULL;
- ret = get_contents(&fsdata, dentptr, pos, buffer, maxsize,
actread); out_free_both: free(fsdata.fatbuf); out_free_itr:
- free(itr);
- if (itr)
free(itr);
free(NULL) is valid, so you can drop the if conditional.
Noted.
return ret; }