From 4cd30fc1f9aaf32ed3002d535cc7a090dcebe9ed Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Tue, 29 Sep 2026 15:38:57 +0200 Subject: [PATCH] fix(tasks): select the btrfs filesystem by uuid instead of device --- tasks/create_unix_user.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tasks/create_unix_user.yml b/tasks/create_unix_user.yml index e0c28b1..cedc213 100644 --- a/tasks/create_unix_user.yml +++ b/tasks/create_unix_user.yml @@ -23,10 +23,17 @@ msg: "Determined device {{ _unix_users_btrfs_device.stdout }} does not have a btrfs filesystem" when: _unix_users_device_filesystem != 'btrfs' + # Select by UUID, device matching fails for symlinked devices like /dev/mapper/* (community.general#11331). + - name: "Find btrfs filesystem UUID" + ansible.builtin.command: + cmd: "findmnt -no UUID -T {{ _unix_users_home }}" + register: _unix_users_btrfs_uuid + changed_when: false + # The subvolume stays root owned until the user exists. It is chowned further below, after the user was created. - name: "Create btrfs volume for unix user: {{ unix_user.key }}" community.general.btrfs_subvolume: - filesystem_device: "{{ _unix_users_btrfs_device.stdout }}" + filesystem_uuid: "{{ _unix_users_btrfs_uuid.stdout }}" name: "{{ _unix_users_home }}" state: present