All known 2.2.1 showstoppers fixed..

David Collier-Brown davecb at canada.sun.com
Fri Jul 6 13:40:35 GMT 2001


Andrew Bartlett wrote:
> OK, but it needs to be documented:  Don't place samba's lock dir on NFS,
> or weird things happen (tdb errors).

	As most systems have an equivalenet to the Solaris (posix?)
	statvfs, you can do a statvfs on the pathname or an
	fstavfs on the fd of the lock file and report an error
	if the fielsystem type isn't one of a list of good ones.

	On Solaris 8, statvfs /home/davecb reports:
---
struct statvfs /home/davecb {
    u_long f_bsize = 8192; /* preferred file system block size */
    u_long f_frsize = 512; /* fundamental filesystem block size */
    fsblkcnt_t f_blocks = 208934104; /* total # of blocks on file
system in units of f_frsize */
    fsblkcnt_t f_bfree = 11621168; /* total # of free blocks */
    fsblkcnt_t f_bavail = 9531828; /* # of free blocks avail to
non-super-user */
    fsfilcnt_t f_files = 12707776; /* total # of file nodes (inodes)
*/
    fsfilcnt_t f_ffree = 9223086; /* total # of free file nodes */
    fsfilcnt_t f_favail = 9223086; /* # of inodes avail to
non-super-user*/
    u_long f_fsid = 68943875; /* file system id (dev for now) */
    char f_basetype[FSTYPSZ] = "nfs"; /* target fs type name,
null-terminated */
    u_long f_flag = 0; /* bit mask of flags */
    u_long  f_namemax = -1;  /* maximum file name length */
    char  f_fstr[32] = "                                "; /* file
system specific string */
    u_long  f_filler[16]; /* reserved for future expansion *
}
---

On a local ufs filesystem, it says
---
struct statvfs /home/davecb/tmp/ {
    u_long f_bsize = 8192; /* preferred file system block size */
    u_long f_frsize = 1024; /* fundamental filesystem block size */
    fsblkcnt_t f_blocks = 15399923; /* total # of blocks on file
system in units of f_frsize */
    fsblkcnt_t f_bfree = 14455346; /* total # of free blocks */
    fsblkcnt_t f_bavail = 14301347; /* # of free blocks avail to
non-super-user */
    fsfilcnt_t f_files = 1874816; /* total # of file nodes (inodes) */
    fsfilcnt_t f_ffree = 1850478; /* total # of free file nodes */
    fsfilcnt_t f_favail = 1850478; /* # of inodes avail to
non-super-user*/
    u_long f_fsid = 30932999; /* file system id (dev for now) */
    char f_basetype[FSTYPSZ] = "ufs"; /* target fs type name,
null-terminated */
    u_long f_flag = 4; /* bit mask of flags */
    u_long  f_namemax = 255;  /* maximum file name length */
    char  f_fstr[32] = "                                "; /* file
system specific string */
    u_long  f_filler[16]; /* reserved for future expansion */
};
---

	This not a showstopper for 2.2.1, but I would
	suggest that if the non-slolaris system's
	statfs returns a filesystemn type, that we
	declare it one for 2.2.2.

--dave
-- 
David Collier-Brown,           | Always do right. This will gratify 
Performance & Engineering Team | some people and astonish the rest.
Americas Customer Engineering  |                      -- Mark Twain
(905) 415-2849                 | davecb at canada.sun.com




More information about the samba-technical mailing list