X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fdcache.c;h=d9ca1e5ceb92f02302fdeedb7bc1e2b6e5768f2e;hb=f0f0052069989b80d2a3e50c9cd2f2a650bc1aea;hp=5489b2d98a002901d28fdc2417135aab1744b9d0;hpb=5c8e191e8437616a498a8e1cc0af3dd0d32bbff2;p=linux-2.6 diff --git a/fs/dcache.c b/fs/dcache.c index 5489b2d98a..d9ca1e5ceb 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -38,7 +38,7 @@ int sysctl_vfs_cache_pressure __read_mostly = 100; EXPORT_SYMBOL_GPL(sysctl_vfs_cache_pressure); __cacheline_aligned_in_smp DEFINE_SPINLOCK(dcache_lock); -static __cacheline_aligned_in_smp DEFINE_SEQLOCK(rename_lock); +__cacheline_aligned_in_smp DEFINE_SEQLOCK(rename_lock); EXPORT_SYMBOL(dcache_lock); @@ -1479,6 +1479,8 @@ static void switch_names(struct dentry *dentry, struct dentry *target) * dentry:internal, target:external. Steal target's * storage and make target internal. */ + memcpy(target->d_iname, dentry->d_name.name, + dentry->d_name.len + 1); dentry->d_name.name = target->d_name.name; target->d_name.name = target->d_iname; }