A bunch of UFS patches of different age; most of that had been sitting in my tree for quite a while. This stuff survives xfstests (with mkfs.ufs and fsck.ufs from old debian ufsutils and export FSTYP=ufs export MOUNT_OPTIONS="-o ufstype=ufs2" export SCRATCH_OPTIONS="-o ufstype=ufs2" export TEST_FS_MOUNT_OPTS="-o ufstype=ufs2" in local.config); review and more testing would be welcome. It still has... interesting issues around block relocation we had since 2.3.early, but to deal with that we'll need an iomap conversion and that requires quite a bit of untangling of inode.c and balloc.c; some of that is done in that pile, so hopefully we'll get there. Branch is in git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git #work.ufs, individual patches in followups. If there's no objections, I'm going to put that into -next (either via viro/vfs.git or vfs/vfs.git; AFAIK there's no dedicated UFS git tree). Shortlog: Al Viro (12): ufs: fix handling of delete_entry and set_link failures ufs: missing ->splice_write() ufs: fix ufs_read_cylinder() failure handling ufs: untangle ubh_...block...() macros, part 1 ufs: untangle ubh_...block...(), part 2 ufs: untangle ubh_...block...(), part 3 ufs_clusteracct(): switch to passing fragment number ufs_free_fragments(): fix the braino in sanity check ufs_inode_getfrag(): remove junk comment ufs: get rid of ubh_{ubhcpymem,memcpyubh}() clean ufs_trunc_direct() up a bit... ufs: take the handling of free block counters into a helper Matthew Wilcox (Oracle) (5): ufs: Convert ufs_inode_getblock() to take a folio ufs: Convert ufs_extend_tail() to take a folio ufs: Convert ufs_inode_getfrag() to take a folio ufs: Pass a folio to ufs_new_fragments() ufs: Convert ufs_change_blocknr() to take a folio Diffstat: fs/ufs/balloc.c | 107 ++++++++++++++------------------ fs/ufs/cylinder.c | 31 ++++++---- fs/ufs/dir.c | 29 +++++---- fs/ufs/file.c | 1 + fs/ufs/inode.c | 179 +++++++++++++++++++++++------------------------------- fs/ufs/namei.c | 39 ++++++------ fs/ufs/super.c | 45 ++++++-------- fs/ufs/ufs.h | 12 ++-- fs/ufs/util.c | 46 -------------- fs/ufs/util.h | 61 +++++++++---------- 10 files changed, 222 insertions(+), 328 deletions(-)