summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-10-11 11:44:12 +0200
committerJim Meyering <meyering@redhat.com>2011-01-22 12:16:43 +0100
commit58c342c39a10cbc9b3283382729ab9db6c971aec (patch)
tree73af164b5dedaac9589921be10d8ea48989e00b8
parent30535440c807cef9aaeac2277990c9782362c23c (diff)
downloadcoreutils-58c342c39a10cbc9b3283382729ab9db6c971aec.tar.gz
rename extent-scan functions to start with extent_scan_
-rw-r--r--src/copy.c12
-rw-r--r--src/extent-scan.c10
-rw-r--r--src/extent-scan.h22
3 files changed, 22 insertions, 22 deletions
diff --git a/src/copy.c b/src/copy.c
index b309a8643..30c1b564f 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -204,11 +204,11 @@ extent_copy (int src_fd, int dest_fd, size_t buf_size,
uint64_t last_ext_len = 0;
uint64_t last_read_size = 0;
- open_extent_scan (src_fd, &scan);
+ extent_scan_init (src_fd, &scan);
do
{
- bool ok = get_extents_info (&scan);
+ bool ok = extent_scan_read (&scan);
if (! ok)
{
if (scan.hit_final_extent)
@@ -216,7 +216,6 @@ extent_copy (int src_fd, int dest_fd, size_t buf_size,
if (scan.initial_scan_failed)
{
- close_extent_scan (&scan);
*require_normal_copy = true;
return false;
}
@@ -304,11 +303,10 @@ extent_copy (int src_fd, int dest_fd, size_t buf_size,
}
/* Release the space allocated to scan->ext_info. */
- free_extents_info (&scan);
- } while (! scan.hit_final_extent);
+ extent_scan_free (&scan);
- /* Do nothing now. */
- close_extent_scan (&scan);
+ }
+ while (! scan.hit_final_extent);
/* If a file ends up with holes, the sum of the last extent logical offset
and the read-returned size or the last extent length will be shorter than
diff --git a/src/extent-scan.c b/src/extent-scan.c
index b0345f5af..97bb792ac 100644
--- a/src/extent-scan.c
+++ b/src/extent-scan.c
@@ -32,9 +32,9 @@
#endif
/* Allocate space for struct extent_scan, initialize the entries if
- necessary and return it as the input argument of get_extents_info(). */
+ necessary and return it as the input argument of extent_scan_read(). */
extern void
-open_extent_scan (int src_fd, struct extent_scan *scan)
+extent_scan_init (int src_fd, struct extent_scan *scan)
{
scan->fd = src_fd;
scan->ei_count = 0;
@@ -50,14 +50,13 @@ open_extent_scan (int src_fd, struct extent_scan *scan)
/* Call ioctl(2) with FS_IOC_FIEMAP (available in linux 2.6.27) to
obtain a map of file extents excluding holes. */
extern bool
-get_extents_info (struct extent_scan *scan)
+extent_scan_read (struct extent_scan *scan)
{
union { struct fiemap f; char c[4096]; } fiemap_buf;
struct fiemap *fiemap = &fiemap_buf.f;
struct fiemap_extent *fm_extents = &fiemap->fm_extents[0];
enum { count = (sizeof fiemap_buf - sizeof *fiemap) / sizeof *fm_extents };
verify (count != 0);
- unsigned int i;
/* This is required at least to initialize fiemap->fm_start,
but also serves (in mid 2010) to appease valgrind, which
@@ -88,6 +87,7 @@ get_extents_info (struct extent_scan *scan)
scan->ei_count = fiemap->fm_mapped_extents;
scan->ext_info = xnmalloc (scan->ei_count, sizeof (struct extent_info));
+ unsigned int i;
for (i = 0; i < scan->ei_count; i++)
{
assert (fm_extents[i].fe_logical <= OFF_T_MAX);
@@ -109,5 +109,5 @@ get_extents_info (struct extent_scan *scan)
return true;
}
#else
-extern bool get_extents_info (ignored) { errno = ENOTSUP; return false; }
+extern bool extent_scan_read (ignored) { errno = ENOTSUP; return false; }
#endif
diff --git a/src/extent-scan.h b/src/extent-scan.h
index 0c9c199e3..3119c8df1 100644
--- a/src/extent-scan.h
+++ b/src/extent-scan.h
@@ -19,7 +19,7 @@
#ifndef EXTENT_SCAN_H
# define EXTENT_SCAN_H
-/* Structure used to reserve information of each extent. */
+/* Structure used to store information of each extent. */
struct extent_info
{
/* Logical offset of an extent. */
@@ -44,25 +44,27 @@ struct extent_scan
/* How many extent info returned for a scan. */
uint32_t ei_count;
- /* If true, fall back to a normal copy, either
- set by the failure of ioctl(2) for FIEMAP or
- lseek(2) with SEEK_DATA. */
+ /* If true, fall back to a normal copy, either set by the
+ failure of ioctl(2) for FIEMAP or lseek(2) with SEEK_DATA. */
bool initial_scan_failed;
- /* If ture, the total extent scan per file has been finished. */
+ /* If true, the total extent scan per file has been finished. */
bool hit_final_extent;
- /* Extent information. */
+ /* Extent information: a malloc'd array of ei_count structs. */
struct extent_info *ext_info;
};
void
-open_extent_scan (int src_fd, struct extent_scan *scan);
+extent_scan_init (int src_fd, struct extent_scan *scan);
bool
-get_extents_info (struct extent_scan *scan);
+extent_scan_read (struct extent_scan *scan);
-#define free_extents_info(ext_scan) free ((ext_scan)->ext_info)
-#define close_extent_scan(ext_scan) /* empty */
+static inline void
+extent_scan_free (struct extent_scan *scan)
+{
+ free (scan->ext_info);
+}
#endif /* EXTENT_SCAN_H */