[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87mz6kajks.fsf@duaron.myhome.or.jp>
Date: Wed, 22 Nov 2006 00:46:43 +0900
From: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
To: The Peach <smartart@...cali.it>
Cc: linux-kernel@...r.kernel.org
Subject: Re: bug? VFAT copy problem
The Peach <smartart@...cali.it> writes:
> On Tue, 21 Nov 2006 02:32:43 +0900
> OGAWA Hirofumi <hirofumi@...l.parknet.co.jp> wrote:
>
>> I couldn't reproduce this for now. Could you tell mount options which
>> you used? and after mount, "cat /proc/mounts", please.
>
> # mount | grep vfat
> /dev/sdb1 on /mnt/iomega type vfat (rw,uid=1000,gid=100,codepage=850,iocharset=iso8859-15)
>
> it seems only related to those kind of files, but I don't know how to inspect the "file properties" and why these files behave like this.
> As you can see and with a strace made on cp, the files _seems_ to be copied with the correct case, whilst it isn't, as seen with "ls". This and other things let me think is a vfat problem.
Hmm... This may be the dentry cache handling problem of fat.
Can you try the attached debug patch? And if you comment-in the
following parts, does this problem fix?
@@ -787,6 +830,9 @@ static int vfat_rmdir(struct inode *dir,
clear_nlink(inode);
inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC;
fat_detach(inode);
+ /* need to revalidate for next create */
+ table = (sbi->options.name_check == 's') ? 3 : 1;
+// dentry->d_op = &vfat_dentry_ops[table];
@@ -811,6 +858,9 @@ static int vfat_unlink(struct inode *dir
clear_nlink(inode);
inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC;
fat_detach(inode);
+ /* need to revalidate for next create */
+ table = (sbi->options.name_check == 's') ? 3 : 1;
+// dentry->d_op = &vfat_dentry_ops[table];
--
OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
View attachment "vfat-debug.patch" of type "text/x-patch" (5173 bytes)
Powered by blists - more mailing lists