All of lore.kernel.org
 help / color / mirror / Atom feed
From: ronnie sahlberg <ronniesahlberg@gmail.com>
To: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>,
	Andrew Walker <awalker@ixsystems.com>,
	Paulo Alcantara <pc@manguebit.com>,
	linux-cifs@vger.kernel.org
Subject: Re: Nested NTFS volumes within Windows SMB share may result in inode collisions in linux client
Date: Fri, 3 Mar 2023 05:42:11 +1000	[thread overview]
Message-ID: <CAN05THRC3nbDFhsiBxaQo9NPazk2RFr65EpEjka_gnDY_aOapg@mail.gmail.com> (raw)
In-Reply-To: <CAH2r5msjKi-FMQRaHptk5fPycZRSS5ZQNC-u=1wE8oxBUhN5Ug@mail.gmail.com>

On Fri, 3 Mar 2023 at 05:38, Steve French <smfrench@gmail.com> wrote:
>
> > Why isn't this behavior simply the default?
>
> Without persisted inode numbers (UniqueId) it would cause problems
> with hardlinks (ie mounting with noserverino).  We could try a trick
> of hashing them with the volume id if we could detect the transition
> to a different volume (as original thread was discussing) -
> fortunately in Linux you have to walk a path component by component so
> might be possible to spot these more easily.

Just hashing it with something does not make the problem go away, it
would just make it
more unpredictable to trigger or reproduce  but the very serious issue
with data loss that Tom ponted out still remains.

Maybe a solution is to NOT traverse across these volume transitions at
all in the client and maybe users should be forced to
explicitely mount these different volumes clientside, exactly like how
NFSv3 does and requires clients to deal with this situation.

But yes, it is an extremely serious bug that will cause data loss when
it triggers for files we write to.


>
> On Thu, Mar 2, 2023 at 1:19 PM Tom Talpey <tom@talpey.com> wrote:
> >
> > On 3/1/2023 8:49 PM, Steve French wrote:
> > > I would expect when the inode collision is noted that
> > > "cifs_autodisable_serverino()" will get called in the Linux client and
> > > you should see: "Autodisabling the user of server inode numbers on
> > > ..."
> > > "Consider mounting with noserverino to silence this message"
> >
> > Why isn't this behavior simply the default? It's going to be
> > data corruption (sev 1 issue) if the inode number is the same
> > for two different fileid's, so this seems entirely backwards.
> >
> > Also, the words "to silence this message" really don't convey
> > the severity of the situation.
> >
> > Tom.
>
>
>
> --
> Thanks,
>
> Steve

  parent reply	other threads:[~2023-03-02 19:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-01 22:07 Nested NTFS volumes within Windows SMB share may result in inode collisions in linux client Andrew Walker
2023-03-01 22:37 ` Paulo Alcantara
2023-03-02  1:33   ` Andrew Walker
2023-03-02  1:49     ` Steve French
2023-03-02  4:12       ` Andrew Walker
2023-03-02 19:18       ` Tom Talpey
2023-03-02 19:23         ` Steve French
2023-03-02 19:32           ` Tom Talpey
2023-03-02 19:38             ` Andrew Walker
2023-03-02 19:42           ` ronnie sahlberg [this message]
2023-03-02 18:00     ` Paulo Alcantara
2023-08-21 18:57 ` Paulo Alcantara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAN05THRC3nbDFhsiBxaQo9NPazk2RFr65EpEjka_gnDY_aOapg@mail.gmail.com \
    --to=ronniesahlberg@gmail.com \
    --cc=awalker@ixsystems.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=pc@manguebit.com \
    --cc=smfrench@gmail.com \
    --cc=tom@talpey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.