Home
last modified time | relevance | path

Searched refs:fiemap (Results 1 – 28 of 28) sorted by relevance

/linux-4.1.27/fs/
Dioctl.c175 struct fiemap fiemap; in ioctl_fiemap() local
176 struct fiemap __user *ufiemap = (struct fiemap __user *) arg; in ioctl_fiemap()
183 if (!inode->i_op->fiemap) in ioctl_fiemap()
186 if (copy_from_user(&fiemap, ufiemap, sizeof(fiemap))) in ioctl_fiemap()
189 if (fiemap.fm_extent_count > FIEMAP_MAX_EXTENTS) in ioctl_fiemap()
192 error = fiemap_check_ranges(sb, fiemap.fm_start, fiemap.fm_length, in ioctl_fiemap()
197 fieinfo.fi_flags = fiemap.fm_flags; in ioctl_fiemap()
198 fieinfo.fi_extents_max = fiemap.fm_extent_count; in ioctl_fiemap()
201 if (fiemap.fm_extent_count != 0 && in ioctl_fiemap()
209 error = inode->i_op->fiemap(inode, &fieinfo, fiemap.fm_start, len); in ioctl_fiemap()
[all …]
/linux-4.1.27/Documentation/filesystems/
Dfiemap.txt5 The fiemap ioctl is an efficient method for userspace to get file
6 extent mappings. Instead of block-by-block mapping (such as bmap), fiemap
13 A fiemap request is encoded within struct fiemap:
15 struct fiemap {
42 fiemap interface to grow in the future but without losing
66 which userspace must allocate along with the fiemap structure. The
100 the file so that the process making fiemap calls can determine when no
177 File systems wishing to support fiemap must implement a ->fiemap callback on
178 their inode_operations structure. The fs ->fiemap call is responsible for
179 defining its set of supported fiemap flags, and calling a helper function on
[all …]
D00-INDEX66 fiemap.txt
67 - info on fiemap ioctl.
DLocking64 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len);
96 fiemap: no
/linux-4.1.27/drivers/staging/lustre/lustre/lov/
Dlov_obd.c1612 static u64 fiemap_calc_fm_end_offset(struct ll_user_fiemap *fiemap, in fiemap_calc_fm_end_offset() argument
1616 u64 local_end = fiemap->fm_extents[0].fe_logical; in fiemap_calc_fm_end_offset()
1621 if (fiemap->fm_extent_count == 0 || in fiemap_calc_fm_end_offset()
1622 fiemap->fm_extents[0].fe_logical == 0) in fiemap_calc_fm_end_offset()
1632 if (oinfo->loi_ost_idx == fiemap->fm_extents[0].fe_device) { in fiemap_calc_fm_end_offset()
1709 static void fiemap_prepare_and_copy_exts(struct ll_user_fiemap *fiemap, in fiemap_prepare_and_copy_exts() argument
1723 to = (char *)fiemap + fiemap_count_to_size(current_extent); in fiemap_prepare_and_copy_exts()
1736 struct ll_user_fiemap *fiemap = val; in lov_fiemap() local
1756 if (fiemap_count_to_size(fm_key->fiemap.fm_extent_count) < buffer_size) in lov_fiemap()
1757 buffer_size = fiemap_count_to_size(fm_key->fiemap.fm_extent_count); in lov_fiemap()
[all …]
/linux-4.1.27/drivers/staging/lustre/lustre/llite/
Dfile.c1677 static int ll_do_fiemap(struct inode *inode, struct ll_user_fiemap *fiemap, in ll_do_fiemap() argument
1687 if (fiemap->fm_flags & ~LUSTRE_FIEMAP_FLAGS_COMPAT) { in ll_do_fiemap()
1688 fiemap->fm_flags &= ~LUSTRE_FIEMAP_FLAGS_COMPAT; in ll_do_fiemap()
1693 if (fiemap->fm_flags & FIEMAP_FLAG_SYNC) { in ll_do_fiemap()
1707 !(fiemap->fm_flags & FIEMAP_FLAG_DEVICE_ORDER)) { in ll_do_fiemap()
1725 fiemap->fm_mapped_extents = 0; in ll_do_fiemap()
1730 memcpy(&fm_key.fiemap, fiemap, sizeof(*fiemap)); in ll_do_fiemap()
1733 fiemap, lsm); in ll_do_fiemap()
3060 struct ll_user_fiemap *fiemap; in ll_fiemap() local
3063 num_bytes = sizeof(*fiemap) + (extent_count * in ll_fiemap()
[all …]
/linux-4.1.27/include/uapi/linux/
Dfiemap.h27 struct fiemap { struct
Dfs.h167 #define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
DKbuild126 header-y += fiemap.h
/linux-4.1.27/fs/ocfs2/
Dsymlink.c99 .fiemap = ocfs2_fiemap,
Dfile.c2609 .fiemap = ocfs2_fiemap,
Dnamei.c2899 .fiemap = ocfs2_fiemap,
/linux-4.1.27/fs/ext3/
Dfile.c77 .fiemap = ext3_fiemap,
/linux-4.1.27/fs/ext2/
Dfile.c120 .fiemap = ext2_fiemap,
/linux-4.1.27/fs/nilfs2/
Dfile.c162 .fiemap = nilfs_fiemap,
Dnamei.c565 .fiemap = nilfs_fiemap,
/linux-4.1.27/drivers/staging/lustre/lustre/ptlrpc/
Dpack_generic.c1989 void lustre_swab_fiemap(struct ll_user_fiemap *fiemap) in lustre_swab_fiemap() argument
1993 __swab64s(&fiemap->fm_start); in lustre_swab_fiemap()
1994 __swab64s(&fiemap->fm_length); in lustre_swab_fiemap()
1995 __swab32s(&fiemap->fm_flags); in lustre_swab_fiemap()
1996 __swab32s(&fiemap->fm_mapped_extents); in lustre_swab_fiemap()
1997 __swab32s(&fiemap->fm_extent_count); in lustre_swab_fiemap()
1998 __swab32s(&fiemap->fm_reserved); in lustre_swab_fiemap()
2000 for (i = 0; i < fiemap->fm_mapped_extents; i++) in lustre_swab_fiemap()
2001 lustre_swab_fiemap_extent(&fiemap->fm_extents[i]); in lustre_swab_fiemap()
Dwiretest.c3753 LASSERTF((int)offsetof(struct ll_fiemap_info_key, fiemap) == 216, "found %lld\n", in lustre_assert_wire_constants()
3754 (long long)(int)offsetof(struct ll_fiemap_info_key, fiemap)); in lustre_assert_wire_constants()
3755 LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap) == 32, "found %lld\n", in lustre_assert_wire_constants()
3756 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap)); in lustre_assert_wire_constants()
/linux-4.1.27/drivers/staging/lustre/lustre/osc/
Dosc_request.c2800 if (!(fm_key->fiemap.fm_flags & FIEMAP_FLAG_SYNC)) in osc_get_info()
2803 policy.l_extent.start = fm_key->fiemap.fm_start & in osc_get_info()
2806 if (OBD_OBJECT_EOF - fm_key->fiemap.fm_length <= in osc_get_info()
2807 fm_key->fiemap.fm_start + PAGE_CACHE_SIZE - 1) in osc_get_info()
2810 policy.l_extent.end = (fm_key->fiemap.fm_start + in osc_get_info()
2811 fm_key->fiemap.fm_length + in osc_get_info()
/linux-4.1.27/fs/gfs2/
Dinode.c1932 .fiemap = gfs2_fiemap,
1954 .fiemap = gfs2_fiemap,
1971 .fiemap = gfs2_fiemap,
/linux-4.1.27/fs/ext4/
Dfile.c661 .fiemap = ext4_fiemap,
Dnamei.c3907 .fiemap = ext4_fiemap,
/linux-4.1.27/fs/f2fs/
Ddata.c1219 struct buffer_head *bh_result, int create, bool fiemap) in __get_data_block() argument
1249 if (dn.data_blkaddr == NEW_ADDR && !fiemap) in __get_data_block()
1285 if (dn.data_blkaddr == NEW_ADDR && !fiemap) in __get_data_block()
Dfile.c663 .fiemap = f2fs_fiemap,
/linux-4.1.27/drivers/staging/lustre/lustre/include/lustre/
Dlustre_idl.h3347 struct ll_user_fiemap fiemap; member
3352 extern void lustre_swab_fiemap(struct ll_user_fiemap *fiemap);
/linux-4.1.27/fs/xfs/
Dxfs_iops.c1116 .fiemap = xfs_vn_fiemap,
/linux-4.1.27/include/linux/
Dfs.h1650 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, member
/linux-4.1.27/fs/btrfs/
Dinode.c9955 .fiemap = btrfs_fiemap,