diff options
Diffstat (limited to 'fs/fat/namei_vfat.c')
-rw-r--r-- | fs/fat/namei_vfat.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c index e535dd75b986..ac959d655e7d 100644 --- a/fs/fat/namei_vfat.c +++ b/fs/fat/namei_vfat.c | |||
@@ -721,7 +721,7 @@ static struct dentry *vfat_lookup(struct inode *dir, struct dentry *dentry, | |||
721 | struct dentry *alias; | 721 | struct dentry *alias; |
722 | int err; | 722 | int err; |
723 | 723 | ||
724 | lock_super(sb); | 724 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
725 | 725 | ||
726 | err = vfat_find(dir, &dentry->d_name, &sinfo); | 726 | err = vfat_find(dir, &dentry->d_name, &sinfo); |
727 | if (err) { | 727 | if (err) { |
@@ -752,13 +752,13 @@ static struct dentry *vfat_lookup(struct inode *dir, struct dentry *dentry, | |||
752 | if (!S_ISDIR(inode->i_mode)) | 752 | if (!S_ISDIR(inode->i_mode)) |
753 | d_move(alias, dentry); | 753 | d_move(alias, dentry); |
754 | iput(inode); | 754 | iput(inode); |
755 | unlock_super(sb); | 755 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
756 | return alias; | 756 | return alias; |
757 | } else | 757 | } else |
758 | dput(alias); | 758 | dput(alias); |
759 | 759 | ||
760 | out: | 760 | out: |
761 | unlock_super(sb); | 761 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
762 | dentry->d_time = dentry->d_parent->d_inode->i_version; | 762 | dentry->d_time = dentry->d_parent->d_inode->i_version; |
763 | dentry = d_splice_alias(inode, dentry); | 763 | dentry = d_splice_alias(inode, dentry); |
764 | if (dentry) | 764 | if (dentry) |
@@ -766,7 +766,7 @@ out: | |||
766 | return dentry; | 766 | return dentry; |
767 | 767 | ||
768 | error: | 768 | error: |
769 | unlock_super(sb); | 769 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
770 | return ERR_PTR(err); | 770 | return ERR_PTR(err); |
771 | } | 771 | } |
772 | 772 | ||
@@ -779,7 +779,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode, | |||
779 | struct timespec ts; | 779 | struct timespec ts; |
780 | int err; | 780 | int err; |
781 | 781 | ||
782 | lock_super(sb); | 782 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
783 | 783 | ||
784 | ts = CURRENT_TIME_SEC; | 784 | ts = CURRENT_TIME_SEC; |
785 | err = vfat_add_entry(dir, &dentry->d_name, 0, 0, &ts, &sinfo); | 785 | err = vfat_add_entry(dir, &dentry->d_name, 0, 0, &ts, &sinfo); |
@@ -800,7 +800,7 @@ static int vfat_create(struct inode *dir, struct dentry *dentry, umode_t mode, | |||
800 | dentry->d_time = dentry->d_parent->d_inode->i_version; | 800 | dentry->d_time = dentry->d_parent->d_inode->i_version; |
801 | d_instantiate(dentry, inode); | 801 | d_instantiate(dentry, inode); |
802 | out: | 802 | out: |
803 | unlock_super(sb); | 803 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
804 | return err; | 804 | return err; |
805 | } | 805 | } |
806 | 806 | ||
@@ -811,7 +811,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry) | |||
811 | struct fat_slot_info sinfo; | 811 | struct fat_slot_info sinfo; |
812 | int err; | 812 | int err; |
813 | 813 | ||
814 | lock_super(sb); | 814 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
815 | 815 | ||
816 | err = fat_dir_empty(inode); | 816 | err = fat_dir_empty(inode); |
817 | if (err) | 817 | if (err) |
@@ -829,7 +829,7 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry) | |||
829 | inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; | 829 | inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; |
830 | fat_detach(inode); | 830 | fat_detach(inode); |
831 | out: | 831 | out: |
832 | unlock_super(sb); | 832 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
833 | 833 | ||
834 | return err; | 834 | return err; |
835 | } | 835 | } |
@@ -841,7 +841,7 @@ static int vfat_unlink(struct inode *dir, struct dentry *dentry) | |||
841 | struct fat_slot_info sinfo; | 841 | struct fat_slot_info sinfo; |
842 | int err; | 842 | int err; |
843 | 843 | ||
844 | lock_super(sb); | 844 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
845 | 845 | ||
846 | err = vfat_find(dir, &dentry->d_name, &sinfo); | 846 | err = vfat_find(dir, &dentry->d_name, &sinfo); |
847 | if (err) | 847 | if (err) |
@@ -854,7 +854,7 @@ static int vfat_unlink(struct inode *dir, struct dentry *dentry) | |||
854 | inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; | 854 | inode->i_mtime = inode->i_atime = CURRENT_TIME_SEC; |
855 | fat_detach(inode); | 855 | fat_detach(inode); |
856 | out: | 856 | out: |
857 | unlock_super(sb); | 857 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
858 | 858 | ||
859 | return err; | 859 | return err; |
860 | } | 860 | } |
@@ -867,7 +867,7 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) | |||
867 | struct timespec ts; | 867 | struct timespec ts; |
868 | int err, cluster; | 868 | int err, cluster; |
869 | 869 | ||
870 | lock_super(sb); | 870 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
871 | 871 | ||
872 | ts = CURRENT_TIME_SEC; | 872 | ts = CURRENT_TIME_SEC; |
873 | cluster = fat_alloc_new_dir(dir, &ts); | 873 | cluster = fat_alloc_new_dir(dir, &ts); |
@@ -896,13 +896,13 @@ static int vfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) | |||
896 | dentry->d_time = dentry->d_parent->d_inode->i_version; | 896 | dentry->d_time = dentry->d_parent->d_inode->i_version; |
897 | d_instantiate(dentry, inode); | 897 | d_instantiate(dentry, inode); |
898 | 898 | ||
899 | unlock_super(sb); | 899 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
900 | return 0; | 900 | return 0; |
901 | 901 | ||
902 | out_free: | 902 | out_free: |
903 | fat_free_clusters(dir, cluster); | 903 | fat_free_clusters(dir, cluster); |
904 | out: | 904 | out: |
905 | unlock_super(sb); | 905 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
906 | return err; | 906 | return err; |
907 | } | 907 | } |
908 | 908 | ||
@@ -921,7 +921,7 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
921 | old_sinfo.bh = sinfo.bh = dotdot_bh = NULL; | 921 | old_sinfo.bh = sinfo.bh = dotdot_bh = NULL; |
922 | old_inode = old_dentry->d_inode; | 922 | old_inode = old_dentry->d_inode; |
923 | new_inode = new_dentry->d_inode; | 923 | new_inode = new_dentry->d_inode; |
924 | lock_super(sb); | 924 | mutex_lock(&MSDOS_SB(sb)->s_lock); |
925 | err = vfat_find(old_dir, &old_dentry->d_name, &old_sinfo); | 925 | err = vfat_find(old_dir, &old_dentry->d_name, &old_sinfo); |
926 | if (err) | 926 | if (err) |
927 | goto out; | 927 | goto out; |
@@ -996,7 +996,7 @@ out: | |||
996 | brelse(sinfo.bh); | 996 | brelse(sinfo.bh); |
997 | brelse(dotdot_bh); | 997 | brelse(dotdot_bh); |
998 | brelse(old_sinfo.bh); | 998 | brelse(old_sinfo.bh); |
999 | unlock_super(sb); | 999 | mutex_unlock(&MSDOS_SB(sb)->s_lock); |
1000 | 1000 | ||
1001 | return err; | 1001 | return err; |
1002 | 1002 | ||