1. 26 12月, 2012 3 次提交
    • N
      f2fs: fix up f2fs_get_parent issue to retrieve correct parent inode number · 38e0abdc
      Namjae Jeon 提交于
      Test Case:
      [NFS Client]
      ls -lR .
      
      [NFS Server]
      while [ 1 ]
      do
      echo 3 > /proc/sys/vm/drop_caches
      done
      
      Error on NFS Client: "No such file or directory"
      
      When cache is dropped at the server, it results in lookup failure at the
      NFS client due to non-connection with the parent. The default path is it
      initiates a lookup by calculating the hash value for the name, even though
      the hash values stored on the disk for "." and ".." is maintained as zero,
      which results in failure from find_in_block due to not matching HASH values.
      Fix up, by using the correct hashing values for these entries.
      Signed-off-by: NNamjae Jeon <namjae.jeon@samsung.com>
      Signed-off-by: NAmit Sahrawat <a.sahrawat@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      38e0abdc
    • J
      f2fs: fix wrong calculation on f_files in statfs · 1362b5e3
      Jaegeuk Kim 提交于
      In f2fs_statfs(), f_files should be the total number of available inodes
      instead of the currently allocated inodes.
      So, this patch should resolve the reported bug below.
      
      Note that, showing 10% usage is not a bug, since f2fs reveals whole volume size
      as much as possible and shows the space overhead as *used*.
      This policy is fair enough with respect to other file systems.
      
      <Reported Bug>
      (loop0 is backed by 1GiB file)
      
      $ mkfs.f2fs /dev/loop0
      
      F2FS-tools: Ver: 1.1.0 (2012-12-11)
      Info: sector size = 512
      Info: total sectors = 2097152 (in 512bytes)
      Info: zone aligned segment0 blkaddr: 512
      Info: format successful
      
      $ mount /dev/loop0 mnt/
      
      $ df mnt/
      Filesystem     1K-blocks  Used Available Use% Mounted on
      /dev/loop0       1046528 98312    929784  10%
      /home/zeta/linux-devel/mtd-bench/mnt
      
      $ df mnt/ -i
      Filesystem     Inodes   IUsed  IFree IUse% Mounted on
      /dev/loop0       1 -465918 465919     - /home/zeta/linux-devel/mtd-bench/mnt
      
      Notice IUsed is negative. Also, 10% usage on a fresh f2fs seems too
      much to be correct.
      Reported-and-Tested-by: NEzequiel Garcia <elezegarcia@gmail.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      1362b5e3
    • J
      f2fs: remove set_page_dirty for atomic f2fs_end_io_write · dfb7c0ce
      Jaegeuk Kim 提交于
      We should guarantee not to do *scheduling while atomic*.
      I found, in atomic f2fs_end_io_write(), there is a set_page_dirty() call
      to deal with IO errors.
      
      But, set_page_dirty() calls:
       -> f2fs_set_data_page_dirty()
         -> set_dirty_dir_page()
            -> cond_resched() which results in scheduling.
      
      In order to avoid this, I'd like to remove simply set_page_dirty(),
      since the page is already marked as ERROR and f2fs will be operated
      as the read-only mode as well.
      So, there is no recovery issue with this.
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      dfb7c0ce
  2. 24 12月, 2012 3 次提交
  3. 23 12月, 2012 1 次提交
  4. 22 12月, 2012 33 次提交