32 lines
1.0 KiB
Diff
32 lines
1.0 KiB
Diff
|
diff --git a/drbd/drbd_debugfs.c b/drbd/drbd_debugfs.c
|
||
|
index 91292c3..959a576 100644
|
||
|
--- a/drbd/drbd_debugfs.c
|
||
|
+++ b/drbd/drbd_debugfs.c
|
||
|
@@ -1074,7 +1074,7 @@ static int drbd_single_open_peer_device(struct file *file,
|
||
|
parent = file->f_path.dentry->d_parent;
|
||
|
if (!parent || !parent->d_inode)
|
||
|
goto out;
|
||
|
- mutex_lock(&parent->d_inode->i_mutex);
|
||
|
+ inode_lock(d_inode(parent));
|
||
|
if (!simple_positive(file->f_path.dentry))
|
||
|
goto out_unlock;
|
||
|
|
||
|
@@ -1083,7 +1083,7 @@ static int drbd_single_open_peer_device(struct file *file,
|
||
|
|
||
|
if (got_connection && got_device) {
|
||
|
int ret;
|
||
|
- mutex_unlock(&parent->d_inode->i_mutex);
|
||
|
+ inode_unlock(d_inode(parent));
|
||
|
ret = single_open(file, show, peer_device);
|
||
|
if (ret) {
|
||
|
kref_put(&connection->kref, drbd_destroy_connection);
|
||
|
@@ -1097,7 +1097,7 @@ static int drbd_single_open_peer_device(struct file *file,
|
||
|
if (got_device)
|
||
|
kref_put(&device->kref, drbd_destroy_device);
|
||
|
out_unlock:
|
||
|
- mutex_unlock(&parent->d_inode->i_mutex);
|
||
|
+ inode_unlock(d_inode(parent));
|
||
|
out:
|
||
|
return -ESTALE;
|
||
|
}
|