 53069d4e76
			
		
	
	
	53069d4e76
	
	
	
		
			
			the basic logic of moving extents for a file is pretty like punching-hole sequence, walk the extents within the range as user specified, calculating an appropriate len to defrag/move, then let ocfs2_defrag/move_extent() to do the actual moving. This func ends up setting 'OCFS2_MOVE_EXT_FL_COMPLETE' to userpace if operation gets done successfully. Signed-off-by: Tristan Ye <tristan.ye@oracle.com>
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			758 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			758 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /* -*- mode: c; c-basic-offset: 8; -*-
 | |
|  * vim: noexpandtab sw=8 ts=8 sts=0:
 | |
|  *
 | |
|  * move_extents.h
 | |
|  *
 | |
|  * Copyright (C) 2011 Oracle.  All rights reserved.
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public
 | |
|  * License version 2 as published by the Free Software Foundation.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  * General Public License for more details.
 | |
|  */
 | |
| #ifndef OCFS2_MOVE_EXTENTS_H
 | |
| #define OCFS2_MOVE_EXTENTS_H
 | |
| 
 | |
| int ocfs2_ioctl_move_extents(struct file *filp,  void __user *argp);
 | |
| 
 | |
| #endif /* OCFS2_MOVE_EXTENTS_H */
 |