lkml.org 
[lkml]   [2012]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/4] fs: Improve filesystem freezing handling
    On Thu 12-01-12 12:53:35, Andreas Dilger wrote:
    > On 2012-01-11, at 6:20 PM, Jan Kara wrote:
    > > /**
    > > + * 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 <jack@suse.cz>
    SUSE Labs, CR


    \
     
     \ /
      Last update: 2012-01-12 21:11    [W:0.023 / U:0.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site