[systemd-devel] [PATCH] fstab-generator: Do not try to fsck non-devices

Tom Gundersen teg at jklm.no
Sat Dec 21 08:49:19 PST 2013


On Sat, Dec 21, 2013 at 5:42 PM, Kay Sievers <kay at vrfy.org> wrote:
> On Sat, Dec 21, 2013 at 5:33 PM, Dave Reisner <d at falconindy.com> wrote:
>> On Sat, Dec 21, 2013 at 12:49:07PM +0100, Tom Gundersen wrote:
>>> On Sat, Dec 21, 2013 at 11:22 AM, Thomas Bächler <thomas at archlinux.org> wrote:
>>> > This fixes a regression introduced in 64e70e4 where the mount fails
>>> > when fstab is misconfigured with fs_passno > 0 on a virtual file
>>> > system like tmpfs.
>>> > ---
>>> >  src/fstab-generator/fstab-generator.c | 8 +++++---
>>> >  1 file changed, 5 insertions(+), 3 deletions(-)
>>> >
>>> > diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
>>> > index 1227f08..709a1c3 100644
>>> > --- a/src/fstab-generator/fstab-generator.c
>>> > +++ b/src/fstab-generator/fstab-generator.c
>>> > @@ -255,9 +255,11 @@ static int add_mount(
>>> >                          "Before=%s\n",
>>> >                          post);
>>> >
>>> > -        r = add_fsck(f, what, where, type, passno);
>>> > -        if (r < 0)
>>> > -                return r;
>>> > +        if(is_device_path(what)) {
>>> > +                r = add_fsck(f, what, where, type, passno);
>>> > +                if (r < 0)
>>> > +                        return r;
>>> > +        }
>>> >
>>> >          fprintf(f,
>>> >                  "\n"
>>>
>>> How does "fsck -A" deal with these cases?
>>
>> tmpfs falls into the category of pseudofs, which fsck -A will
>> intentionally ignore, regardless of the passno.
>>
>>> Also, how does your patch deal with LABEL= and UUDI=?
>>
>> At this point, "what" has been filtered through fstab_node_to_udev_node,
>> so LABEL=foo will be /dev/disk/by-label/foo.
>
> Generally, not sure if that it always correct here, kernel "nodev"
> superblocks have a dev_t with major == 0 and are very simple to detect
> that way.

Hm, so why doesn't fsck just deal gracefully with this?

-t


More information about the systemd-devel mailing list