[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170620051720.GA15490@ZenIV.linux.org.uk>
Date: Tue, 20 Jun 2017 06:17:20 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: [git pull] ufs fixes
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(-)
Powered by blists - more mailing lists