Date: Sat, 2 Feb 2013 05:56:21 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Konstantin Belousov <kib@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r246217 - head/sys/fs/msdosfs Message-ID: <20130202055559.W3890@besplex.bde.org> In-Reply-To: <201302011806.r11I66aP010436@svn.freebsd.org> References: <201302011806.r11I66aP010436@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 1 Feb 2013, Konstantin Belousov wrote: > Log: > The directory entry for dotdot was corrupted in the FAT32 case when moving > a directory to a subdir of the root directory from somewhere else. > > For all directory moves that change the parent directory, the dotdot > entry must be fixed up. For msdosfs, the root directory is magic for > non-FAT32. It is less magic for FAT32, but needs the same magic for > the dotdot fixup. It didn't have it. > > Both chkdsk and fsck_msdosfs fix the corrupt directory entries with no > problems. > > The fix is to use the same magic for dotdot in msdosfs_rename() as in > msdosfs_mkdir(). > > For msdosfs_mkdir(), document the magic. When writing the dotdot entry > in mkdir, use explicitly set pcl variable instead on relying on the > start cluster of the root directory typically has a value < 65536. > > Submitted by: bde > MFC after: 1 week Thanks. That was fast. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130202055559.W3890>