[Bug 1807288] Re: mkfs.ext4 -d $directory_with_acls leads to EINVAL
Steve Langasek
steve.langasek at canonical.com
Tue Dec 11 20:26:47 UTC 2018
Cosmic:
$ dd if=/dev/zero count=0 bs=1M seek=100 of=./fake.img
0+0 records in
0+0 records out
0 bytes copied, 6.2141e-05 s, 0.0 kB/s
$ mkdir -p stuff/journal
$ sudo apt install acl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
acl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/38.5 kB of archives.
After this operation, 205 kB of additional disk space will be used.
Get:1 file:/mirror/ubuntu cosmic/main amd64 acl amd64 2.2.52-3build1 [38.5 kB]
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package acl.
(Reading database ... 24069 files and directories currently installed.)
Preparing to unpack .../acl_2.2.52-3build1_amd64.deb ...
Unpacking acl (2.2.52-3build1) ...
Processing triggers for man-db (2.8.4-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up acl (2.2.52-3build1) ...
$ setfacl -m g:adm:rwx stuff/journal
$ mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
mke2fs 1.44.4 (18-Aug-2018)
Discarding device blocks: done
Creating filesystem with 25600 4k blocks and 6400 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done
$ sudo mount ./fake.img /mnt
$ getfacl /mnt/journal
getfacl: /mnt/journal: Invalid argument
$ sudo apt install -y e2fsprogs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libext2fs2
Suggested packages:
gpart parted fuse2fs e2fsck-static
Recommended packages:
e2fsprogs-l10n
The following packages will be upgraded:
e2fsprogs libext2fs2
2 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.
Need to get 673 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu cosmic-proposed/main amd64 libext2fs2 amd64 1.44.4-2ubuntu0.1 [159 kB]
Get:2 http://archive.ubuntu.com/ubuntu cosmic-proposed/main amd64 e2fsprogs amd64 1.44.4-2ubuntu0.1 [514 kB]
Fetched 673 kB in 3s (240 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 24081 files and directories currently installed.)
Preparing to unpack .../libext2fs2_1.44.4-2ubuntu0.1_amd64.deb ...
Unpacking libext2fs2:amd64 (1.44.4-2ubuntu0.1) over (1.44.4-2) ...
Setting up libext2fs2:amd64 (1.44.4-2ubuntu0.1) ...
(Reading database ... 24081 files and directories currently installed.)
Preparing to unpack .../e2fsprogs_1.44.4-2ubuntu0.1_amd64.deb ...
Unpacking e2fsprogs (1.44.4-2ubuntu0.1) over (1.44.4-2) ...
Setting up e2fsprogs (1.44.4-2ubuntu0.1) ...
Processing triggers for libc-bin (2.28-0ubuntu1) ...
Processing triggers for man-db (2.8.4-2) ...
Not building database; man-db/auto-update is not 'true'.
$ $ mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
mke2fs 1.44.4 (18-Aug-2018)
fake.img contains a ext4 file system labelled 'lala'
last mounted on Tue Dec 11 20:22:53 2018
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 25600 4k blocks and 6400 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done
$ sudo mount ./fake.img /mnt
$ getfacl /mnt/journal
getfacl: Removing leading '/' from absolute path names
# file: mnt/journal
# owner: vorlon
# group: vorlon
user::rwx
group::rwx
group:adm:rwx
mask::rwx
other::r-x
$
Verified.
** Description changed:
[Justification]
`mkfs.ext4 -d` can produce broken filesystems when there are acls in the tree used as input.
[Test case]
1. dd if=/dev/zero count=0 bs=1M seek=100 of=./fake.img
2. mkdir -p stuff/journal
- 3. setfacl -m g:adm:rwx stuff/journal
- 4. mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
- 5. sudo mount ./fake.img /mnt
- 6. Verify that `getfacl /mnt/journal/` returns an error.
- 7. sudo umount /mnt
- 8. install libext2fs2 from -proposed.
- 9. mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
- 10. sudo mount ./fake.img /mnt
- 11. Verify that `getfacl /mnt/journal/` returns acl information, not an error.
- 12. sudo umount /mnt
+ 3. sudo apt install acl
+ 4. setfacl -m g:adm:rwx stuff/journal
+ 5. mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
+ 6. sudo mount ./fake.img /mnt
+ 7. Verify that `getfacl /mnt/journal/` returns an error.
+ 8. sudo umount /mnt
+ 9. install libext2fs2 from -proposed.
+ 10. mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
+ 11. sudo mount ./fake.img /mnt
+ 12. Verify that `getfacl /mnt/journal/` returns acl information, not an error.
+ 13. sudo umount /mnt
[Original description]
This looks an awful lot like bug 1645232 but that is claimed to be
fixed:
mwhudson at ringil:~/tmp$ mkfs.ext4 -V
mke2fs 1.44.1 (24-Mar-2018)
Using EXT2FS Library version 1.44.1
mwhudson at ringil:~/tmp$ dd if=/dev/zero count=0 bs=1M seek=100 of=./fake.img
0+0 records in
0+0 records out
0 bytes copied, 0.0015871 s, 0.0 kB/s
mwhudson at ringil:~/tmp$ mkdir -p stuff/journal
mwhudson at ringil:~/tmp$ setfacl -m g:adm:rwx stuff/journal
mwhudson at ringil:~/tmp$ mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
mke2fs 1.44.1 (24-Mar-2018)
Discarding device blocks: done
Creating filesystem with 25600 4k blocks and 6400 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done
mwhudson at ringil:~/tmp$ sudo mount ./fake.img /mnt
mwhudson at ringil:~/tmp$ getfacl /mnt/journal/
getfacl: /mnt/journal/: Invalid argument
** Tags removed: verification-needed-cosmic
** Tags added: verification-done-cosmic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to e2fsprogs in Ubuntu.
https://bugs.launchpad.net/bugs/1807288
Title:
mkfs.ext4 -d $directory_with_acls leads to EINVAL
Status in e2fsprogs package in Ubuntu:
Fix Released
Status in e2fsprogs source package in Bionic:
Fix Committed
Status in e2fsprogs source package in Cosmic:
Fix Committed
Status in e2fsprogs source package in Disco:
Fix Released
Bug description:
[Justification]
`mkfs.ext4 -d` can produce broken filesystems when there are acls in the tree used as input.
[Test case]
1. dd if=/dev/zero count=0 bs=1M seek=100 of=./fake.img
2. mkdir -p stuff/journal
3. sudo apt install acl
4. setfacl -m g:adm:rwx stuff/journal
5. mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
6. sudo mount ./fake.img /mnt
7. Verify that `getfacl /mnt/journal/` returns an error.
8. sudo umount /mnt
9. install libext2fs2 from -proposed.
10. mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
11. sudo mount ./fake.img /mnt
12. Verify that `getfacl /mnt/journal/` returns acl information, not an error.
13. sudo umount /mnt
[Original description]
This looks an awful lot like bug 1645232 but that is claimed to be
fixed:
mwhudson at ringil:~/tmp$ mkfs.ext4 -V
mke2fs 1.44.1 (24-Mar-2018)
Using EXT2FS Library version 1.44.1
mwhudson at ringil:~/tmp$ dd if=/dev/zero count=0 bs=1M seek=100 of=./fake.img
0+0 records in
0+0 records out
0 bytes copied, 0.0015871 s, 0.0 kB/s
mwhudson at ringil:~/tmp$ mkdir -p stuff/journal
mwhudson at ringil:~/tmp$ setfacl -m g:adm:rwx stuff/journal
mwhudson at ringil:~/tmp$ mkfs.ext4 -L lala -O -metadata_csum -T default -O uninit_bg fake.img -d ./stuff/
mke2fs 1.44.1 (24-Mar-2018)
Discarding device blocks: done
Creating filesystem with 25600 4k blocks and 6400 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done
mwhudson at ringil:~/tmp$ sudo mount ./fake.img /mnt
mwhudson at ringil:~/tmp$ getfacl /mnt/journal/
getfacl: /mnt/journal/: Invalid argument
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/e2fsprogs/+bug/1807288/+subscriptions
More information about the foundations-bugs
mailing list