/linux-4.4.14/fs/ |
D | ioctl.c | 175 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.4.14/Documentation/filesystems/ |
D | fiemap.txt | 5 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 …]
|
D | 00-INDEX | 66 fiemap.txt 67 - info on fiemap ioctl.
|
D | Locking | 64 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); 96 fiemap: no
|
/linux-4.4.14/drivers/staging/lustre/lustre/lov/ |
D | lov_obd.c | 1594 static u64 fiemap_calc_fm_end_offset(struct ll_user_fiemap *fiemap, in fiemap_calc_fm_end_offset() argument 1598 u64 local_end = fiemap->fm_extents[0].fe_logical; in fiemap_calc_fm_end_offset() 1603 if (fiemap->fm_extent_count == 0 || in fiemap_calc_fm_end_offset() 1604 fiemap->fm_extents[0].fe_logical == 0) in fiemap_calc_fm_end_offset() 1614 if (oinfo->loi_ost_idx == fiemap->fm_extents[0].fe_device) { in fiemap_calc_fm_end_offset() 1691 static void fiemap_prepare_and_copy_exts(struct ll_user_fiemap *fiemap, in fiemap_prepare_and_copy_exts() argument 1705 to = (char *)fiemap + fiemap_count_to_size(current_extent); in fiemap_prepare_and_copy_exts() 1718 struct ll_user_fiemap *fiemap = val; in lov_fiemap() local 1738 if (fiemap_count_to_size(fm_key->fiemap.fm_extent_count) < buffer_size) in lov_fiemap() 1739 buffer_size = fiemap_count_to_size(fm_key->fiemap.fm_extent_count); in lov_fiemap() [all …]
|
/linux-4.4.14/drivers/staging/lustre/lustre/llite/ |
D | file.c | 1668 static int ll_do_fiemap(struct inode *inode, struct ll_user_fiemap *fiemap, in ll_do_fiemap() argument 1678 if (fiemap->fm_flags & ~LUSTRE_FIEMAP_FLAGS_COMPAT) { in ll_do_fiemap() 1679 fiemap->fm_flags &= ~LUSTRE_FIEMAP_FLAGS_COMPAT; in ll_do_fiemap() 1684 if (fiemap->fm_flags & FIEMAP_FLAG_SYNC) { in ll_do_fiemap() 1698 !(fiemap->fm_flags & FIEMAP_FLAG_DEVICE_ORDER)) { in ll_do_fiemap() 1716 fiemap->fm_mapped_extents = 0; in ll_do_fiemap() 1721 memcpy(&fm_key.fiemap, fiemap, sizeof(*fiemap)); in ll_do_fiemap() 1724 fiemap, lsm); in ll_do_fiemap() 3022 struct ll_user_fiemap *fiemap; in ll_fiemap() local 3025 num_bytes = sizeof(*fiemap) + (extent_count * in ll_fiemap() [all …]
|
/linux-4.4.14/include/uapi/linux/ |
D | fiemap.h | 27 struct fiemap { struct
|
D | fs.h | 167 #define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
|
D | Kbuild | 126 header-y += fiemap.h
|
/linux-4.4.14/fs/ocfs2/ |
D | symlink.c | 99 .fiemap = ocfs2_fiemap,
|
D | file.c | 2594 .fiemap = ocfs2_fiemap,
|
D | namei.c | 2920 .fiemap = ocfs2_fiemap,
|
/linux-4.4.14/fs/nilfs2/ |
D | file.c | 162 .fiemap = nilfs_fiemap,
|
D | namei.c | 561 .fiemap = nilfs_fiemap,
|
/linux-4.4.14/drivers/staging/lustre/lustre/ptlrpc/ |
D | pack_generic.c | 1835 void lustre_swab_fiemap(struct ll_user_fiemap *fiemap) in lustre_swab_fiemap() argument 1839 __swab64s(&fiemap->fm_start); in lustre_swab_fiemap() 1840 __swab64s(&fiemap->fm_length); in lustre_swab_fiemap() 1841 __swab32s(&fiemap->fm_flags); in lustre_swab_fiemap() 1842 __swab32s(&fiemap->fm_mapped_extents); in lustre_swab_fiemap() 1843 __swab32s(&fiemap->fm_extent_count); in lustre_swab_fiemap() 1844 __swab32s(&fiemap->fm_reserved); in lustre_swab_fiemap() 1846 for (i = 0; i < fiemap->fm_mapped_extents; i++) in lustre_swab_fiemap() 1847 lustre_swab_fiemap_extent(&fiemap->fm_extents[i]); in lustre_swab_fiemap()
|
D | wiretest.c | 3751 LASSERTF((int)offsetof(struct ll_fiemap_info_key, fiemap) == 216, "found %lld\n", in lustre_assert_wire_constants() 3752 (long long)(int)offsetof(struct ll_fiemap_info_key, fiemap)); in lustre_assert_wire_constants() 3753 LASSERTF((int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap) == 32, "found %lld\n", in lustre_assert_wire_constants() 3754 (long long)(int)sizeof(((struct ll_fiemap_info_key *)0)->fiemap)); in lustre_assert_wire_constants()
|
/linux-4.4.14/fs/ext2/ |
D | file.c | 204 .fiemap = ext2_fiemap,
|
/linux-4.4.14/drivers/staging/lustre/lustre/osc/ |
D | osc_request.c | 2743 if (!(fm_key->fiemap.fm_flags & FIEMAP_FLAG_SYNC)) in osc_get_info() 2746 policy.l_extent.start = fm_key->fiemap.fm_start & in osc_get_info() 2749 if (OBD_OBJECT_EOF - fm_key->fiemap.fm_length <= in osc_get_info() 2750 fm_key->fiemap.fm_start + PAGE_CACHE_SIZE - 1) in osc_get_info() 2753 policy.l_extent.end = (fm_key->fiemap.fm_start + in osc_get_info() 2754 fm_key->fiemap.fm_length + in osc_get_info()
|
/linux-4.4.14/fs/gfs2/ |
D | inode.c | 2105 .fiemap = gfs2_fiemap, 2127 .fiemap = gfs2_fiemap, 2144 .fiemap = gfs2_fiemap,
|
/linux-4.4.14/fs/ext4/ |
D | file.c | 770 .fiemap = ext4_fiemap,
|
D | namei.c | 3852 .fiemap = ext4_fiemap,
|
/linux-4.4.14/drivers/staging/lustre/lustre/include/lustre/ |
D | lustre_idl.h | 3324 struct ll_user_fiemap fiemap; member 3329 void lustre_swab_fiemap(struct ll_user_fiemap *fiemap);
|
/linux-4.4.14/fs/xfs/ |
D | xfs_iops.c | 1113 .fiemap = xfs_vn_fiemap,
|
/linux-4.4.14/fs/f2fs/ |
D | file.c | 718 .fiemap = f2fs_fiemap,
|
/linux-4.4.14/include/linux/ |
D | fs.h | 1670 int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, member
|
/linux-4.4.14/fs/btrfs/ |
D | inode.c | 10105 .fiemap = btrfs_fiemap,
|