[OpenAFS] Problems Compiling vfsck on Solaris 9

J Michael Mosley J Michael Mosley <jmmosley@uncc.edu>
Tue, 25 Mar 2003 11:42:45 -0500 (EST)


I didn't get any response to my original post so I decided to look into the 
problem a bit.  It appears that the structure definition for fs in ufs_fs.h has 
changed between the 09/02 and 12/02 releases of Solaris 9:

/usr/include/sys/fs/ufs_fs.h
Solaris 9 (09/02 Edition)


struct  fs {
        uint32_t fs_link;               /* linked list of file systems */
--->    uint32_t fs_rlink;              /* used for incore super blocks */
        daddr32_t fs_sblkno;            /* addr of super-block in filesys */
        daddr32_t fs_cblkno;            /* offset of cyl-block in filesys */
        daddr32_t fs_iblkno;            /* offset of inode-blocks in filesys */
        daddr32_t fs_dblkno;            /* offset of first data after cg */
        int32_t fs_cgoffset;            /* cylinder group offset in cylinder */
        int32_t fs_cgmask;              /* used to calc mod fs_ntrak */
        time32_t fs_time;               /* last time written */
        int32_t fs_size;                /* number of blocks in fs */
        int32_t fs_dsize;               /* number of data blocks in fs */
        int32_t fs_ncg;                 /* number of cylinder groups */
        int32_t fs_bsize;               /* size of basic blocks in fs */
        int32_t fs_fsize;               /* size of frag blocks in fs */
        int32_t fs_frag;                /* number of frags in a block in fs */
	.
	.


/usr/include/sys/fs/ufs_fs.h
Solaris 9 (12/02 Edition)
struct  fs {
        uint32_t fs_link;               /* linked list of file systems */
--->    uint32_t fs_rolled;             /* logging only: fs fully rolled */
        daddr32_t fs_sblkno;            /* addr of super-block in filesys */
        daddr32_t fs_cblkno;            /* offset of cyl-block in filesys */
        daddr32_t fs_iblkno;            /* offset of inode-blocks in filesys */
        daddr32_t fs_dblkno;            /* offset of first data after cg */
        int32_t fs_cgoffset;            /* cylinder group offset in cylinder */
        int32_t fs_cgmask;              /* used to calc mod fs_ntrak */
        time32_t fs_time;               /* last time written */
        int32_t fs_size;                /* number of blocks in fs */
        int32_t fs_dsize;               /* number of data blocks in fs */
        int32_t fs_ncg;                 /* number of cylinder groups */
        int32_t fs_bsize;               /* size of basic blocks in fs */
        int32_t fs_fsize;               /* size of frag blocks in fs */
        int32_t fs_frag;                /* number of frags in a block in fs */
	.
	.

Should I be concerned about using the 1.2.8 supplied binaries under the 12/02 
edition of Solaris 9?

Mike


> 
> I'm trying to compile OpenAFS 1.2.8 under Solaris 9 (12/02). 
 
[text deleted]

> setup.c:
> "setup.c", line 676: undefined struct/union member: fs_rlink
> "setup.c", line 676: improper member use: fs_rlink
> cc: acomp failed for setup.c

[ text deleted ]

> It appears that fs_rlink does not exist in struct fs (sys/fs/ufs_fs.h) under
> Solaris 9 so, I'm not sure why it appears in the this section of code in 
> setup.c.  Can somebody shed some light as to what I'm doing wrong?
> 
> Thanks,
> 
> Mike
> 
>

-------------------------------------
Mike Mosley  				Email: jmmosley@uncc.edu
Systems Software Developer 		Phone: (704) 687-3522
College of Engineering, UNC-Charlotte 	Fax: (704) 687-2352