<commit_before>/*
 * High-level sync()-related operations
 */

#include <linux/kernel.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/writeback.h>
#include <linux/syscalls.h>
#include <linux/linkage.h>
#include <linux/pagemap.h>
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include "internal.h"

#define VALID_FLAGS (SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE| \
			SYNC_FILE_RANGE_WAIT_AFTER)

/*
 * Do the filesystem syncing work. For simple filesystems sync_inodes_sb(sb, 0)
 * just dirties buffers with inodes so we have to submit IO for these buffers
 * via __sync_blockdev(). This also speeds up the wait == 1 case since in that
 * case write_inode() functions do sync_dirty_buffer() and thus effectively
 * write one block at a time.
 */
static int __sync_filesystem(struct super_block *sb, int wait)
{
	/* Avoid doing twice syncing and cache pruning for quota sync */
	if (!wait)
		writeout_quota_sb(sb, -1);
	else
		sync_quota_sb(sb, -1);
	sync_inodes_sb(sb, wait);
	if (sb->s_dirt && sb->s_op->write_super)
		sb->s_op->write_super(sb);
	if (sb->s_op->sync_fs)
		sb->s_op->sync_fs(sb, wait);
	return __sync_blockdev(sb->s_bdev, wait);
}

/*
 * Write out and wait upon all dirty data associated with this
 * superblock.  Filesystem data as well as the underlying block<commit_msg>remove the call to ->write_super in __sync_filesystem<commit_after>/*
 * High-level sync()-related operations
 */

#include <linux/kernel.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/writeback.h>
#include <linux/syscalls.h>
#include <linux/linkage.h>
#include <linux/pagemap.h>
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include "internal.h"

#define VALID_FLAGS (SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE| \
			SYNC_FILE_RANGE_WAIT_AFTER)

/*
 * Do the filesystem syncing work. For simple filesystems sync_inodes_sb(sb, 0)
 * just dirties buffers with inodes so we have to submit IO for these buffers
 * via __sync_blockdev(). This also speeds up the wait == 1 case since in that
 * case write_inode() functions do sync_dirty_buffer() and thus effectively
 * write one block at a time.
 */
static int __sync_filesystem(struct super_block *sb, int wait)
{
	/* Avoid doing twice syncing and cache pruning for quota sync */
	if (!wait)
		writeout_quota_sb(sb, -1);
	else
		sync_quota_sb(sb, -1);
	sync_inodes_sb(sb, wait);
	if (sb->s_op->sync_fs)
		sb->s_op->sync_fs(sb, wait);
	return __sync_blockdev(sb->s_bdev, wait);
}

/*
 * Write out and wait upon all dirty data associated with this
 * superblock.  Filesystem data as well as the underlying block
{'fraction_non_alphanumeric': 0.11853211009174312, 'fraction_numerical': 0.0029357798165137615, 'mean_word_length': 4.738947368421052, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 41, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1611511', 'n_tokens_mistral': 982, 'n_tokens_neox': 970, 'n_words': 281}