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

Kay Sievers kay at vrfy.org
Sat Dec 21 08:42:38 PST 2013


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.

Kay


More information about the systemd-devel mailing list