Re: Inode metadata and file data syncing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Josef,
Thank you! This helps a lot. I hadn't seen the use of write_inode(), or
not using it as a way to do this.

Regards,
sarah


On 7/18/12 11:21 AM, "Josef Bacik" <jbacik@xxxxxxxxxxxx> wrote:

>On Wed, Jul 18, 2012 at 10:53:00AM -0600, Jelinek, Sarah wrote:
>> I am in the process of writing a file system in Linux. This file system
>> has a separate mechanism by which we manage metadata so I do not want to
>> write the file inode metadata to disk without explicitly requesting an
>> update. I do need the file data pages to be written to disk as per the
>> normal writeback process.
>> 
>> If I use the common mechanism of creating an inode and inserting it into
>> the hash via insert_inode_locked(), the inode will be in the I_NEW state
>> and when the inode is marked dirty it will be put on the dirty list and
>> eventually flushed out to disk. One way I thought I could get around
>>this
>> is by initializing the inode to i_state = I_DIRTY, skipping I_NEW, and
>> using insert_inode_hash() instead, so that if mark_inode_dirty() is
>>called
>> it won't get put on the dirty list. The issue with this approach is that
>> it looks like this inode's pages will not get flushed to disk either
>>since
>> it won't ever get on the dirty list. I need the pages written just not
>>the
>> inode itself. 
>>
>
>All the major file systems do this currently.  If you just don't implement
>->write_inode() you can control when the metadata is written out, the
>data will
>be flushed normally and you can write out the metadata whenever you feel
>like
>it, like the rest of us do without doing horrible things to the i_state.
>Thanks,
>
>Josef 

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux