1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
freebsd/sys/fs
Bruce Evans ff4ad0c4d8 Quick fix for msdsofs_write() on alphas and other machines with either
longs larger than 32 bits or strict alignment requirements.

pm_fatmask had type u_long, but it must have a type that has precisely
32 bits and this type must be no smaller than int, so that ~pmp->pm_fatmask
has no bits above the 31st set.  Otherwise, comparisons between (cn
| ~pmp->pm_fatmask) and magic 32-bit "cluster" numbers always fail.
The correct fix is to use the C99 type uint_least32_t and mask with
0xffffffff.  The quick fix is to use u_int32_t and assume that ints
have

msdosfs metadata is riddled with unaligned fields, and on alphas,
unaligned_fixup() apparently has problems fixing up the unaligned
accesses caused by this.  The quick fix is to not comment out the
NetBSD code that sort of handles this, and define UNALIGNED_ACCESS on
i386's so that the code doesn't change on i386's.  The correct fix
would define UNALIGNED_ACCESS in a central machine-dependent header
and maybe add some extra cases to unaligned_fixup().  UNALIGNED_ACCESS
is also tested in isofs.

Submitted by:	parts by Mark Abene <phiber@radicalmedia.com>
PR:		19086
2000-08-25 09:03:58 +00:00
..
cd9660 Centralize the canonical vop_access user/group/other check in vaccess(). 2000-08-20 08:36:26 +00:00
coda Remove 42 unneeded #include <sys/ioccom.h>. 2000-05-03 07:31:38 +00:00
deadfs Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
devfs Fix panic when removing open device (found by bp@) 2000-08-24 15:36:55 +00:00
fdescfs Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
fifofs Introduce vop_stdinactive() and make it the default if no vop_inactive 2000-08-18 10:01:02 +00:00
hpfs Centralize the canonical vop_access user/group/other check in vaccess(). 2000-08-20 08:36:26 +00:00
msdosfs Quick fix for msdsofs_write() on alphas and other machines with either 2000-08-25 09:03:58 +00:00
ntfs Centralize the canonical vop_access user/group/other check in vaccess(). 2000-08-20 08:36:26 +00:00
nullfs Rename the loadable nullfs kernel module: null -> nullfs 2000-07-28 11:54:09 +00:00
nwfs Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
portalfs Introduce vop_stdinactive() and make it the default if no vop_inactive 2000-08-18 10:01:02 +00:00
procfs Introduce vop_stdinactive() and make it the default if no vop_inactive 2000-08-18 10:01:02 +00:00
specfs Fix panic when removing open device (found by bp@) 2000-08-24 15:36:55 +00:00
umapfs Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
unionfs Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00