All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <bharrosh@panasas.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Christoph Hellwig <hch@lst.de>,
	viro@zeniv.linux.org.uk, jack@suse.cz,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 0/6] first step toward the new truncate sequence
Date: Mon, 31 May 2010 16:21:20 +0300	[thread overview]
Message-ID: <4C03B7D0.4020005@panasas.com> (raw)
In-Reply-To: <20100531131551.GH9453@laptop>

On 05/31/2010 04:15 PM, Nick Piggin wrote:
> On Mon, May 31, 2010 at 01:17:35PM +0300, Boaz Harrosh wrote:
>> On 05/31/2010 12:50 PM, Boaz Harrosh wrote:
>>> On 05/30/2010 11:49 PM, Christoph Hellwig wrote:
>>>> This series is something that I see as the first major step towards
>>>> a broad switch to the new truncate sequence.  The patches get rid
>>>> of the _newtrunc variant of blockdev_direct_IO & friends and
>>>> *_write_begin, and clean up some bits in that area that make the
>>>> switch easier.  After this we have all vmtruncate instances except
>>>> for inode_setattr in filesystem code.  A second series to deal
>>>> with ->setattr will follow and after that we can easily switch
>>>> over one filesystem after another.
>>>>
>>>> I think this is still 2.6.34 material as it will make the fs
>>>> switches a lot easier and avoid introducing the _newtrunc variants
>>>> for one kernel release.
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>> Christoph, Nick hi.
>>>
>>> I'm attempting a truncate conversion for exofs, will need a review.
>>>
>>> I'm basing the first attempt on Al's next tree that has Nicks last
>>> patches. Will rebase on these when they get into that tree. Please
>>> advise on the best tree to use?
>>> (BTW did you mean 2.6.35 above, I guess)
>>>
>>> So one minor thing ext2_setsize can be static: 
> 
> Thanks.
> 
> 
>>> (It used to be used by the struct inode_operations)
>>>
>>
>> One more thing. ext2_setsize is only used by ext2_setattr do we still
>> need this code? (form ext2_setsize) half of it is done in ext2_setattr
>> already)
>>
>> 	inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC;
>> 	if (inode_needs_sync(inode)) {
>> 		sync_mapping_buffers(inode->i_mapping);
>> 		ext2_sync_inode (inode);
>> 	} else {
>> 		mark_inode_dirty(inode);
>> 	}
>>
>> And generic_setattr does some more of that, No?
> 
> Not sure. Some callers appear not to set ATTR_CTIME/ATTR_MTIME when
> making ATTR_SIZE changes. And I don't know the history of the required
> sync semantics here either.
> 
> I think these would be good questions to raise with the ext?
> maintainers, though. ext3/4 have similar code.
> 

OK, I've rechecked and and no one is doing:
	inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC;
So this one is needed as is.

But the:
 	if (inode_needs_sync(inode)) {
 		sync_mapping_buffers(inode->i_mapping);
 		ext2_sync_inode (inode);
 	} else {
 		mark_inode_dirty(inode);
 	}

Is just stupid given that mark_inode_dirty(inode); is
again done in ext2_setattr() right after the call to
_setsize. Perhaps if needed, then move it into _setattr

(Please also have a look at my exofs: truncate patch I would love your input)
Boaz

  parent reply	other threads:[~2010-05-31 13:21 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-30 20:49 [PATCH 0/6] first step toward the new truncate sequence Christoph Hellwig
2010-05-30 20:49 ` [PATCH 1/6] sort out blockdev_direct_IO variants Christoph Hellwig
2010-06-01 23:00   ` Jan Kara
2010-06-01 23:12     ` Christoph Hellwig
2010-06-01 23:16       ` Jan Kara
2010-05-30 20:49 ` [PATCH 2/6] get rid of nobh_write_begin_newtrunc Christoph Hellwig
2010-05-30 20:50 ` [PATCH 3/6] get rid of cont_write_begin_newtrunc Christoph Hellwig
2010-05-30 20:50 ` [PATCH 4/6] clean up write_begin usage for directories in pagecache Christoph Hellwig
2010-05-30 20:50 ` [PATCH 5/6] introduce __block_write_begin Christoph Hellwig
2010-05-31  8:10   ` Christoph Hellwig
2010-06-01 23:39   ` Jan Kara
2010-06-02  7:25     ` Christoph Hellwig
2010-06-02  9:47       ` Jan Kara
2010-05-30 20:50 ` [PATCH 6/6] get rid of block_write_begin_newtrunc Christoph Hellwig
2010-05-31  7:13 ` [PATCH 0/6] first step toward the new truncate sequence Nick Piggin
2010-05-31  7:38   ` Christoph Hellwig
2010-05-31  7:45     ` Nick Piggin
2010-05-31  9:50 ` Boaz Harrosh
2010-05-31 10:17   ` Boaz Harrosh
2010-05-31 13:15     ` Nick Piggin
2010-05-31 13:18       ` Christoph Hellwig
2010-05-31 13:21       ` Boaz Harrosh [this message]
2010-06-01 10:07   ` Christoph Hellwig

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=4C03B7D0.4020005@panasas.com \
    --to=bharrosh@panasas.com \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=npiggin@suse.de \
    --cc=viro@zeniv.linux.org.uk \
    /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.