summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2013-12-11 19:25:17 +0000
committerpfg <pfg@FreeBSD.org>2013-12-11 19:25:17 +0000
commitde938e4059cac64f6b3db3f757aeed24ca149f05 (patch)
treea797eda1cd0feac0206bc7781083c6804060cd74 /sys/ufs
parent4c7f14937f70cb9c4c3cc0f3179a5ee639a7152f (diff)
downloadFreeBSD-src-de938e4059cac64f6b3db3f757aeed24ca149f05.zip
FreeBSD-src-de938e4059cac64f6b3db3f757aeed24ca149f05.tar.gz
MFC r256448, r257029;
Make di_blocks unsigned in UFS1 as is the case already for UFS2. Most of the code between UFS1 and UFS2 is shared so this change is pretty safe. Not only this makes UFS1 and 2 consistent but it also matches what NetBSD and MacOS X have for some years now. UFS2: make di_extsize unsigned. di_extsize is the EA size and as such it should be unsigned. Adjust related types for consistency. Reviewed by: mckusick
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_vnops.c7
-rw-r--r--sys/ufs/ufs/dinode.h4
2 files changed, 6 insertions, 5 deletions
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
index 09e5a42..792d253 100644
--- a/sys/ufs/ffs/ffs_vnops.c
+++ b/sys/ufs/ffs/ffs_vnops.c
@@ -531,7 +531,7 @@ ffs_read(ap)
* arguments point to arrays of the size specified in
* the 6th argument.
*/
- int nextsize = blksize(fs, ip, nextlbn);
+ u_int nextsize = blksize(fs, ip, nextlbn);
error = breadn_flags(vp, lbn, size, &nextlbn,
&nextsize, 1, NOCRED, GB_UNMAPPED, &bp);
} else {
@@ -956,7 +956,7 @@ ffs_extread(struct vnode *vp, struct uio *uio, int ioflag)
* arguments point to arrays of the size specified in
* the 6th argument.
*/
- int nextsize = sblksize(fs, dp->di_extsize, nextlbn);
+ u_int nextsize = sblksize(fs, dp->di_extsize, nextlbn);
nextlbn = -1 - nextlbn;
error = breadn(vp, -1 - lbn,
@@ -1218,7 +1218,8 @@ ffs_rdextattr(u_char **p, struct vnode *vp, struct thread *td, int extra)
struct fs *fs;
struct uio luio;
struct iovec liovec;
- int easize, error;
+ u_int easize;
+ int error;
u_char *eae;
ip = VTOI(vp);
diff --git a/sys/ufs/ufs/dinode.h b/sys/ufs/ufs/dinode.h
index 6d06bde..36a7c0d 100644
--- a/sys/ufs/ufs/dinode.h
+++ b/sys/ufs/ufs/dinode.h
@@ -141,7 +141,7 @@ struct ufs2_dinode {
u_int32_t di_gen; /* 80: Generation number. */
u_int32_t di_kernflags; /* 84: Kernel flags. */
u_int32_t di_flags; /* 88: Status flags (chflags). */
- int32_t di_extsize; /* 92: External attributes block. */
+ u_int32_t di_extsize; /* 92: External attributes size. */
ufs2_daddr_t di_extb[NXADDR];/* 96: External attributes block. */
ufs2_daddr_t di_db[NDADDR]; /* 112: Direct disk blocks. */
ufs2_daddr_t di_ib[NIADDR]; /* 208: Indirect disk blocks. */
@@ -179,7 +179,7 @@ struct ufs1_dinode {
ufs1_daddr_t di_db[NDADDR]; /* 40: Direct disk blocks. */
ufs1_daddr_t di_ib[NIADDR]; /* 88: Indirect disk blocks. */
u_int32_t di_flags; /* 100: Status flags (chflags). */
- int32_t di_blocks; /* 104: Blocks actually held. */
+ u_int32_t di_blocks; /* 104: Blocks actually held. */
u_int32_t di_gen; /* 108: Generation number. */
u_int32_t di_uid; /* 112: File owner. */
u_int32_t di_gid; /* 116: File group. */
OpenPOWER on IntegriCloud