Messages in this thread | | | Date | Wed, 15 May 2002 14:05:43 -0400 | From | Mark Mielke <> | Subject | Re: [RFC] FAT extension filters |
| |
On Wed, May 15, 2002 at 01:49:46PM -0400, Albert D. Cahalan wrote: > I think the problem is in fs/fat/dir.c where > it does: > for (i = 0; i < 8; i++) { > /* see namei.c, msdos_format_name */ > if (de->name[i] == 0x05) > work[i] = 0xE5; > else > work[i] = de->name[i]; > } > That should be: > for (i = 0; i < 8; i++) work[i] = 0xE5; > /* see namei.c, msdos_format_name */ > if (*work == 0x05) *work = 0xE5;
I assume that should be:
> for (i = 0; i < 8; i++) work[i] = de->name[i]; > /* see namei.c, msdos_format_name */ > if (*work == 0x05) *work = 0xE5;
The comment from msdos/namei.c reads:
/* 0xE5 is legal as a first character, but we must substitute 0x05 */ /* because 0xE5 marks deleted files. Yes, DOS really does this. */ /* It seems that Microsoft hacked DOS to support non-US characters */ /* after the 0xE5 character was already in use to mark deleted files. */
A question for the long-time kernel developers who are kind enough to spend time on a question such as this:
Should the code:
> for (i = 0; i < 8; i++) work[i] = de->name[i];
Be written as some sort of memcpy()? I would expect the inlined version to do two 32-bit copies, or one 64-bit copy operation for 64-bit platforms for the above piece of code. Is much of the code written as the above? Or is effort made to try and inline it in some better architecture-specific way?
mark
-- mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________ . . _ ._ . . .__ . . ._. .__ . . . .__ | Neighbourhood Coder |\/| |_| |_| |/ |_ |\/| | |_ | |/ |_ | | | | | | \ | \ |__ . | | .|. |__ |__ | \ |__ | Ottawa, Ontario, Canada
One ring to rule them all, one ring to find them, one ring to bring them all and in the darkness bind them...
http://mark.mielke.cc/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |