Because of the changes made in dcache.h header file, files that use the d_lock and d_count fields of the dentry structure need to be changed accordingly. All the d_lock's spin_lock() and spin_unlock() calls are replaced by the corresponding d_lock() and d_unlock() calls. References to d_count are replaced by the d_ret_count() calls. There is no change in logic and everything should just work. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> --- fs/locks.c | 2 +- include/linux/fs.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/locks.c b/fs/locks.c index cb424a4..558f83a 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1351,7 +1351,7 @@ int generic_add_lease(struct file *filp, long arg, struct file_lock **flp) if ((arg == F_RDLCK) && (atomic_read(&inode->i_writecount) > 0)) goto out; if ((arg == F_WRLCK) - && ((dentry->d_count > 1) + && ((d_ret_count(dentry) > 1) || (atomic_read(&inode->i_count) > 1))) goto out; diff --git a/include/linux/fs.h b/include/linux/fs.h index 65c2be2..68679b6 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2588,9 +2588,9 @@ static inline ino_t parent_ino(struct dentry *dentry) * Don't strictly need d_lock here? If the parent ino could change * then surely we'd have a deeper race in the caller? */ - spin_lock(&dentry->d_lock); + d_lock(dentry); res = dentry->d_parent->d_inode->i_ino; - spin_unlock(&dentry->d_lock); + d_unlock(dentry); return res; } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html