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
This commit is contained in:
parent
4c7f14937f
commit
de938e4059
@ -65,7 +65,7 @@ eascan(struct inodesc *idesc, struct ufs2_dinode *dp)
|
||||
char dbuf[DIRBLKSIZ];
|
||||
|
||||
printf("Inode %ju extsize %ju\n",
|
||||
(intmax_t)idesc->id_number, (intmax_t)dp->di_extsize);
|
||||
(intmax_t)idesc->id_number, (uintmax_t)dp->di_extsize);
|
||||
if (dp->di_extsize == 0)
|
||||
return 0;
|
||||
if (dp->di_extsize <= sblock.fs_fsize)
|
||||
|
@ -765,7 +765,7 @@ dbg_dump_ufs2_ino(struct fs *sb, const char *comment, struct ufs2_dinode *ino)
|
||||
fprintf(dbg_log, "gen int32_t 0x%08x\n", ino->di_gen);
|
||||
fprintf(dbg_log, "kernflags u_int32_t 0x%08x\n", ino->di_kernflags);
|
||||
fprintf(dbg_log, "flags u_int32_t 0x%08x\n", ino->di_flags);
|
||||
fprintf(dbg_log, "extsize int32_t 0x%08x\n", ino->di_extsize);
|
||||
fprintf(dbg_log, "extsize u_int32_t 0x%08x\n", ino->di_extsize);
|
||||
|
||||
/* XXX: What do we do with di_extb[NXADDR]? */
|
||||
|
||||
|
@ -1689,7 +1689,7 @@ ext2_ind_read(struct vop_read_args *ap)
|
||||
NOCRED, blkoffset + uio->uio_resid, seqcount,
|
||||
0, &bp);
|
||||
} else if (seqcount > 1) {
|
||||
int nextsize = blksize(fs, ip, nextlbn);
|
||||
u_int nextsize = blksize(fs, ip, nextlbn);
|
||||
error = breadn(vp, lbn,
|
||||
size, &nextlbn, &nextsize, 1, NOCRED, &bp);
|
||||
} else
|
||||
|
@ -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);
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user