diff --git a/kmod/src/dir.c b/kmod/src/dir.c index 292df2d5..e8fe3e79 100644 --- a/kmod/src/dir.c +++ b/kmod/src/dir.c @@ -1524,9 +1524,7 @@ static int scoutfs_rename(struct inode *old_dir, struct dentry *old_dentry, /* if dirs are different make sure ancestor relationships are valid */ if (old_dir != new_dir) { - ret = scoutfs_lock_global(sb, DLM_LOCK_EX, 0, - SCOUTFS_LOCK_TYPE_GLOBAL_RENAME, - &rename_lock); + ret = scoutfs_lock_rename(sb, DLM_LOCK_EX, 0, &rename_lock); if (ret) return ret; diff --git a/kmod/src/lock.c b/kmod/src/lock.c index e8a6a425..aba98783 100644 --- a/kmod/src/lock.c +++ b/kmod/src/lock.c @@ -1019,16 +1019,16 @@ int scoutfs_lock_inodes(struct super_block *sb, int mode, int flags, } /* - * Acquire a cluster lock with a global scope in the lock space. + * The rename lock is magical because it's global. */ -int scoutfs_lock_global(struct super_block *sb, int mode, int flags, int type, +int scoutfs_lock_rename(struct super_block *sb, int mode, int flags, struct scoutfs_lock **lock) { struct scoutfs_lock_name name; memset(&name, 0, sizeof(name)); name.scope = SCOUTFS_LOCK_SCOPE_GLOBAL; - name.type = type; + name.type = SCOUTFS_LOCK_TYPE_GLOBAL_RENAME; return lock_name_keys(sb, mode, flags, &name, NULL, NULL, lock); } diff --git a/kmod/src/lock.h b/kmod/src/lock.h index 99c00bf9..89d161e8 100644 --- a/kmod/src/lock.h +++ b/kmod/src/lock.h @@ -66,7 +66,7 @@ int scoutfs_lock_inodes(struct super_block *sb, int mode, int flags, struct inode *b, struct scoutfs_lock **b_lock, struct inode *c, struct scoutfs_lock **c_lock, struct inode *d, struct scoutfs_lock **D_lock); -int scoutfs_lock_global(struct super_block *sb, int mode, int flags, int type, +int scoutfs_lock_rename(struct super_block *sb, int mode, int flags, struct scoutfs_lock **lock); int scoutfs_lock_node_id(struct super_block *sb, int mode, int flags, u64 node_id, struct scoutfs_lock **lock);