From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 20 Jun 2017 06:17:20 +0100 From: Al Viro To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [git pull] ufs fixes Message-ID: <20170620051720.GA15490@ZenIV.linux.org.uk> References: <20170612061417.GB31671@ZenIV.linux.org.uk> <20170613014302.GC31671@ZenIV.linux.org.uk> <20170614071133.GD31671@ZenIV.linux.org.uk> <20170615080009.GE31671@ZenIV.linux.org.uk> <20170617021548.GR31671@ZenIV.linux.org.uk> <20170618010923.GX31671@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170618010923.GX31671@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-ID: More UFS fixes, unfortunately including build regression fix for the 64bit s_dsize commit. Fixed in this pile: * trivial bug in signedness of 32bit timestamps on ufs1 * ESTALE instead of ufs_error() when doing open-by-fhandle on something deleted * build regression on 32bit in ufs_new_fragments() - calculating that many percents of u64 pulls libgcc stuff on some of those. Mea culpa. * fix hysteresis loop broken by typo in 2.4.14.7 (right next to the location of previous bug). * fix the insane limits of said hysteresis loop on filesystems with very low percentage of reserved blocks. If it's 5% or less, just use the OPTSPACE policy. * calculate those limits once and mount time. I can separate and send just the build regression part if you wish. I would rather avoid that, though - mul_64_32_div() called again and again, to calculate the same value... ugh. That tree does pass xfstests clean (both ufs1 and ufs2) and it _does_ survive cross-builds. Again, my apologies for missing that, especially since I have noticed a related percentage-of-64bit issue in earlier patches (when dealing with amount of reserved blocks). Self-LART applied... The following changes since commit a8fad984833832d5ca11a9ed64ddc55646da30e3: ufs_truncate_blocks(): fix the case when size is in the last direct block (2017-06-15 03:57:46 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git ufs-fixes for you to fetch changes up to 77e9ce327d9b607cd6e57c0f4524a654dc59c4b1: ufs: fix the logics for tail relocation (2017-06-17 17:22:42 -0400) ---------------------------------------------------------------- Al Viro (3): fix signedness of timestamps on ufs1 ufs_iget(): fail with -ESTALE on deleted inode ufs: fix the logics for tail relocation fs/ufs/balloc.c | 22 ++++++---------------- fs/ufs/inode.c | 27 +++++++++++---------------- fs/ufs/super.c | 9 +++++++++ fs/ufs/ufs_fs.h | 2 ++ 4 files changed, 28 insertions(+), 32 deletions(-)