From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: Namjae Jeon <linkinjeon@gmail.com>
Cc: akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org,
Namjae Jeon <namjae.jeon@samsung.com>,
Amit Sahrawat <a.sahrawat@samsung.com>
Subject: Re: [PATCH RESEND v5] fat: editions to support fat_fallocate
Date: Mon, 29 Apr 2013 23:31:33 +0900 [thread overview]
Message-ID: <87ppxd4ddm.fsf@devron.myhome.or.jp> (raw)
In-Reply-To: <1367107703-2665-1-git-send-email-linkinjeon@gmail.com> (Namjae Jeon's message of "Sun, 28 Apr 2013 09:08:23 +0900")
Namjae Jeon <linkinjeon@gmail.com> writes:
I couldn't review fully though.
> + if (mmu_private_ideal < MSDOS_I(inode)->mmu_private &&
> + filp->f_dentry->d_count == 1)
> + fat_truncate_blocks(inode, inode->i_size);
Hm, why d_count == 1 check is needed? Feel strange and racy.
> + /* Start the allocation.We are not zeroing out the clusters */
> + while (nr_cluster-- > 0) {
> + err = fat_alloc_clusters(inode, &cluster, 1);
Why doesn't allocate clusters at once by fat_alloc_clusters()?
> + size = i_size_read(inode);
> + mmu_private_actual = MSDOS_I(inode)->mmu_private;
> + mmu_private_ideal = round_up(size, sb->s_blocksize);
> + if ((mmu_private_actual > mmu_private_ideal) && (pos > size)) {
> + err = fat_zero_falloc_area(file, mapping, pos);
> + if (err) {
> + fat_msg(sb, KERN_ERR,
> + "Error (%d) zeroing fallocated area", err);
> + return err;
> + }
> + }
This way probably inefficient. This would write data twice times (one is
zeroed, one is actual data). So, cpu time would be twice higher if
user uses fallocated, right?
Difference of fallocated area would be whether get_block() set
buffer_new() or not? If true, we should change get_block(), not
write_begin()?
Thanks.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
next prev parent reply other threads:[~2013-04-29 14:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-28 0:08 [PATCH RESEND v5] fat: editions to support fat_fallocate Namjae Jeon
2013-04-29 14:31 ` OGAWA Hirofumi [this message]
2013-05-01 4:14 ` Namjae Jeon
2013-05-01 6:42 ` OGAWA Hirofumi
2013-05-02 4:46 ` Namjae Jeon
2013-05-02 5:12 ` OGAWA Hirofumi
2013-05-02 6:12 ` Namjae Jeon
2013-05-02 7:36 ` OGAWA Hirofumi
2013-05-02 7:43 ` OGAWA Hirofumi
2013-05-02 9:15 ` Namjae Jeon
2013-05-02 9:34 ` OGAWA Hirofumi
2013-05-02 9:56 ` Namjae Jeon
2013-06-18 5:47 ` Namjae Jeon
2013-06-18 17:33 ` OGAWA Hirofumi
2013-06-20 6:28 ` Namjae Jeon
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=87ppxd4ddm.fsf@devron.myhome.or.jp \
--to=hirofumi@mail.parknet.co.jp \
--cc=a.sahrawat@samsung.com \
--cc=akpm@linux-foundation.org \
--cc=linkinjeon@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=namjae.jeon@samsung.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