1. 18 3月, 2013 1 次提交
  2. 23 2月, 2013 1 次提交
  3. 08 2月, 2013 4 次提交
  4. 14 1月, 2013 1 次提交
  5. 28 12月, 2012 1 次提交
  6. 26 12月, 2012 2 次提交
    • J
      f2fs: fix handling errors got by f2fs_write_inode · 398b1ac5
      Jaegeuk Kim 提交于
      Ruslan reported that f2fs hangs with an infinite loop in f2fs_sync_file():
      
      	while (sync_node_pages(sbi, inode->i_ino, &wbc) == 0)
      		f2fs_write_inode(inode, NULL);
      
      The reason was revealed that the cold flag is not set even thought this inode is
      a normal file. Therefore, sync_node_pages() skips to write node blocks since it
      only writes cold node blocks.
      
      The cold flag is stored to the node_footer in node block, and whenever a new
      node page is allocated, it is set according to its file type, file or directory.
      
      But, after sudden-power-off, when recovering the inode page, f2fs doesn't recover
      its cold flag.
      
      So, let's assign the cold flag in more right places.
      
      One more thing:
      If f2fs_write_inode() returns an error due to whatever situations, there would
      be no dirty node pages so that sync_node_pages() returns zero.
      (i.e., zero means nothing was written.)
      Reported-by: NRuslan N. Marchenko <me@ruff.mobi>
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      398b1ac5
    • 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
  7. 11 12月, 2012 7 次提交