From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: dedekind1@gmail.com
Cc: Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel Maling List <linux-kernel@vger.kernel.org>,
Linux FS Maling List <linux-fsdevel@vger.kernel.org>,
Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Subject: Re: [PATCH v2 4/4] fat: switch to fsinfo_inode
Date: Sat, 14 Apr 2012 20:51:09 +0900 [thread overview]
Message-ID: <873986h6qa.fsf@devron.myhome.or.jp> (raw)
In-Reply-To: <1334401307.2263.24.camel@koala> (Artem Bityutskiy's message of "Sat, 14 Apr 2012 14:01:45 +0300")
Artem Bityutskiy <dedekind1@gmail.com> writes:
>> > Sorry, I do not see how this can be true. You have a just bunch of dirty
>> > inodes, and it does not matter in which order you flush them. See
>> > __fat_write_inode() - it does not change the FAT table and does not
>> > affect the FSINFO block.
>> >
>> > Besides, the _current_ code first writes out FSINFO, because VFS calls
>> > ->sync_fs() first, then it starts writing back, then VFS calls
>> > ->sync_fs() for the second time.
>
> This is actually not exactly correct, but anyway, the first
> ->sync_fs(sb, 0) may come to FAT FS while it is in the middle of writing
> out the inodes.
>
> BTW, fat_clusters_flush() does not wait on the FSINFO block, which I
> think is a bug. I mean, it should call 'sync_dirty_buffer()'. I can
> submit a separate patch later.
write_super() is update and dirty buffer. Actual flush is via blockdev
(by historical reason), right? So, I think we don't need to wait at
sync_fs() in FATfs case.
>> Common case is delayed allocation though, in the case of FATfs, it would
>> be only truncate by last iput().
>
> Sorry, I do not understand what you mean. Do you still want me to take
> care of the order or not? If yes, could you please explain why?
Yes, I still worry about order. About ->sync_fs(), you are looking the
following?
__sync_filesystem(sb, 0)
__sync_filesystem(sb, 1)
Those are doing
1) try flush dirty all data at first without blocking
__sync_filesystem(sb, 0)
2) wait some data of (1), and complete inodes work
part of __sync_filesystem(sb, 1)
3) write super block to buffer
->sync_fs() in __sync_filesystem(sb, 1)
4) flush and wait all metadata on blockdev
__sync_blockdev() in __sync_filesystem(sb, 1)
right?
In your patch, we lose (3). (And I can't remember why I did it though,
your patch lose write_super() in ->put_super() too.)
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
next prev parent reply other threads:[~2012-04-14 11:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-13 14:19 [PATCH v2 v2 0/4] do not use s_dirt in FAT FS Artem Bityutskiy
2012-04-13 14:19 ` [PATCH v2 1/4] fat: introduce special inode for managing the FSINFO block Artem Bityutskiy
2012-04-13 14:19 ` [PATCH v2 2/4] fat: introduce mark_fsinfo_dirty helper Artem Bityutskiy
2012-04-13 14:19 ` [PATCH v2 3/4] fat: mark superblock as dirty less often Artem Bityutskiy
2012-04-14 9:17 ` OGAWA Hirofumi
2012-04-14 10:24 ` Artem Bityutskiy
2012-04-14 10:37 ` OGAWA Hirofumi
2012-04-14 11:08 ` Artem Bityutskiy
2012-04-13 14:19 ` [PATCH v2 4/4] fat: switch to fsinfo_inode Artem Bityutskiy
2012-04-14 10:19 ` OGAWA Hirofumi
2012-04-14 10:29 ` Artem Bityutskiy
2012-04-14 10:36 ` OGAWA Hirofumi
2012-04-14 11:01 ` Artem Bityutskiy
2012-04-14 11:51 ` OGAWA Hirofumi [this message]
2012-04-14 12:36 ` Artem Bityutskiy
2012-04-14 13:12 ` OGAWA Hirofumi
2012-04-14 13:54 ` Artem Bityutskiy
2012-05-04 10:13 ` Artem Bityutskiy
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=873986h6qa.fsf@devron.myhome.or.jp \
--to=hirofumi@mail.parknet.co.jp \
--cc=akpm@linux-foundation.org \
--cc=artem.bityutskiy@linux.intel.com \
--cc=dedekind1@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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.