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


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