42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __VFS_TYPE_H__
 | 
						|
#define __VFS_TYPE_H__
 | 
						|
 | 
						|
/* VFS<->FS communication */
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  int c_max_reqs;	/* Max requests an FS can handle simultaneously */
 | 
						|
  int c_cur_reqs;	/* Number of requests the FS is currently handling */
 | 
						|
  struct worker_thread *c_req_queue;/* Queue of procs waiting to send a message */
 | 
						|
} comm_t;
 | 
						|
 | 
						|
/*
 | 
						|
 * Cached statvfs fields.  We are not using struct statvfs itself because that
 | 
						|
 * would add over 2K of unused memory per mount table entry.
 | 
						|
 */
 | 
						|
struct statvfs_cache {
 | 
						|
  unsigned long	f_flag;		/* copy of mount exported flags */
 | 
						|
  unsigned long	f_bsize;	/* file system block size */
 | 
						|
  unsigned long	f_frsize;	/* fundamental file system block size */
 | 
						|
  unsigned long	f_iosize;	/* optimal file system block size */
 | 
						|
 | 
						|
  fsblkcnt_t	f_blocks;	/* number of blocks in file system, */
 | 
						|
  fsblkcnt_t	f_bfree;	/* free blocks avail in file system */
 | 
						|
  fsblkcnt_t	f_bavail;	/* free blocks avail to non-root */
 | 
						|
  fsblkcnt_t	f_bresvd;	/* blocks reserved for root */
 | 
						|
 | 
						|
  fsfilcnt_t	f_files;	/* total file nodes in file system */
 | 
						|
  fsfilcnt_t	f_ffree;	/* free file nodes in file system */
 | 
						|
  fsfilcnt_t	f_favail;	/* free file nodes avail to non-root */
 | 
						|
  fsfilcnt_t	f_fresvd;	/* file nodes reserved for root */
 | 
						|
 | 
						|
  uint64_t  	f_syncreads;	/* count of sync reads since mount */
 | 
						|
  uint64_t  	f_syncwrites;	/* count of sync writes since mount */
 | 
						|
 | 
						|
  uint64_t  	f_asyncreads;	/* count of async reads since mount */
 | 
						|
  uint64_t  	f_asyncwrites;	/* count of async writes since mount */
 | 
						|
 | 
						|
  unsigned long	f_namemax;	/* maximum filename length */
 | 
						|
};
 | 
						|
 | 
						|
#endif
 |