newfs failure on -current

C. Jayachandran c.jayachandran at gmail.com
Thu Mar 4 13:31:22 UTC 2010


I'm testing this on the mips platform, but I think there is an issue
with change that made sectorsize int64_t, because the ioctl
DIOCGSECTORSIZE  used to read sector size seems to take u_int. This
quick change fixes it for me (sample patch - may be whitespace
damaged).

Index: sbin/newfs/newfs.c
===================================================================
--- sbin/newfs/newfs.c  (revision 204687)
+++ sbin/newfs/newfs.c  (working copy)
@@ -327,9 +327,11 @@
                mediasize = st.st_size;
                /* set fssize from the partition */
        } else {
+           u_int tsize;
            if (sectorsize == 0)
-               if (ioctl(disk.d_fd, DIOCGSECTORSIZE, &sectorsize) == -1)
+               if (ioctl(disk.d_fd, DIOCGSECTORSIZE, &tsize) == -1)
                    sectorsize = 0;     /* back out on error for safety */
+           sectorsize = tsize;
            if (sectorsize && ioctl(disk.d_fd, DIOCGMEDIASIZE,
&mediasize) != -1)
                getfssize(&fssize, special, mediasize / sectorsize, reserved);
        }


Regards,
JC.


More information about the freebsd-current mailing list