All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Lagerwall <ross.lagerwall-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
To: <linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Two inodes with the same inode number
Date: Fri, 11 Sep 2015 10:02:32 +0100	[thread overview]
Message-ID: <55F298A8.3020509@citrix.com> (raw)

I have a setup with two hosts, A and B, both using a CIFS SMB 3.0 mount 
where the following operations take place (using 4.1 kernels):

A                  B
open X
close X
                    mv X Y
                    touch X
open X
open Y

After this, host A will have two dentries pointing to the same inode (or 
at least with the same inode number), which results in some 
'interesting' behavior.

I've seen at least two failure modes:
1) Above, both open calls will try to use the same lease key, causing 
the server to fail the second open with STATUS_INVALID_PARAMETER. (the 
server was Windows Server 2012 R2)

2) The reported file size will be different depending on which filename 
was last used to refresh the inode attributes.


Although cifs_d_revalidate updates attributes such as the file size, it 
doesn't ever update the inode number. I tried making it return 0 to drop 
the cached inode if the inode number had changed but even still, opens 
failed occasionally with STATUS_INVALID_PARAMETER. Is there an alternate 
fix for this?

Thanks,
-- 
Ross Lagerwall

             reply	other threads:[~2015-09-11  9:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11  9:02 Ross Lagerwall [this message]
     [not found] ` <OF92BF934E.57059FCD-ON85257EBD.003EE076-85257EBD.003EF852@notes.teradyne.com>
     [not found]   ` <OF92BF934E.57059FCD-ON85257EBD.003EE076-85257EBD.003EF852-zEFU6UmHGhYZPXhiTVDvSdBPR1lH4CV8@public.gmane.org>
2015-09-11 12:19     ` Two inodes with the same inode number Ross Lagerwall

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=55F298A8.3020509@citrix.com \
    --to=ross.lagerwall-sxgqhf6nn4dqt0dzr+alfa@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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.