OpenSolaris

Printable Version Enter a New Search
Bug ID 6661055
Synopsis usr/src/uts/common/sys/fsid.h should die or brought up to date
State 1-Dispatched (Default State)
Category:Subcategory kernel:fs
Keywords oss-bite-size
Sponsor
Submitter
Reported Against snv_82
Duplicate Of
Introduced In
Commit to Fix
Fixed In
Release Fixed
Related Bugs
Submit Date 8-February-2008
Last Update Date 8-February-2008
Description
usr/src/uts/common/sys/fsid.h can die as it does not serve any meaningfull purpose
nor does it deliver any stunning content, not even UFS is mentioned but old cruft
instead, if we want to retain it we ought to bring it up to date.

<snip>
#ifndef _SYS_FSID_H
#define	_SYS_FSID_H

#pragma ident	"@(#)fsid.h	1.12	05/06/08 SMI"	/* SVr4.0 11.2	*/

#ifdef	__cplusplus
extern "C" {
#endif

/* Fstyp names for use in fsinfo structure. These names */
/* must be constant across releases and will be used by a */
/* user level routine to map fstyp to fstyp index as used */
/* ip->i_fstyp. This is necessary for programs like mount. */

#define	S51K	"S51K"
#define	PROC	"PROC"
#define	DUFST	"DUFST"
#define	NFS	"NFS"
#define	S52K	"S52K"

#ifdef	__cplusplus
}
#endif

#endif	/* _SYS_FSID_H */
<snip end>

no real use cases, apart from some old cruft living in: usr/src/cmd/fs.d/mount.c

 388          * Get filesystem type here.  If "-F FStype" is specified, use 
 389          * that fs type.  Otherwise, determine the fs type from /etc/vfstab 
 390          * if the entry exists.  Otherwise, determine the local or remote 
 391          * fs type from /etc/default/df or /etc/dfs/fstypes respectively. 
 392          */ 
 393         if (fflg) { 
 394                 if ((strcmp(farg, "S51K") != 0) && 
 395                     (strcmp(farg, "S52K") != 0)) { 
 396                         fstype = farg; 
 397                 } 
 398                 else 

(note, there is no /etc/default/df )

yet, lot of folks believe they need to include it regardless ;-)

fsid.hFile	Line	Matching text
/usr/src/pkgdefs/SUNWhea/prototype_com	881	f none usr/include/sys/fsid.h 644 root bin
/usr/src/uts/common/sys/Makefile	246	fsid.h \
/usr/src/uts/common/fs/smbsrv/smb_tree.c	167	#include <sys/fsid.h>
/usr/src/cmd/stat/fsstat/fsstat.c	44	#include <sys/fsid.h>
/usr/src/cmd/truss/main.c	47	#include <sys/fsid.h>
/usr/src/cmd/fs.d/autofs/autod_nfs.c	51	#include <sys/fsid.h>
/usr/src/lib/brand/lx/lx_brand/common/lx_brand.c	36	#include <sys/fsid.h>
/usr/src/lib/brand/lx/lx_brand/common/file.c	30	#include <sys/fsid.h>
/usr/src/cmd/fs.d/sharefs/mount.c	34	#include <sys/fsid.h>
/usr/src/cmd/fs.d/objfs/mount.c	34	#include <sys/fsid.h>
/usr/src/cmd/fs.d/ctfs/mount.c	34	#include <sys/fsid.h>
/usr/src/cmd/fs.d/ufs/mount/mount.c	72	#include <sys/fsid.h>
/usr/src/uts/common/sys/fsid.h	29	#pragma ident "@(#)fsid.h 1.12 05/06/08 SMI" /* SVr4.0 11.2 */
/usr/src/cmd/fs.d/lofs/mount/mount.c	37	#include <sys/fsid.h>
/usr/src/cmd/fmli/oh/pathfstype.c	38	#include <sys/fsid.h>

the only real use case (of 'NFS") seems to be in the smbsrv code:

usr/src/uts/common/fs/smbsrv/smb_tree.c

 247                 if (strncasecmp(tree->t_typename, NFS, sizeof (NFS)) == 0) 
 248                         tree->t_flags |= SMB_TREE_FLAG_NFS_MOUNTED; 
 249  
 250                 if (strncasecmp(tree->t_typename, "UFS", sizeof ("UFS")) == 0) 
 251                         tree->t_flags |= SMB_TREE_FLAG_UFS; 

given this 1 usage of "NFS" I'd slightly biased having it die.

oss-bite-size
That one usage in SMB looks more like a typo than an intentional usecase.
Work Around
N/A
Comments
N/A