Re: [PATCH 1/4] fs: Improve filesystem freezing handling
From: Jan Kara <jack@suse.cz>
Date: 2012-01-12 20:07:53
Also in:
linux-fsdevel, linux-xfs, lkml
From: Jan Kara <jack@suse.cz>
Date: 2012-01-12 20:07:53
Also in:
linux-fsdevel, linux-xfs, lkml
On Thu 12-01-12 12:53:35, Andreas Dilger wrote:
On 2012-01-11, at 6:20 PM, Jan Kara wrote:quoted
/** + * sb_start_write - drop write access to a superblock + * @sb: the super we wrote to + * + * Decrement number of writers to the filesystem and wake up possible + * waiters wanting to freeze the filesystem. + */ +void sb_end_write(struct super_block *sb) +{ +#ifdef CONFIG_SMP + this_cpu_dec(sb->s_writers); +#else + preempt_disable(); + sb->s_writers--; + preempt_enable(); +#endif + /* + * Make sure s_writers are updated before we wake up waiters in + * freeze_super(). + */ + smp_mb(); + if (waitqueue_active(&sb->s_writers_wait)) + wake_up(&sb->s_writers_wait); + rwsem_release(&sb->s_writers_lock_map, 1, _RET_IP_); +}Since this function is needed for calling __block_page_mkwrite(), which is EXPORT_SYMBOL(), both sb_start_write() and sb_end_write() themselves need to be EXPORT_SYMBOL().
Good point. Fixed. Thanks. Honza -- Jan Kara [off-list ref] SUSE Labs, CR