[OT] Re: bug? VFAT copy problem

Sergio Monteiro Basto
2006-11-22T14:02:59Z

Hi,
Have vfat a limit of a file size when copy ?
I tried copy 4.4 Megas to a vfat partition but I got
a limit size exceed

Thanks,
--
Sérgio M. B.

On Wed, 2006-11-22 at 00:46 +0900, OGAWA Hirofumi wrote:
> The Peach <smartart@tiscali.it> writes:
>
> > On Tue, 21 Nov 2006 02:32:43 +0900
> > OGAWA Hirofumi <hirofumi@mail.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];