aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/isofs/dir.c3
-rw-r--r--fs/isofs/inode.c1
-rw-r--r--fs/isofs/isofs.h1
-rw-r--r--fs/isofs/namei.c4
-rw-r--r--fs/isofs/rock.c3
5 files changed, 0 insertions, 12 deletions
diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c
index 0542b6eedf80..f20437c068a0 100644
--- a/fs/isofs/dir.c
+++ b/fs/isofs/dir.c
@@ -254,19 +254,16 @@ static int isofs_readdir(struct file *filp,
254 char *tmpname; 254 char *tmpname;
255 struct iso_directory_record *tmpde; 255 struct iso_directory_record *tmpde;
256 struct inode *inode = filp->f_path.dentry->d_inode; 256 struct inode *inode = filp->f_path.dentry->d_inode;
257 struct isofs_sb_info *sbi = ISOFS_SB(inode->i_sb);
258 257
259 tmpname = (char *)__get_free_page(GFP_KERNEL); 258 tmpname = (char *)__get_free_page(GFP_KERNEL);
260 if (tmpname == NULL) 259 if (tmpname == NULL)
261 return -ENOMEM; 260 return -ENOMEM;
262 261
263 mutex_lock(&sbi->s_mutex);
264 tmpde = (struct iso_directory_record *) (tmpname+1024); 262 tmpde = (struct iso_directory_record *) (tmpname+1024);
265 263
266 result = do_isofs_readdir(inode, filp, dirent, filldir, tmpname, tmpde); 264 result = do_isofs_readdir(inode, filp, dirent, filldir, tmpname, tmpde);
267 265
268 free_page((unsigned long) tmpname); 266 free_page((unsigned long) tmpname);
269 mutex_unlock(&sbi->s_mutex);
270 return result; 267 return result;
271} 268}
272 269
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index b3cc8586984e..a5d03672d04e 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -863,7 +863,6 @@ root_found:
863 sbi->s_utf8 = opt.utf8; 863 sbi->s_utf8 = opt.utf8;
864 sbi->s_nocompress = opt.nocompress; 864 sbi->s_nocompress = opt.nocompress;
865 sbi->s_overriderockperm = opt.overriderockperm; 865 sbi->s_overriderockperm = opt.overriderockperm;
866 mutex_init(&sbi->s_mutex);
867 /* 866 /*
868 * It would be incredibly stupid to allow people to mark every file 867 * It would be incredibly stupid to allow people to mark every file
869 * on the disk as suid, so we merely allow them to set the default 868 * on the disk as suid, so we merely allow them to set the default
diff --git a/fs/isofs/isofs.h b/fs/isofs/isofs.h
index 2882dc089f87..7d33de84f52a 100644
--- a/fs/isofs/isofs.h
+++ b/fs/isofs/isofs.h
@@ -55,7 +55,6 @@ struct isofs_sb_info {
55 gid_t s_gid; 55 gid_t s_gid;
56 uid_t s_uid; 56 uid_t s_uid;
57 struct nls_table *s_nls_iocharset; /* Native language support table */ 57 struct nls_table *s_nls_iocharset; /* Native language support table */
58 struct mutex s_mutex; /* replaces BKL, please remove if possible */
59}; 58};
60 59
61#define ISOFS_INVALID_MODE ((mode_t) -1) 60#define ISOFS_INVALID_MODE ((mode_t) -1)
diff --git a/fs/isofs/namei.c b/fs/isofs/namei.c
index 68fa503d877e..1e2946f2a69e 100644
--- a/fs/isofs/namei.c
+++ b/fs/isofs/namei.c
@@ -168,7 +168,6 @@ struct dentry *isofs_lookup(struct inode *dir, struct dentry *dentry, struct nam
168 int found; 168 int found;
169 unsigned long uninitialized_var(block); 169 unsigned long uninitialized_var(block);
170 unsigned long uninitialized_var(offset); 170 unsigned long uninitialized_var(offset);
171 struct isofs_sb_info *sbi = ISOFS_SB(dir->i_sb);
172 struct inode *inode; 171 struct inode *inode;
173 struct page *page; 172 struct page *page;
174 173
@@ -176,7 +175,6 @@ struct dentry *isofs_lookup(struct inode *dir, struct dentry *dentry, struct nam
176 if (!page) 175 if (!page)
177 return ERR_PTR(-ENOMEM); 176 return ERR_PTR(-ENOMEM);
178 177
179 mutex_lock(&sbi->s_mutex);
180 found = isofs_find_entry(dir, dentry, 178 found = isofs_find_entry(dir, dentry,
181 &block, &offset, 179 &block, &offset,
182 page_address(page), 180 page_address(page),
@@ -185,7 +183,5 @@ struct dentry *isofs_lookup(struct inode *dir, struct dentry *dentry, struct nam
185 183
186 inode = found ? isofs_iget(dir->i_sb, block, offset) : NULL; 184 inode = found ? isofs_iget(dir->i_sb, block, offset) : NULL;
187 185
188 mutex_unlock(&sbi->s_mutex);
189
190 return d_splice_alias(inode, dentry); 186 return d_splice_alias(inode, dentry);
191} 187}
diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c
index f9cd04db6eab..1fbc7de88f50 100644
--- a/fs/isofs/rock.c
+++ b/fs/isofs/rock.c
@@ -678,7 +678,6 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page)
678 678
679 init_rock_state(&rs, inode); 679 init_rock_state(&rs, inode);
680 block = ei->i_iget5_block; 680 block = ei->i_iget5_block;
681 mutex_lock(&sbi->s_mutex);
682 bh = sb_bread(inode->i_sb, block); 681 bh = sb_bread(inode->i_sb, block);
683 if (!bh) 682 if (!bh)
684 goto out_noread; 683 goto out_noread;
@@ -748,7 +747,6 @@ repeat:
748 goto fail; 747 goto fail;
749 brelse(bh); 748 brelse(bh);
750 *rpnt = '\0'; 749 *rpnt = '\0';
751 mutex_unlock(&sbi->s_mutex);
752 SetPageUptodate(page); 750 SetPageUptodate(page);
753 kunmap(page); 751 kunmap(page);
754 unlock_page(page); 752 unlock_page(page);
@@ -765,7 +763,6 @@ out_bad_span:
765 printk("symlink spans iso9660 blocks\n"); 763 printk("symlink spans iso9660 blocks\n");
766fail: 764fail:
767 brelse(bh); 765 brelse(bh);
768 mutex_unlock(&sbi->s_mutex);
769error: 766error:
770 SetPageError(page); 767 SetPageError(page);
771 kunmap(page); 768 kunmap(page);