mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 17:54:13 +08:00
b5b24d7aeb
Unfortunately, it is not enough to just ignore locked buffers during the AIL flush from fsync. We need to be able to ignore all buffers which are locked, dirty or pinned at this stage as they might have been added subsequent to the log flush earlier in the fsync function. In addition, this means that we no longer need to rely on i_mutex to keep out writes during fsync, so we can, as a side-effect, remove that protection too. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> Tested-By: Abhijith Das <adas@redhat.com>
29 lines
1.1 KiB
C
29 lines
1.1 KiB
C
/*
|
|
* Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
|
|
* Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the GNU General Public License version 2.
|
|
*/
|
|
|
|
#ifndef __GLOPS_DOT_H__
|
|
#define __GLOPS_DOT_H__
|
|
|
|
#include "incore.h"
|
|
|
|
extern const struct gfs2_glock_operations gfs2_meta_glops;
|
|
extern const struct gfs2_glock_operations gfs2_inode_glops;
|
|
extern const struct gfs2_glock_operations gfs2_rgrp_glops;
|
|
extern const struct gfs2_glock_operations gfs2_trans_glops;
|
|
extern const struct gfs2_glock_operations gfs2_iopen_glops;
|
|
extern const struct gfs2_glock_operations gfs2_flock_glops;
|
|
extern const struct gfs2_glock_operations gfs2_nondisk_glops;
|
|
extern const struct gfs2_glock_operations gfs2_quota_glops;
|
|
extern const struct gfs2_glock_operations gfs2_journal_glops;
|
|
extern const struct gfs2_glock_operations *gfs2_glops_list[];
|
|
|
|
extern void gfs2_ail_flush(struct gfs2_glock *gl, bool fsync);
|
|
|
|
#endif /* __GLOPS_DOT_H__ */
|