From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sat, 10 Jun 2017 06:03:24 -0700 (PDT) From: Richard Narron To: Al Viro cc: Linus Torvalds , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [git pull] first batch of ufs fixes In-Reply-To: <20170609213830.GB6365@ZenIV.linux.org.uk> Message-ID: References: <20170609213830.GB6365@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Sender: linux-kernel-owner@vger.kernel.org List-ID: On Fri, 9 Jun 2017, Al Viro wrote: > That's just the obvious backport fodder; I'm pretty sure that there > will be more - definitely so wrt performance and quite possibly correctness > as well. These fixes improve the ufs code and they are a good start. Here are a couple of bugs that still remain: 1) Just after creating a new filesystem on FreeBSD 11.0, the FreeBSD df is different from the Linux 4.12.0-rc4 with the ufs fixes. The available count on Linux is is 16k higher than on FreeBSD: FreeBSD 11.0: #df /diske Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ada0s3e 14217008 8 13079640 0% /diske Linux 4.12-0-rc4 with ufs fixes: #df /fbsd23 Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda23 14217008 8 13079656 1% /fbsd23 2) After creating a new filesystem on FreeBSD, then on Linux copying a larger than 2GB file and creating a directory, the fsck back on FreeBSD looks ok. But after going back to Linux and removing the large file and removing the directory, the fsck on FreeBSD looks not so good: Linux: #cp /fbsd/tmp/usr-local.tar /fbsd23 #mkdir /fbsd23/a FreeBSD: #fsck -f /dev/ada0s3e ** /dev/ada0s3e ** Last Mounted on /diske ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 4 files, 636219 used, 2918033 free (25 frags, 364751 blocks, 0.0% fragmentation) ***** FILE SYSTEM IS CLEAN ***** Linux: #cd /fbsd23 rm usr-local.tar rmdir a FreeBSD: #fsck -n -f /dev/ada0s3e ** /dev/ada0s3e (NO WRITE) ** Last Mounted on /diske ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity UNREF DIR I=5 OWNER=root MODE=40755 SIZE=512 MTIME=Jun 10 01:51 2017 RECONNECT? no ** Phase 4 - Check Reference Counts LINK COUNT DIR I=2 OWNER=root MODE=40755 SIZE=512 MTIME=Jun 10 02:04 2017 COUNT 3 SHOULD BE 4 ADJUST? no UNREF FILE I=4 OWNER=root MODE=100644 SIZE=2605231616 MTIME=Jun 10 01:47 2017 RECONNECT? no CLEAR? no LINK COUNT DIR I=5 OWNER=root MODE=40755 SIZE=512 MTIME=Jun 10 01:51 2017 COUNT 2 SHOULD BE 1 ADJUST? no ** Phase 5 - Check Cyl groups FREE BLK COUNT(S) WRONG IN SUPERBLK SALVAGE? no SUMMARY INFORMATION BAD SALVAGE? no BLK(S) MISSING IN BIT MAPS SALVAGE? no 4 files, 636219 used, 3554250 free (26 frags, 444278 blocks, 0.0% fragmentation)