diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:49:28 -0500 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:50:20 -0500 |
commit | b1e6a015a580ad145689ad1d6b4aa0e03e6c868b (patch) | |
tree | 57a10ef164e4d2f798d9b832dbeaf973aca2ab83 /fs/fat | |
parent | 621e155a3591962420eacdd39f6f0aa29ceb221e (diff) |
fs: change d_hash for rcu-walk
Change d_hash so it may be called from lock-free RCU lookups. See similar
patch for d_compare for details.
For in-tree filesystems, this is just a mechanical change.
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'fs/fat')
-rw-r--r-- | fs/fat/namei_msdos.c | 3 | ||||
-rw-r--r-- | fs/fat/namei_vfat.c | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/fs/fat/namei_msdos.c b/fs/fat/namei_msdos.c index 99d3c7ac973c..3b3e072d8982 100644 --- a/fs/fat/namei_msdos.c +++ b/fs/fat/namei_msdos.c | |||
@@ -148,7 +148,8 @@ static int msdos_find(struct inode *dir, const unsigned char *name, int len, | |||
148 | * that the existing dentry can be used. The msdos fs routines will | 148 | * that the existing dentry can be used. The msdos fs routines will |
149 | * return ENOENT or EINVAL as appropriate. | 149 | * return ENOENT or EINVAL as appropriate. |
150 | */ | 150 | */ |
151 | static int msdos_hash(struct dentry *dentry, struct qstr *qstr) | 151 | static int msdos_hash(const struct dentry *dentry, const struct inode *inode, |
152 | struct qstr *qstr) | ||
152 | { | 153 | { |
153 | struct fat_mount_options *options = &MSDOS_SB(dentry->d_sb)->options; | 154 | struct fat_mount_options *options = &MSDOS_SB(dentry->d_sb)->options; |
154 | unsigned char msdos_name[MSDOS_NAME]; | 155 | unsigned char msdos_name[MSDOS_NAME]; |
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c index 95e00ab84c3f..4fc06278db48 100644 --- a/fs/fat/namei_vfat.c +++ b/fs/fat/namei_vfat.c | |||
@@ -103,7 +103,8 @@ static unsigned int vfat_striptail_len(const struct qstr *qstr) | |||
103 | * that the existing dentry can be used. The vfat fs routines will | 103 | * that the existing dentry can be used. The vfat fs routines will |
104 | * return ENOENT or EINVAL as appropriate. | 104 | * return ENOENT or EINVAL as appropriate. |
105 | */ | 105 | */ |
106 | static int vfat_hash(struct dentry *dentry, struct qstr *qstr) | 106 | static int vfat_hash(const struct dentry *dentry, const struct inode *inode, |
107 | struct qstr *qstr) | ||
107 | { | 108 | { |
108 | qstr->hash = full_name_hash(qstr->name, vfat_striptail_len(qstr)); | 109 | qstr->hash = full_name_hash(qstr->name, vfat_striptail_len(qstr)); |
109 | return 0; | 110 | return 0; |
@@ -115,9 +116,10 @@ static int vfat_hash(struct dentry *dentry, struct qstr *qstr) | |||
115 | * that the existing dentry can be used. The vfat fs routines will | 116 | * that the existing dentry can be used. The vfat fs routines will |
116 | * return ENOENT or EINVAL as appropriate. | 117 | * return ENOENT or EINVAL as appropriate. |
117 | */ | 118 | */ |
118 | static int vfat_hashi(struct dentry *dentry, struct qstr *qstr) | 119 | static int vfat_hashi(const struct dentry *dentry, const struct inode *inode, |
120 | struct qstr *qstr) | ||
119 | { | 121 | { |
120 | struct nls_table *t = MSDOS_SB(dentry->d_inode->i_sb)->nls_io; | 122 | struct nls_table *t = MSDOS_SB(dentry->d_sb)->nls_io; |
121 | const unsigned char *name; | 123 | const unsigned char *name; |
122 | unsigned int len; | 124 | unsigned int len; |
123 | unsigned long hash; | 125 | unsigned long hash; |