 5e993e2534
			
		
	
	
	5e993e2534
	
	
	
		
			
			What we want is to have non-counting references to children in pagecache of parent directory, and avoid picking them after a child has been freed. Fine, so let's just have ->d_prune() clear parent's inode "has directory contents in page cache" flag. That way we don't need ->d_fsdata for storing offsets, so we can use it as a quick and dirty "is it referenced from page cache" flag. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			571 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			571 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  ncp_fs_i.h
 | |
|  *
 | |
|  *  Copyright (C) 1995 Volker Lendecke
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef _LINUX_NCP_FS_I
 | |
| #define _LINUX_NCP_FS_I
 | |
| 
 | |
| /*
 | |
|  * This is the ncpfs part of the inode structure. This must contain
 | |
|  * all the information we need to work with an inode after creation.
 | |
|  */
 | |
| struct ncp_inode_info {
 | |
| 	__le32	dirEntNum;
 | |
| 	__le32	DosDirNum;
 | |
| 	__u8	volNumber;
 | |
| 	__le32	nwattr;
 | |
| 	struct mutex open_mutex;
 | |
| 	atomic_t	opened;
 | |
| 	int	access;
 | |
| 	int	flags;
 | |
| #define NCPI_KLUDGE_SYMLINK	0x0001
 | |
| #define NCPI_DIR_CACHE		0x0002
 | |
| 	__u8	file_handle[6];
 | |
| 	struct inode vfs_inode;
 | |
| };
 | |
| 
 | |
| #endif	/* _LINUX_NCP_FS_I */
 |