Date: Sat, 04 Mar 2017 20:08:50 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-fs@FreeBSD.org Subject: [Bug 217440] FAT32 formatted USB stick with files written by PS4 - Invalid argument, unable to list directory contents Message-ID: <bug-217440-3630-fkKD9jJ0Mo@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-217440-3630@https.bugs.freebsd.org/bugzilla/>
index | next in thread | previous in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217440 Conrad Meyer <cem@freebsd.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ache@FreeBSD.org --- Comment #6 from Conrad Meyer <cem@freebsd.org> --- I think I see why ls(1)/fts(3) shows "Invalid". The directory entries are readable: $ echo ./testdir/* ./testdir/123t�st ./testdir/abc? $ echo $? 0 However, that '?' is an actual question mark symbol, because ™ can not be represented in iso-8859-1, only win-1252 and unicode. So you cannot access that file by its directory entry: $ ls ./testdir/abc? ls: ./testdir/abc?: Invalid argument $ truss stat ./testdir/abc? ... lstat("./testdir/abc?",0x7fffffffe298) ERR#22 'Invalid argument' I think that EINVAL return is bogus. lstat() misses should return ENOENT. But that doesn't help you very much. Maybe VOP_READDIR should prefer 8.3 names if LFN names do not convert into cs_local. Although, lookup of 8.3 names doesn't work. So maybe not. It seems cs_local should default to UTF-8 or user's locale, not ISO-8859-1. Or if it must be a 8-bit character set, Win-1252 may be a better choice. -- You are receiving this mail because: You are the assignee for the bug.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217440-3630-fkKD9jJ0Mo>
