switch cifs
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
		
					parent
					
						
							
								8b244ff2fa
							
						
					
				
			
			
				commit
				
					
						1c929cfe6d
					
				
			
		
					 5 changed files with 7 additions and 41 deletions
				
			
		|  | @ -174,6 +174,12 @@ cifs_read_super(struct super_block *sb, void *data, | ||||||
| 		goto out_no_root; | 		goto out_no_root; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	/* do that *after* d_alloc_root() - we want NULL ->d_op for root here */ | ||||||
|  | 	if (cifs_sb_master_tcon(cifs_sb)->nocase) | ||||||
|  | 		sb->s_d_op = &cifs_ci_dentry_ops; | ||||||
|  | 	else | ||||||
|  | 		sb->s_d_op = &cifs_dentry_ops; | ||||||
|  | 
 | ||||||
| #ifdef CONFIG_CIFS_EXPERIMENTAL | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||||||
| 	if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) { | 	if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) { | ||||||
| 		cFYI(1, "export ops supported"); | 		cFYI(1, "export ops supported"); | ||||||
|  |  | ||||||
|  | @ -130,17 +130,6 @@ cifs_bp_rename_retry: | ||||||
| 	return full_path; | 	return full_path; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void setup_cifs_dentry(struct cifsTconInfo *tcon, |  | ||||||
| 			      struct dentry *direntry, |  | ||||||
| 			      struct inode *newinode) |  | ||||||
| { |  | ||||||
| 	if (tcon->nocase) |  | ||||||
| 		d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 	else |  | ||||||
| 		d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 	d_instantiate(direntry, newinode); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* Inode operations in similar order to how they appear in Linux file fs.h */ | /* Inode operations in similar order to how they appear in Linux file fs.h */ | ||||||
| 
 | 
 | ||||||
| int | int | ||||||
|  | @ -327,7 +316,7 @@ cifs_create_get_file_info: | ||||||
| 
 | 
 | ||||||
| cifs_create_set_dentry: | cifs_create_set_dentry: | ||||||
| 	if (rc == 0) | 	if (rc == 0) | ||||||
| 		setup_cifs_dentry(tcon, direntry, newinode); | 		d_instantiate(direntry, newinode); | ||||||
| 	else | 	else | ||||||
| 		cFYI(1, "Create worked, get_inode_info failed rc = %d", rc); | 		cFYI(1, "Create worked, get_inode_info failed rc = %d", rc); | ||||||
| 
 | 
 | ||||||
|  | @ -418,10 +407,6 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, | ||||||
| 
 | 
 | ||||||
| 		rc = cifs_get_inode_info_unix(&newinode, full_path, | 		rc = cifs_get_inode_info_unix(&newinode, full_path, | ||||||
| 						inode->i_sb, xid); | 						inode->i_sb, xid); | ||||||
| 		if (pTcon->nocase) |  | ||||||
| 			d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 		else |  | ||||||
| 			d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 
 | 
 | ||||||
| 		if (rc == 0) | 		if (rc == 0) | ||||||
| 			d_instantiate(direntry, newinode); | 			d_instantiate(direntry, newinode); | ||||||
|  | @ -601,10 +586,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | ||||||
| 				parent_dir_inode->i_sb, xid, NULL); | 				parent_dir_inode->i_sb, xid, NULL); | ||||||
| 
 | 
 | ||||||
