Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [tls-maxphys] src/sys
Module Name: src
Committed By: tls
Date: Sun Feb 10 16:26:35 UTC 2013
Modified Files:
src/sys/dev/raidframe [tls-maxphys]: rf_disks.c
src/sys/kern [tls-maxphys]: subr_disk.c
src/sys/sys [tls-maxphys]: disk.h mount.h
src/sys/ufs/ffs [tls-maxphys]: ffs_vfsops.c
src/sys/ufs/ufs [tls-maxphys]: ufs_bmap.c ufs_extern.h ufs_readwrite.c
ufs_vfsops.c
Log Message:
Add an accessor -- ufs_maxphys() -- to check the maximum transfer size
for a given UFS mountpoint, and move the code from mount that finds
the underlying disk and resets the mountpoint max transfer size into a
utility function, ufs_update_maxphys().
Add a global serial number that counts disk property changes to which
filesystems are meant to accomodate themselves. Make ufs_maxphys()
check it. This is a sort of flag-polling interface that avoids callbacks
into the filesystem code, but will require freezing filesystems and
draining in-flight transactions before a decrease in size that is
mandatory (like attaching a disk with a smaller maximum transfer size
as a spare in a RAIDframe set), rather than "advisory", like finding
out set geometry from a RAID controller long after boot and deciding
a smaller transfer size would be optimal, can be signalled. Still, the
"advisory" case is the common one so this is progress.
Make a bit of an example of RAIDframe by making it bump this new
serial number when disks are added to the subsystem. I will attack
one of the hardware RAID drivers (probably arcmsr) next.
To generate a diff of this commit:
cvs rdiff -u -r1.83 -r1.83.2.1 src/sys/dev/raidframe/rf_disks.c
cvs rdiff -u -r1.100.18.2 -r1.100.18.3 src/sys/kern/subr_disk.c
cvs rdiff -u -r1.57.2.1 -r1.57.2.2 src/sys/sys/disk.h
cvs rdiff -u -r1.207.6.2 -r1.207.6.3 src/sys/sys/mount.h
cvs rdiff -u -r1.278.2.2 -r1.278.2.3 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -u -r1.49.14.1 -r1.49.14.2 src/sys/ufs/ufs/ufs_bmap.c
cvs rdiff -u -r1.72 -r1.72.2.1 src/sys/ufs/ufs/ufs_extern.h
cvs rdiff -u -r1.104.2.1 -r1.104.2.2 src/sys/ufs/ufs/ufs_readwrite.c
cvs rdiff -u -r1.51 -r1.51.2.1 src/sys/ufs/ufs/ufs_vfsops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index