您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ vfs_fsync_range函数代码示例

51自学网 2021-06-03 09:38:34
  C++
这篇教程C++ vfs_fsync_range函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中vfs_fsync_range函数的典型用法代码示例。如果您正苦于以下问题:C++ vfs_fsync_range函数的具体用法?C++ vfs_fsync_range怎么用?C++ vfs_fsync_range使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了vfs_fsync_range函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: vfs_fsync

/** * vfs_fsync - perform a fsync or fdatasync on a file * @file:		file to sync * @datasync:		only perform a fdatasync operation * * Write back data and metadata for @file to disk.  If @datasync is * set only metadata needed to access modified file data is written. */int vfs_fsync(struct file *file, int datasync){	if (!fsync_enabled)			return 0;	return vfs_fsync_range(file, 0, LLONG_MAX, datasync);}
开发者ID:ShinySide,项目名称:HispAsian_Lollipop,代码行数:15,


示例2: wrapfs_fsync

static int wrapfs_fsync(struct file *file, loff_t start, loff_t end, int datasync){	int err;	struct file *lower_file;	struct path lower_path;	struct dentry *dentry = file->f_path.dentry;#ifdef EXTRA_CREDIT	if(wrapfs_get_debug(file->f_dentry->d_sb) & DEBUG_FILE)		DEBUG_MESG("Enter");#endif	err = generic_file_fsync(file, start, end, datasync);	if (err)		goto out;	lower_file = wrapfs_lower_file(file);	wrapfs_get_lower_path(dentry, &lower_path);	err = vfs_fsync_range(lower_file, start, end, datasync);	wrapfs_put_lower_path(dentry, &lower_path);out:#ifdef EXTRA_CREDIT	if(wrapfs_get_debug(file->f_dentry->d_sb) & DEBUG_FILE)		DEBUG_RETURN("Exit", err);#endif	return err;}
开发者ID:weixu8,项目名称:EncryptedFilesystem,代码行数:28,


示例3: vfs_fsync

/** * vfs_fsync - perform a fsync or fdatasync on a file * @file:		file to sync * @datasync:		only perform a fdatasync operation * * Write back data and metadata for @file to disk.  If @datasync is * set only metadata needed to access modified file data is written. */int vfs_fsync(struct file *file, int datasync){	#ifdef CONFIG_FSYNC_OFF		return 0;	#endif	return vfs_fsync_range(file, 0, LLONG_MAX, datasync);}
开发者ID:bigzz,项目名称:Galaxy_S6_920F_Kernel,代码行数:15,


示例4: generic_write_sync

/** * generic_write_sync - perform syncing after a write if file / inode is sync * @file:	file to which the write happened * @pos:	offset where the write started * @count:	length of the write * * This is just a simple wrapper about our general syncing function. */int generic_write_sync(struct file *file, loff_t pos, loff_t count){	if (!(file->f_flags & O_DSYNC) && !IS_SYNC(file->f_mapping->host))		return 0;	return vfs_fsync_range(file, pos, pos + count - 1,			       (file->f_flags & __O_SYNC) ? 0 : 1);}
开发者ID:aatjitra,项目名称:Note2,代码行数:15,


示例5: vfs_fsync

/** * vfs_fsync - perform a fsync or fdatasync on a file * @file:		file to sync * @datasync:		only perform a fdatasync operation * * Write back data and metadata for @file to disk.  If @datasync is * set only metadata needed to access modified file data is written. */int vfs_fsync(struct file *file, int datasync){#ifdef CONFIG_FSYNC_CONTROL	if (!fsynccontrol_fsync_enabled())		return 0;#endif	return vfs_fsync_range(file, 0, LLONG_MAX, datasync);}
开发者ID:marcOcram,项目名称:android_kernel_primou,代码行数:16,


示例6: vfs_fsync

/** * vfs_fsync - perform a fsync or fdatasync on a file * @file:		file to sync * @datasync:		only perform a fdatasync operation * * Write back data and metadata for @file to disk.  If @datasync is * set only metadata needed to access modified file data is written. */int vfs_fsync(struct file *file, int datasync){	//conditional fsync disable	#ifdef CONFIG_FSYNC_OFF	  return 0;	#endif	return vfs_fsync_range(file, 0, LLONG_MAX, datasync);}
开发者ID:rajpurush,项目名称:Note2Core_v3_kernel_N710x,代码行数:16,


示例7: generic_write_sync

/** * generic_write_sync - perform syncing after a write if file / inode is sync * @file:	file to which the write happened * @pos:	offset where the write started * @count:	length of the write * * This is just a simple wrapper about our general syncing function. */int generic_write_sync(struct file *file, loff_t pos, loff_t count){	//conditional fsync disable	#ifdef CONFIG_FSYNC_OFF	  return 0;	#endif	if (!(file->f_flags & O_DSYNC) && !IS_SYNC(file->f_mapping->host))		return 0;	return vfs_fsync_range(file, pos, pos + count - 1,			       (file->f_flags & __O_SYNC) ? 0 : 1);}
开发者ID:rajpurush,项目名称:Note2Core_v3_kernel_N710x,代码行数:19,


示例8: generic_write_sync

/** * generic_write_sync - perform syncing after a write if file / inode is sync * @file:	file to which the write happened * @pos:	offset where the write started * @count:	length of the write * * This is just a simple wrapper about our general syncing function. */int generic_write_sync(struct file *file, loff_t pos, loff_t count){#ifdef CONFIG_DYNAMIC_FSYNC	if (!early_suspend_active)		return 0;#endif	if (!(file->f_flags & O_DSYNC) && !IS_SYNC(file->f_mapping->host))		return 0;	return vfs_fsync_range(file, pos, pos + count - 1,			       (file->f_flags & __O_SYNC) ? 0 : 1);}
开发者ID:samavar89,项目名称:KANGAROO-kernel,代码行数:19,


示例9: ecryptfs_fsync

static intecryptfs_fsync(struct file *file, loff_t start, loff_t end, int datasync){	int rc = 0;	rc = generic_file_fsync(file, start, end, datasync);	if (rc)		goto out;	rc = vfs_fsync_range(ecryptfs_file_to_lower(file), start, end,			     datasync);out:	return rc;}
开发者ID:kozmikkick,项目名称:eternityprj-kernel-endeavoru-128,代码行数:13,


示例10: sdcardfs_fsync

static intsdcardfs_fsync(struct file *file, loff_t start, loff_t end, int datasync){	int err;	struct file *lower_file;	struct path lower_path;	struct dentry *dentry = file->f_path.dentry;	lower_file = sdcardfs_lower_file(file);	sdcardfs_get_lower_path(dentry, &lower_path);	err = vfs_fsync_range(lower_file, start, end, datasync);	sdcardfs_put_lower_path(dentry, &lower_path);	return err;}
开发者ID:mildrock,项目名称:overlay_plane_display,代码行数:15,


示例11: fd_emulate_write_fua

/* * WRITE Force Unit Access (FUA) emulation on a per struct se_task * LBA range basis.. */static void fd_emulate_write_fua(struct se_cmd *cmd, struct se_task *task){	struct se_device *dev = cmd->se_dev;	struct fd_dev *fd_dev = dev->dev_ptr;	loff_t start = task->task_lba * dev->se_sub_dev->se_dev_attrib.block_size;	loff_t end = start + task->task_size;	int ret;	pr_debug("FILEIO: FUA WRITE LBA: %llu, bytes: %u/n",			task->task_lba, task->task_size);	ret = vfs_fsync_range(fd_dev->fd_file, start, end, 1);	if (ret != 0)		pr_err("FILEIO: vfs_fsync_range() failed: %d/n", ret);}
开发者ID:SSKain,项目名称:linux-2.6-imx,代码行数:19,


示例12: wrapfs_fsync

static int wrapfs_fsync(struct file *file, loff_t start, loff_t end,			int datasync){	int err;	struct file *lower_file;	struct path lower_path;	struct dentry *dentry = file->f_path.dentry;	err = generic_file_fsync(file, start, end, datasync);	if (err)		goto out;	lower_file = wrapfs_lower_file(file);	wrapfs_get_lower_path(dentry, &lower_path);	err = vfs_fsync_range(lower_file, start, end, datasync);	wrapfs_put_lower_path(dentry, &lower_path);out:	return err;}
开发者ID:sudheerkv,项目名称:CSE506,代码行数:18,


示例13: ovl_fsync

static int ovl_fsync(struct file *file, loff_t start, loff_t end, int datasync){	struct fd real;	const struct cred *old_cred;	int ret;	ret = ovl_real_fdget_meta(file, &real, !datasync);	if (ret)		return ret;	/* Don't sync lower file for fear of receiving EROFS error */	if (file_inode(real.file) == ovl_inode_upper(file_inode(file))) {		old_cred = ovl_override_creds(file_inode(file)->i_sb);		ret = vfs_fsync_range(real.file, start, end, datasync);		revert_creds(old_cred);	}	fdput(real);	return ret;}
开发者ID:Lyude,项目名称:linux,代码行数:21,


示例14: fd_emulate_sync_cache

static void fd_emulate_sync_cache(struct se_task *task){	struct se_cmd *cmd = task->task_se_cmd;	struct se_device *dev = cmd->se_dev;	struct fd_dev *fd_dev = dev->dev_ptr;	int immed = (cmd->t_task_cdb[1] & 0x2);	loff_t start, end;	int ret;	/*	 * If the Immediate bit is set, queue up the GOOD response	 * for this SYNCHRONIZE_CACHE op	 */	if (immed)		transport_complete_sync_cache(cmd, 1);	/*	 * Determine if we will be flushing the entire device.	 */	if (cmd->t_task_lba == 0 && cmd->data_length == 0) {		start = 0;		end = LLONG_MAX;	} else {		start = cmd->t_task_lba * dev->se_sub_dev->se_dev_attrib.block_size;		if (cmd->data_length)			end = start + cmd->data_length;		else			end = LLONG_MAX;	}	ret = vfs_fsync_range(fd_dev->fd_file, start, end, 1);	if (ret != 0)		pr_err("FILEIO: vfs_fsync_range() failed: %d/n", ret);	if (!immed)		transport_complete_sync_cache(cmd, ret == 0);}
开发者ID:SSKain,项目名称:linux-2.6-imx,代码行数:37,


示例15: vfs_fsync

/** * vfs_fsync - perform a fsync or fdatasync on a file * @file:		file to sync * @datasync:		only perform a fdatasync operation * * Write back data and metadata for @file to disk.  If @datasync is * set only metadata needed to access modified file data is written. */int vfs_fsync(struct file *file, int datasync){	return vfs_fsync_range(file, 0, LLONG_MAX, datasync);}
开发者ID:aatjitra,项目名称:Note2,代码行数:12,


示例16: aio_submit

//.........这里部分代码省略.........	struct iocb iocb = {		.aio_buf = (__u64)&dummy,	};	struct iocb *iocbp = &iocb;	oldfs = get_fs();	set_fs(get_ds());	res = sys_io_submit(output->ctxp, 1, &iocbp);	set_fs(oldfs);	if (likely(res >= 0)) {		atomic_inc(&output->submit_count);	}	return res;}staticint aio_start_thread(	struct aio_output *output,	struct aio_threadinfo *tinfo,	int(*fn)(void*),	char class){	int j;	for (j = 0; j < MARS_PRIO_NR; j++) {		INIT_LIST_HEAD(&tinfo->mref_list[j]);	}	tinfo->output = output;	spin_lock_init(&tinfo->lock);	init_waitqueue_head(&tinfo->event);	init_waitqueue_head(&tinfo->terminate_event);	tinfo->terminated = false;	tinfo->thread = brick_thread_create(fn, tinfo, "mars_aio_%c%d", class, output->index);	if (unlikely(!tinfo->thread)) {		MARS_ERR("cannot create thread/n");		return -ENOENT;	}	return 0;}staticvoid aio_stop_thread(struct aio_output *output, int i, bool do_submit_dummy){	struct aio_threadinfo *tinfo = &output->tinfo[i];	if (tinfo->thread) {		MARS_DBG("stopping thread %d .../n", i);		brick_thread_stop_nowait(tinfo->thread);		// workaround for waking up the receiver thread. TODO: check whether signal handlong could do better.		if (do_submit_dummy) {			MARS_DBG("submitting dummy for wakeup %d.../n", i);			use_fake_mm();			aio_submit_dummy(output);			if (likely(current->mm)) {				unuse_fake_mm();			}		}		// wait for termination		MARS_DBG("waiting for thread %d .../n", i);		wait_event_interruptible_timeout(			tinfo->terminate_event,			tinfo->terminated,			(60 - i * 2) * HZ);		if (likely(tinfo->terminated)) {			brick_thread_stop(tinfo->thread);		} else {			MARS_ERR("thread %d did not terminate - leaving a zombie/n", i);		}	}}staticint aio_sync(struct file *file){	int err;	switch (aio_sync_mode) {	case 1:#if defined(S_BIAS) || (defined(RHEL_MAJOR) && (RHEL_MAJOR < 7))		err = vfs_fsync_range(file, file->f_path.dentry, 0, LLONG_MAX, 1);#else		err = vfs_fsync_range(file, 0, LLONG_MAX, 1);#endif		break;	case 2:#if defined(S_BIAS) || (defined(RHEL_MAJOR) && (RHEL_MAJOR < 7))		err = vfs_fsync_range(file, file->f_path.dentry, 0, LLONG_MAX, 0);#else		err = vfs_fsync_range(file, 0, LLONG_MAX, 0);#endif		break;	default:		err = filemap_write_and_wait_range(file->f_mapping, 0, LLONG_MAX);	}	return err;}
开发者ID:ZyanKLee,项目名称:mars,代码行数:101,


示例17: gfs2_page_mkwrite

//.........这里部分代码省略.........		 * ind_blocks */		calc_max_reserv(ip, &max_bytes, &data_blocks,				&ind_blocks, max_blks);		rblocks = RES_DINODE + ind_blocks + RES_STATFS + RES_QUOTA +			  RES_RG_HDR + gfs2_rg_blocks(ip, data_blocks + ind_blocks);		if (gfs2_is_jdata(ip))			rblocks += data_blocks ? data_blocks : 1;		error = gfs2_trans_begin(sdp, rblocks,					 PAGE_SIZE/sdp->sd_sb.sb_bsize);		if (error)			goto out_trans_fail;		error = fallocate_chunk(inode, offset, max_bytes, mode);		gfs2_trans_end(sdp);		if (error)			goto out_trans_fail;		len -= max_bytes;		offset += max_bytes;		gfs2_inplace_release(ip);		gfs2_quota_unlock(ip);	}	if (!(mode & FALLOC_FL_KEEP_SIZE) && (pos + count) > inode->i_size) {		i_size_write(inode, pos + count);		file_update_time(file);		mark_inode_dirty(inode);	}	if ((file->f_flags & O_DSYNC) || IS_SYNC(file->f_mapping->host))		return vfs_fsync_range(file, pos, pos + count - 1,			       (file->f_flags & __O_SYNC) ? 0 : 1);	return 0;out_trans_fail:	gfs2_inplace_release(ip);out_qunlock:	gfs2_quota_unlock(ip);	return error;}static long gfs2_fallocate(struct file *file, int mode, loff_t offset, loff_t len){	struct inode *inode = file_inode(file);	struct gfs2_sbd *sdp = GFS2_SB(inode);	struct gfs2_inode *ip = GFS2_I(inode);	struct gfs2_holder gh;	int ret;	if (mode & ~FALLOC_FL_KEEP_SIZE)		return -EOPNOTSUPP;	/* fallocate is needed by gfs2_grow to reserve space in the rindex */	if (gfs2_is_jdata(ip) && inode != sdp->sd_rindex)		return -EOPNOTSUPP;	inode_lock(inode);	gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);	ret = gfs2_glock_nq(&gh);	if (ret)		goto out_uninit;	if (!(mode & FALLOC_FL_KEEP_SIZE) &&
开发者ID:SantoshShilimkar,项目名称:linux,代码行数:67,



注:本文中的vfs_fsync_range函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ vfs_getattr函数代码示例
C++ vfs_fsync函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。