From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: "Steven J. Magnani" <steve@digidescorp.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] fat (exportfs): reconnect file handles to evicted inodes/dentries
Date: Sun, 08 Jul 2012 02:00:13 +0900 [thread overview]
Message-ID: <87zk7bo6aq.fsf@devron.myhome.or.jp> (raw)
In-Reply-To: <1341679286.2435.12.camel@iscandar> (Steven J. Magnani's message of "Sat, 07 Jul 2012 11:41:26 -0500")
"Steven J. Magnani" <steve@digidescorp.com> writes:
>> You mean the unhashed inode is created by ->get_parent()? If so, the
>> root cause sounds like ->get_parent() itself. If not, I'm not
>> understanding the meaning of the temporary/unofficial inode here.
>
> Maybe "private" is a better word than "unofficial". Private inodes are
> created anywhere fat_new_inode (nee fat_build_unhashed_inode) is called
> directly, instead of through fat_build_inode. So yes, this is on the
> get_parent paths (via fat_lookup_dir), and also on the fh_to_dentry path
> when inode reconstruction is necessary.
>
> With private inodes, I don't see how anyone but the code that created
> them could find them to lock them. The reason they're private is that
> they're temporary aliases; at the time they're created, we don't have
> enough information to register them in a way that others could find
> them. A lookup, etc. operation will look for the inode of the "drivers"
> directory, not the ".." of the "usb" directory. We do need these private
> inodes in order to walk directory entries. I don't think they're a
> problem that needs solving; if we didn't use private inodes, we'd still
> need a way to walk directory entries in the context of these NFS
> operations, and there would still be potential races between that and
> other operations on the filesystem.
How do you prevent to modify or free the those inode/blocks from other
path? Yeah, it is racy. And if races is not solved, that's simply wrong
and not solution.
Although I'm not thinking deeply about NFS support on FAT. Just a idea,
the one of possible solutions would be register it to hash, and find it
on all path. So, all path will use same inode and lock.
We need the key, possible key is - if it is only directory, FAT may be
able to use i_start as additional search key.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
next prev parent reply other threads:[~2012-07-07 17:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-03 19:09 [PATCH 0/2] fat (exportfs): fix NFS file handle decode Steven J. Magnani
2012-07-03 19:09 ` [PATCH 1/2] fat (exportfs): drop ineffective get_parent code Steven J. Magnani
2012-07-04 10:30 ` OGAWA Hirofumi
2012-07-03 19:09 ` [PATCH 2/2] fat (exportfs): reconnect file handles to evicted inodes/dentries Steven J. Magnani
2012-07-04 11:07 ` OGAWA Hirofumi
2012-07-04 18:03 ` Steve Magnani
2012-07-05 3:59 ` OGAWA Hirofumi
2012-07-05 20:03 ` Steven J. Magnani
2012-07-06 20:33 ` Steven J. Magnani
2012-07-06 21:07 ` OGAWA Hirofumi
2012-07-07 1:16 ` Steven J. Magnani
2012-07-07 6:03 ` OGAWA Hirofumi
2012-07-07 16:41 ` Steven J. Magnani
2012-07-07 17:00 ` OGAWA Hirofumi [this message]
2012-07-09 12:03 ` Steven J. Magnani
2012-07-09 13:43 ` OGAWA Hirofumi
2012-07-09 14:47 ` Steven J. Magnani
2012-07-09 16:10 ` OGAWA Hirofumi
2012-07-09 16:27 ` Steven J. Magnani
2012-07-09 17:09 ` Steven J. Magnani
2012-07-09 17:23 ` Steven J. Magnani
2012-07-09 19:10 ` OGAWA Hirofumi
2012-07-09 20:26 ` Steven J. Magnani
2012-07-09 21:34 ` OGAWA Hirofumi
2012-07-09 22:03 ` Steven J. Magnani
2012-07-09 22:17 ` OGAWA Hirofumi
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=87zk7bo6aq.fsf@devron.myhome.or.jp \
--to=hirofumi@mail.parknet.co.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=steve@digidescorp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®