mkfs.btrfs: fail on scandir error (-r mode)
mkfs.btrfs does not handle relative pathnames for now. When they are passed to it it creates empty image. So first time I thought it does not work at all. This patch adds error handling for scandir(). With patch it behaves this way: $ mkfs.btrfs -r ./root ... fs created label (null) on output.img nodesize 4096 leafsize 4096 sectorsize 4096 size 256.00MB Btrfs v0.19-52-g438c5ff-dirty scandir for ./root failed: No such file or directory unable to traverse_directory Making image is aborted. mkfs.btrfs: mkfs.c:1402: main: Assertion `!(ret)' failed. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by: Hugo Mills <hugo@carfax.org.uk>
This commit is contained in:
parent
2acb6817c7
commit
545b52c2fa
1 changed files with 6 additions and 0 deletions
6
mkfs.c
6
mkfs.c
|
@ -895,6 +895,12 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
|
|||
|
||||
count = scandir(parent_dir_entry->path, &files,
|
||||
directory_select, NULL);
|
||||
if (count == -1)
|
||||
{
|
||||
fprintf(stderr, "scandir for %s failed: %s\n",
|
||||
parent_dir_name, strerror (errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
cur_file = files[i];
|
||||
|
|
Loading…
Reference in a new issue