grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [f2fs-dev] [PATCH v6] F2FS support


From: Andrei Borzenkov
Subject: Re: [f2fs-dev] [PATCH v6] F2FS support
Date: Mon, 22 Feb 2016 12:25:26 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

08.01.2016 22:41, Jaegeuk Kim пишет:
> Change log from v5:
>  o fix build warning for ARM, reported by Michael Zimmermann
> 
> Thanks to Michael for testing this patch.
> 
> -- >8 --
> From 284fd66662a6d5e07770cc021c8f59b538471c35 Mon Sep 17 00:00:00 2001
> From: Jaegeuk Kim <address@hidden>
> Date: Tue, 17 Nov 2015 12:45:13 -0800
> Subject: [PATCH] F2FS support
> 
> "F2FS (Flash-Friendly File System) is flash-friendly file system which was 
> merged
> into Linux kernel v3.8 in 2013.
> 
> The motive for F2FS was to build a file system that from the start, takes into
> account the characteristics of NAND flash memory-based storage devices (such 
> as
> solid-state disks, eMMC, and SD cards).
> 
> F2FS was designed on a basis of a log-structured file system approach, which
> remedies some known issues of the older log structured file systems, such as
> the snowball effect of wandering trees and high cleaning overhead. In 
> addition,
> since a NAND-based storage device shows different characteristics according to
> its internal geometry or flash memory management scheme (such as the Flash
> Translation Layer or FTL), it supports various parameters not only for
> configuring on-disk layout, but also for selecting allocation and cleaning
> algorithm.", quote by https://en.wikipedia.org/wiki/F2FS.
> 
> The source codes for F2FS are available from:
> 
> http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs.git
> http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
> 

Sorry for delay. I'm fine with it (with single nitpick, see below);
Vladimir has final word whether this can be committed.
...

> +static grub_ssize_t
> +grub_f2fs_read_file (grub_fshelp_node_t node,
> +             grub_disk_read_hook_t read_hook, void *read_hook_data,
> +             grub_off_t pos, grub_size_t len, char *buf)
> +{
> +  struct grub_f2fs_inode *inode = &node->inode.i;
> +  grub_off_t filesize = grub_f2fs_file_size (inode);
> +  char *inline_addr = __inline_addr (inode);
> +
> +  if (inode->i_inline & F2FS_INLINE_DATA)
> +    {
> +      if (pos > filesize || filesize > MAX_INLINE_DATA)

GRUB checks that pos < filesize before calling into fs so this is
redundant. And filesize check is static so can be done in ->open.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]