[Top] [All Lists]

Re: [PATCH] do_mounts: try all available filesystems before panicking

To: Theodore Ts'o <tytso@xxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Plamen Petrov <plamen.sisi@xxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, sandeen@xxxxxxxxxx
Subject: Re: [PATCH] do_mounts: try all available filesystems before panicking
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon, 26 May 2014 12:40:51 +1000
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140525211129.GA5243@xxxxxxxxx>
References: <1399314889-9829-1-git-send-email-plamen.sisi@xxxxxxxxx> <CA+55aFwxF2xnYerLdJZ2gQdZizK3953L16X5KkUAqD-YePausQ@xxxxxxxxxxxxxx> <20140525211129.GA5243@xxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Sun, May 25, 2014 at 05:11:30PM -0400, Theodore Ts'o wrote:
> On Sun, May 25, 2014 at 01:04:09PM -0700, Linus Torvalds wrote:
> > 
> > The fact is, I think xfs is just buggy. Returning 38 (ENOSYS) is
> > totally insane. "No such system call"? Somebody is on some bad bad
> > drugs. Not that the mount_block_root() loop and error handling might
> > not be a good thing to perhaps tweak _too_, but at the very least your
> > patch means that now it no longer prints out the error number at all.
> There's only a single instance of ENOSYS in fs/xfs/xfs_mount.c:
>       /*
>        * We must be able to do sector-sized and sector-aligned IO.
>        */
>       if (sector_size > sbp->sb_sectsize) {
>               if (loud)
>                       xfs_warn(mp, "device supports %u byte sectors (not %u)",
>                               sector_size, sbp->sb_sectsize);
>               error = ENOSYS;
>               goto release_buf;
>       }
> Plamen, does changing the ENOSYS to EINVAL above fix things for you?
> > Anyway, I'm also not seeing why that xfs error would be new to 3.14,
> > though.. Adding the XFS people to the cc.
> If I had to guess, commit daba5427d is new to 3.14, and it might
> explain the change in behavior.

Yup, it's buggy, though not in an obvious way. I'll have a patch for
it soon.


Dave Chinner

<Prev in Thread] Current Thread [Next in Thread>