Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
util-linux.3345
util-linux-libmount-btrfs-auto.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File util-linux-libmount-btrfs-auto.patch of Package util-linux.3345
From d2f8267847ecbe763a3b63af1289bf1179cd8c45 Mon Sep 17 00:00:00 2001 From: Stanislav Brabec <sbrabec@suse.cz> Date: Tue, 26 Jan 2016 21:59:55 +0100 Subject: [PATCH] libmount: run btrfs subvol checks for "auto" fs type It is possible to mount btrfs using "auto" keyword in fstab. In such case, btrfs specific checks are skipped. Run them for "auto" as well. Looking at the code, it is a safe approach. In case of btrfs, it will do what is needed, in case of no btrfs, btrfs_get_default_subvol_id() will fail, and the rest of the code is skipped. How to reproduce: See reproducer in 2cd28fc and replace fstab line by echo "/dev/loop0 $PWD/btrfs_mnt btrfs auto 0 0" >>/etc/fstab Current behavior of second "mount -a": mount: /dev/loop0 is already mounted or /root/btrfs_mnt busy /dev/loop0 is already mounted on /root/btrfs_mnt Testcases for btrfs and ext4: truncate -s1G btrfs_test.img truncate -s1G ext4_test.img mkdir -p btrfs_mnt mkdir -p ext4_mnt /sbin/mkfs.btrfs -f -d single -m single ./btrfs_test.img /sbin/mkfs.ext4 ./ext4_test.img losetup /dev/loop0 $PWD/btrfs_test.img losetup /dev/loop1 $PWD/ext4_test.img echo "/dev/loop0 $PWD/btrfs_mnt auto defaults 0 0" >>/etc/fstab echo "/dev/loop1 $PWD/ext4_mnt auto defaults 0 0" >>/etc/fstab ./mount -a ./mount -a umount btrfs_mnt umount ext4_mnt sed -i "/\/dev\/loop[01]/d" /etc/fstab losetup -d /dev/loop0 losetup -d /dev/loop1 rm btrfs_test.img rm ext4_test.img rmdir btrfs_mnt rmdir ext4_mnt Signed-off-by: Stanislav Brabec <sbrabec@suse.cz> --- libmount/src/tab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: util-linux-2.25/libmount/src/tab.c =================================================================== --- util-linux-2.25.orig/libmount/src/tab.c +++ util-linux-2.25/libmount/src/tab.c @@ -1374,7 +1374,7 @@ struct libmnt_fs *mnt_table_get_fs_root( /* * btrfs-subvolume mount -- get subvolume name and use it as a root-fs path */ - else if (fstype && !strcmp(fstype, "btrfs")) { + else if (fstype && (!strcmp(fstype, "btrfs") || !strcmp(fstype, "auto"))) { char *vol = NULL, *p; size_t sz, volsz = 0;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor