On 22 October 2015 at 22:02, Serguey Parkhomovsky
<[email protected]> wrote:
> Hi Matthieu,
>
> It looks like msdosfs_rename doesn't set the directory offset correctly
> if a file is being renamed in the root directory. The following patch
> fixes it for me:

And here! Should be committed shortly, as I saw that NetBSD was doing
this exact thing.

.... Ken

>
> Index: msdosfs_vnops.c
> ===================================================================
> RCS file: /cvs/src/sys/msdosfs/msdosfs_vnops.c,v
> retrieving revision 1.102
> diff -u -p -u -r1.102 msdosfs_vnops.c
> --- msdosfs_vnops.c     23 Oct 2015 10:45:31 -0000      1.102
> +++ msdosfs_vnops.c     23 Oct 2015 16:07:38 -0000
> @@ -1187,8 +1187,9 @@ abortit:
>                                         VOP_UNLOCK(fdvp, 0, p);
>                                 goto bad;
>                         }
> +                       ip->de_diroffset = to_diroffset;
>                         if (ip->de_dirclust != MSDOSFSROOT)
> -                               ip->de_diroffset = to_diroffset & 
> pmp->pm_crbomask;
> +                               ip->de_diroffset &= pmp->pm_crbomask;
>                 }
>                 reinsert(ip);
>                 if (newparent)
>

Reply via email to