| 	if ((rc == 0) && (newInode != NULL)) { | 	if ((rc == 0) && (newInode != NULL)) { | ||||||
| 		if (pTcon->nocase) |  | ||||||
| 			d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 		else |  | ||||||
| 			d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 		d_add(direntry, newInode); | 		d_add(direntry, newInode); | ||||||
| 		if (posix_open) { | 		if (posix_open) { | ||||||
| 			filp = lookup_instantiate_filp(nd, direntry, | 			filp = lookup_instantiate_filp(nd, direntry, | ||||||
|  | @ -631,10 +612,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | ||||||
| 	} else if (rc == -ENOENT) { | 	} else if (rc == -ENOENT) { | ||||||
| 		rc = 0; | 		rc = 0; | ||||||
| 		direntry->d_time = jiffies; | 		direntry->d_time = jiffies; | ||||||
| 		if (pTcon->nocase) |  | ||||||
| 			d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 		else |  | ||||||
| 			d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 		d_add(direntry, NULL); | 		d_add(direntry, NULL); | ||||||
| 	/*	if it was once a directory (but how can we tell?) we could do
 | 	/*	if it was once a directory (but how can we tell?) we could do
 | ||||||
| 		shrink_dcache_parent(direntry); */ | 		shrink_dcache_parent(direntry); */ | ||||||
|  |  | ||||||
|  | @ -1324,10 +1324,6 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode) | ||||||
| /*BB check (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID ) to see if need
 | /*BB check (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID ) to see if need
 | ||||||
| 	to set uid/gid */ | 	to set uid/gid */ | ||||||
| 			inc_nlink(inode); | 			inc_nlink(inode); | ||||||
| 			if (pTcon->nocase) |  | ||||||
| 				d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 			else |  | ||||||
| 				d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 
 | 
 | ||||||
| 			cifs_unix_basic_to_fattr(&fattr, pInfo, cifs_sb); | 			cifs_unix_basic_to_fattr(&fattr, pInfo, cifs_sb); | ||||||
| 			cifs_fill_uniqueid(inode->i_sb, &fattr); | 			cifs_fill_uniqueid(inode->i_sb, &fattr); | ||||||
|  | @ -1368,10 +1364,6 @@ mkdir_get_info: | ||||||
| 			rc = cifs_get_inode_info(&newinode, full_path, NULL, | 			rc = cifs_get_inode_info(&newinode, full_path, NULL, | ||||||
| 						 inode->i_sb, xid, NULL); | 						 inode->i_sb, xid, NULL); | ||||||
| 
 | 
 | ||||||
| 		if (pTcon->nocase) |  | ||||||
| 			d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 		else |  | ||||||
| 			d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 		d_instantiate(direntry, newinode); | 		d_instantiate(direntry, newinode); | ||||||
| 		 /* setting nlink not necessary except in cases where we
 | 		 /* setting nlink not necessary except in cases where we
 | ||||||
| 		  * failed to get it from the server or was set bogus */ | 		  * failed to get it from the server or was set bogus */ | ||||||
|  |  | ||||||
|  | @ -524,10 +524,6 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname) | ||||||
| 			cFYI(1, "Create symlink ok, getinodeinfo fail rc = %d", | 			cFYI(1, "Create symlink ok, getinodeinfo fail rc = %d", | ||||||
| 			      rc); | 			      rc); | ||||||
| 		} else { | 		} else { | ||||||
| 			if (pTcon->nocase) |  | ||||||
| 				d_set_d_op(direntry, &cifs_ci_dentry_ops); |  | ||||||
| 			else |  | ||||||
| 				d_set_d_op(direntry, &cifs_dentry_ops); |  | ||||||
| 			d_instantiate(direntry, newinode); | 			d_instantiate(direntry, newinode); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -102,11 +102,6 @@ cifs_readdir_lookup(struct dentry *parent, struct qstr *name, | ||||||
| 		return NULL; | 		return NULL; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (cifs_sb_master_tcon(CIFS_SB(sb))->nocase) |  | ||||||
| 		d_set_d_op(dentry, &cifs_ci_dentry_ops); |  | ||||||
| 	else |  | ||||||
| 		d_set_d_op(dentry, &cifs_dentry_ops); |  | ||||||
| 
 |  | ||||||
| 	alias = d_materialise_unique(dentry, inode); | 	alias = d_materialise_unique(dentry, inode); | ||||||
| 	if (alias != NULL) { | 	if (alias != NULL) { | ||||||
| 		dput(dentry); | 		dput(dentry); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Al Viro
				Al Viro