Re: [PATCH 2/2] Btrfs-progs: mkfs: make sure we can deal with hard links with -r option

2014-03-13 Thread Wang Shilong

Hi Dave,

On 03/13/2014 12:21 AM, David Sterba wrote:

On Tue, Mar 11, 2014 at 06:29:09PM +0800, Wang Shilong wrote:

@@ -840,6 +833,10 @@ static int traverse_directory(struct btrfs_trans_handle 
*trans,
  cur_file-d_name, cur_inum,
  parent_inum, dir_index_cnt,
  cur_inode);
+   if (ret == -EEXIST) {
+   BUG_ON(st.st_nlink = 1);

As the mkfs operation is restartable, can we handle the error?
This should be a logic error which means a inode has hard links(but 
links = 1). :-)


Add error handling may be better,  i will update it.

Thanks,
Wang


Otherwise, good fix, thanks.


+   continue;
+   }
if (ret) {
fprintf(stderr, add_inode_items failed\n);
goto fail;

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] Btrfs-progs: mkfs: make sure we can deal with hard links with -r option

2014-03-12 Thread David Sterba
On Tue, Mar 11, 2014 at 06:29:09PM +0800, Wang Shilong wrote:
 @@ -840,6 +833,10 @@ static int traverse_directory(struct btrfs_trans_handle 
 *trans,
 cur_file-d_name, cur_inum,
 parent_inum, dir_index_cnt,
 cur_inode);
 + if (ret == -EEXIST) {
 + BUG_ON(st.st_nlink = 1);

As the mkfs operation is restartable, can we handle the error?

Otherwise, good fix, thanks.

 + continue;
 + }
   if (ret) {
   fprintf(stderr, add_inode_items failed\n);
   goto fail;
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html