diff options
Diffstat (limited to 'fs/ufs/dir.c')
-rw-r--r-- | fs/ufs/dir.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ufs/dir.c b/fs/ufs/dir.c index 08fa1f4bf..755198ded 100644 --- a/fs/ufs/dir.c +++ b/fs/ufs/dir.c @@ -122,11 +122,14 @@ revalidate: * not the directory has been modified * during the copy operation. */ unsigned long version = filp->f_version; + unsigned char d_type = DT_UNKNOWN; UFSD(("filldir(%s,%u)\n", de->d_name, SWAB32(de->d_ino))) UFSD(("namlen %u\n", ufs_get_de_namlen(de))) + if ((flags & UFS_DE_MASK) == UFS_DE_44BSD) + d_type = de->d_u.d_44.d_type; error = filldir(dirent, de->d_name, ufs_get_de_namlen(de), - filp->f_pos, SWAB32(de->d_ino)); + filp->f_pos, SWAB32(de->d_ino), d_type); if (error) break; if (version != filp->f_version) |