kill dentry_update_name_case()
the last user is gone Spotted-by: Richard Weinberger <richard@nod.at> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
ce397d215c
commit
63a67a926e
27
fs/dcache.c
27
fs/dcache.c
@ -2676,33 +2676,6 @@ struct dentry *d_exact_alias(struct dentry *entry, struct inode *inode)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(d_exact_alias);
|
EXPORT_SYMBOL(d_exact_alias);
|
||||||
|
|
||||||
/**
|
|
||||||
* dentry_update_name_case - update case insensitive dentry with a new name
|
|
||||||
* @dentry: dentry to be updated
|
|
||||||
* @name: new name
|
|
||||||
*
|
|
||||||
* Update a case insensitive dentry with new case of name.
|
|
||||||
*
|
|
||||||
* dentry must have been returned by d_lookup with name @name. Old and new
|
|
||||||
* name lengths must match (ie. no d_compare which allows mismatched name
|
|
||||||
* lengths).
|
|
||||||
*
|
|
||||||
* Parent inode i_mutex must be held over d_lookup and into this call (to
|
|
||||||
* keep renames and concurrent inserts, and readdir(2) away).
|
|
||||||
*/
|
|
||||||
void dentry_update_name_case(struct dentry *dentry, const struct qstr *name)
|
|
||||||
{
|
|
||||||
BUG_ON(!inode_is_locked(dentry->d_parent->d_inode));
|
|
||||||
BUG_ON(dentry->d_name.len != name->len); /* d_lookup gives this */
|
|
||||||
|
|
||||||
spin_lock(&dentry->d_lock);
|
|
||||||
write_seqcount_begin(&dentry->d_seq);
|
|
||||||
memcpy((unsigned char *)dentry->d_name.name, name->name, name->len);
|
|
||||||
write_seqcount_end(&dentry->d_seq);
|
|
||||||
spin_unlock(&dentry->d_lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(dentry_update_name_case);
|
|
||||||
|
|
||||||
static void swap_names(struct dentry *dentry, struct dentry *target)
|
static void swap_names(struct dentry *dentry, struct dentry *target)
|
||||||
{
|
{
|
||||||
if (unlikely(dname_external(target))) {
|
if (unlikely(dname_external(target))) {
|
||||||
|
@ -271,8 +271,6 @@ extern void d_rehash(struct dentry *);
|
|||||||
|
|
||||||
extern void d_add(struct dentry *, struct inode *);
|
extern void d_add(struct dentry *, struct inode *);
|
||||||
|
|
||||||
extern void dentry_update_name_case(struct dentry *, const struct qstr *);
|
|
||||||
|
|
||||||
/* used for rename() and baskets */
|
/* used for rename() and baskets */
|
||||||
extern void d_move(struct dentry *, struct dentry *);
|
extern void d_move(struct dentry *, struct dentry *);
|
||||||
extern void d_exchange(struct dentry *, struct dentry *);
|
extern void d_exchange(struct dentry *, struct dentry *);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user