2008-08-23 Robert Millan <rmh@aybabtu.com>
* util/getroot.c (find_root_device): Skip anything that starts with a dot, not just directories. This avoids things like /dev/.tmp.md0.
This commit is contained in:
parent
d5a7dc5b74
commit
8415f2617c
2 changed files with 11 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-08-23 Robert Millan <rmh@aybabtu.com>
|
||||
|
||||
* util/getroot.c (find_root_device): Skip anything that starts with
|
||||
a dot, not just directories. This avoids things like /dev/.tmp.md0.
|
||||
|
||||
2008-08-22 Felix Zielcke <fzielcke@z-51.de>
|
||||
|
||||
* util/update-grub.in (GRUB_GFXMODE): Export variable.
|
||||
|
|
|
@ -196,7 +196,10 @@ find_root_device (const char *dir, dev_t dev)
|
|||
{
|
||||
struct stat st;
|
||||
|
||||
if (strcmp (ent->d_name, ".") == 0 || strcmp (ent->d_name, "..") == 0)
|
||||
/* Avoid:
|
||||
- dotfiles (like "/dev/.tmp.md0") since they could be duplicates.
|
||||
- dotdirs (like "/dev/.static") since they could contain duplicates. */
|
||||
if (ent->d_name[0] == '.')
|
||||
continue;
|
||||
|
||||
if (lstat (ent->d_name, &st) < 0)
|
||||
|
@ -207,11 +210,9 @@ find_root_device (const char *dir, dev_t dev)
|
|||
/* Don't follow symbolic links. */
|
||||
continue;
|
||||
|
||||
if (S_ISDIR (st.st_mode) && ent->d_name[0] != '.')
|
||||
if (S_ISDIR (st.st_mode))
|
||||
{
|
||||
/* Find it recursively, but avoid dotdirs (like ".static") since they
|
||||
could contain duplicates, which would later break the
|
||||
pathname-based check */
|
||||
/* Find it recursively. */
|
||||
char *res;
|
||||
|
||||
res = find_root_device (ent->d_name, dev);
|
||||
|
|
Loading…
Reference in a new issue