* [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open()
@ 2018-12-19 12:40 Gao Xiang
2018-12-19 12:40 ` [PATCH 2/2] erofs-utils: introduce blk_write and clean up related code Gao Xiang
2018-12-21 1:51 ` [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open() Li Guifu
0 siblings, 2 replies; 4+ messages in thread
From: Gao Xiang @ 2018-12-19 12:40 UTC (permalink / raw)
Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
---
erofs_io.c | 74 ++++++++++++++++++-------------------------------------------
mkfs_main.c | 11 ++++-----
2 files changed, 27 insertions(+), 58 deletions(-)
diff --git a/erofs_io.c b/erofs_io.c
index 57e283e..563ca3f 100644
--- a/erofs_io.c
+++ b/erofs_io.c
@@ -22,93 +22,61 @@
#define pr_fmt(fmt) "DEVICE IO: " FUNC_LINE_FMT fmt "\n"
#include "erofs_debug.h"
-static char *erofs_devname;
+static const char *erofs_devname;
static int erofs_devfd = -1;
static u64 erofs_devsz;
void dev_close(void)
{
close(erofs_devfd);
- free(erofs_devname);
erofs_devname = NULL;
erofs_devfd = -1;
erofs_devsz = 0;
}
-int dev_open(const char *devname)
+int dev_open(const char *dev)
{
- char *dev;
struct stat st;
- int fd;
- int ret;
-
- dev = strdup(devname);
- if (!dev)
- return -ENOMEM;
-again:
- fd = open(dev, O_RDWR);
- if (fd < 0 && errno != ENOENT) {
- erofs_err("Open device/file(%s) fail.", dev);
- free(dev);
- return -errno;
- }
+ int fd, ret;
+ fd = open(dev, O_RDWR | O_CREAT, 0644);
if (fd < 0) {
- fd = open(dev, O_RDWR | O_CREAT | O_NOCTTY,
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
- if (fd < 0) {
- if (errno != EEXIST) {
- erofs_err("Create image file(%s) fail.", dev);
- free(dev);
- return -errno;
- }
-
- erofs_dbg("Image file(%s) existed, it might be created by the other users.",
- dev);
- goto again;
-
- }
+ erofs_err("failed to open(%s).", dev);
+ return -errno;
}
ret = fstat(fd, &st);
if (ret) {
- erofs_err("Get stat of device/file(%s) fail.", dev);
+ erofs_err("failed to fstat(%s).", dev);
close(fd);
- free(dev);
return -errno;
}
- if (!S_ISBLK(st.st_mode) && !S_ISREG(st.st_mode)) {
- erofs_err("File (%s) type is wrong.", dev);
- close(fd);
- free(dev);
- return -EINVAL;
- }
-
- if (S_ISREG(st.st_mode)) {
+ switch(st.st_mode & S_IFMT) {
+ case S_IFBLK:
+ erofs_devsz = st.st_size;
+ break;
+ case S_IFREG:
ret = ftruncate(fd, 0);
if (ret) {
- erofs_err("Truncate file(%s) fail.", dev);
+ erofs_err("failed to ftruncate(%s).", dev);
close(fd);
- free(dev);
return -errno;
}
- }
-
- erofs_devname = dev;
- erofs_devfd = fd;
-
- if (S_ISBLK(st.st_mode)) {
- erofs_devsz = st.st_size;
- } else {
/* INT64_MAX is the limit of kernel vfs */
erofs_devsz = INT64_MAX;
+ break;
+ default:
+ erofs_err("bad file type (%s, %o).", dev, st.st_mode);
+ close(fd);
+ return -EINVAL;
}
+ erofs_devname = dev;
+ erofs_devfd = fd;
erofs_devsz = round_down(erofs_devsz, EROFS_BLKSIZE);
- erofs_info("Open device/file %s", erofs_devname);
-
+ erofs_info("successfully to open %s", dev);
return 0;
}
diff --git a/mkfs_main.c b/mkfs_main.c
index 17611f4..30b0a22 100644
--- a/mkfs_main.c
+++ b/mkfs_main.c
@@ -107,11 +107,6 @@ static void mkfs_parse_options_cfg(int argc, char *argv[])
erofs_compress_alg_init(erofs_cfg.c_alg_name);
mkfs_dump_config();
-
- if (dev_open(erofs_cfg.c_img_path) < 0) {
- erofs_err("dev_open is failed!!!");
- usage(argv[0]);
- }
}
void mkfs_update_erofs_header(u64 root_addr)
@@ -156,6 +151,12 @@ int main(int argc, char **argv)
mkfs_init_configure();
mkfs_parse_options_cfg(argc, argv);
+ err = dev_open(erofs_cfg.c_img_path);
+ if (err) {
+ usage(argv[0]);
+ return -1;
+ }
+
proot_node = mkfs_prepare_root_inode(erofs_cfg.c_src_path);
if (!proot_node)
goto exit;
--
2.14.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] erofs-utils: introduce blk_write and clean up related code
2018-12-19 12:40 [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open() Gao Xiang
@ 2018-12-19 12:40 ` Gao Xiang
2018-12-21 1:51 ` Li Guifu
2018-12-21 1:51 ` [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open() Li Guifu
1 sibling, 1 reply; 4+ messages in thread
From: Gao Xiang @ 2018-12-19 12:40 UTC (permalink / raw)
Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
---
erofs_cache.c | 3 +--
erofs_io.c | 7 -------
erofs_io.h | 8 ++++++--
mkfs_inode.c | 56 +++++++++++++++++++-------------------------------------
4 files changed, 26 insertions(+), 48 deletions(-)
diff --git a/erofs_cache.c b/erofs_cache.c
index cfecd7f..c8af3de 100644
--- a/erofs_cache.c
+++ b/erofs_cache.c
@@ -174,8 +174,7 @@ int erofs_flush_all_blocks(void)
pbuf += count;
}
- ret = dev_write(erofs_blk_buf,
- blknr_to_addr(blk->bb_blkaddr), EROFS_BLKSIZE);
+ ret = blk_write(erofs_blk_buf, blk->bb_blkaddr);
if (ret)
break;
}
diff --git a/erofs_io.c b/erofs_io.c
index 563ca3f..1b6087d 100644
--- a/erofs_io.c
+++ b/erofs_io.c
@@ -119,13 +119,6 @@ int dev_write(void *buf, u64 offset, size_t len)
return 0;
}
-int dev_write_block(void *buf, u32 blkaddr)
-{
- erofs_info("Write data to block %u", blkaddr);
-
- return dev_write(buf, blknr_to_addr(blkaddr), EROFS_BLKSIZE);
-}
-
int dev_fsync(void)
{
int ret;
diff --git a/erofs_io.h b/erofs_io.h
index b447062..caec141 100644
--- a/erofs_io.h
+++ b/erofs_io.h
@@ -10,15 +10,19 @@
#define __EROFS_IO_H
#include <sys/cdefs.h>
-#include "erofs_types.h"
+#include "mkfs_erofs.h"
int dev_open(const char *devname);
void dev_close(void);
int dev_write(void *buf, u64 offset, size_t len);
-int dev_write_block(void *buf, u32 blkaddr);
int dev_fsync(void);
u64 dev_length(void);
+static inline int blk_write(void *buf, u32 blkaddr)
+{
+ return dev_write(buf, blknr_to_addr(blkaddr), EROFS_BLKSIZE);
+}
+
#endif
diff --git a/mkfs_inode.c b/mkfs_inode.c
index db8e586..0985e77 100644
--- a/mkfs_inode.c
+++ b/mkfs_inode.c
@@ -389,17 +389,14 @@ static int mkfs_write_inode_dir(struct erofs_node_info *inode)
if (dentrys_size + EROFS_DIRENT_SIZE + len >
EROFS_BLKSIZE) {
- const u32 addr = inode->i_blkaddr + blk_cnt;
+ const u32 blkaddr = inode->i_blkaddr + blk_cnt;
write_dirents(pbuf, sum, start, pos);
- ret = dev_write(pbuf,
- blknr_to_addr(addr),
- EROFS_BLKSIZE);
+ ret = blk_write(pbuf, blkaddr);
if (ret < 0) {
- erofs_err(
- "dev_write inode[%s] error[%s]",
- inode->i_fullpath,
- strerror(errno));
+ erofs_err("blk_write(file %s, err %s)",
+ inode->i_fullpath,
+ strerror(errno));
return ret;
}
@@ -441,17 +438,14 @@ static int mkfs_write_inode_dir(struct erofs_node_info *inode)
len = strlen(d->i_name);
if (dentrys_size + EROFS_DIRENT_SIZE + len >
EROFS_BLKSIZE) {
- const u32 addr = inode->i_blkaddr + blk_cnt;
+ const u32 blkaddr = inode->i_blkaddr + blk_cnt;
write_dirents(pbuf, sum, start, pos);
- dev_write(pbuf,
- blknr_to_addr(addr),
- EROFS_BLKSIZE);
+ blk_write(pbuf, blkaddr);
if (ret < 0) {
- erofs_err(
- "dev_write inode[%s] error[%s]",
- inode->i_fullpath,
- strerror(errno));
+ erofs_err("blk_write(file %s, err %s)",
+ inode->i_fullpath,
+ strerror(errno));
return ret;
}
@@ -467,13 +461,12 @@ static int mkfs_write_inode_dir(struct erofs_node_info *inode)
/* write last page names */
if (start != pos) {
- const u32 addr = inode->i_blkaddr + blk_cnt;
+ const u32 blkaddr = inode->i_blkaddr + blk_cnt;
write_dirents(pbuf, sum, start, pos);
- ret = dev_write(pbuf, blknr_to_addr(addr),
- EROFS_BLKSIZE);
+ ret = blk_write(pbuf, blkaddr);
if (ret < 0) {
- erofs_err("dev_write inode[%s] error[%s]",
+ erofs_err("blk_write(file %s, err %s)",
inode->i_fullpath,
strerror(errno));
return ret;
@@ -524,8 +517,6 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
}
for (i = 0; i < page_cnt; i++) {
- u32 addr;
-
ret = read(fd, pbuf, EROFS_BLKSIZE);
if (ret < 0) {
erofs_err("read inode[%s] error[%s]",
@@ -534,12 +525,9 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
return -errno;
}
- addr = inode->i_blkaddr + i;
-
- ret = dev_write(pbuf, blknr_to_addr(addr),
- EROFS_BLKSIZE);
+ ret = blk_write(pbuf, inode->i_blkaddr + i);
if (ret < 0) {
- erofs_err("dev_write inode[%s] ret[%d]",
+ erofs_err("blk_write inode[%s] ret[%d]",
filepath,
ret);
return ret;
@@ -575,8 +563,6 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
}
for (i = 0; i < nblocks; i++) {
- u32 addr;
-
ret = read(fd, pbuf, EROFS_BLKSIZE);
if (ret < 0) {
erofs_err("read inode[%s] error[%s]",
@@ -584,13 +570,10 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
strerror(errno));
exit(EXIT_FAILURE);
}
- addr = inode->i_blkaddr + i;
- ret = dev_write(pbuf,
- blknr_to_addr(addr),
- EROFS_BLKSIZE);
+ ret = blk_write(pbuf, inode->i_blkaddr + i);
if (ret < 0) {
- erofs_err("dev_write inode[%s] ret[%d]",
+ erofs_err("blk_write inode[%s] ret[%d]",
filepath,
ret);
return ret;
@@ -657,10 +640,9 @@ static int mkfs_write_inode_symfile(struct erofs_node_info *inode)
return -errno;
}
- ret = dev_write(pbuf, blknr_to_addr(inode->i_blkaddr),
- EROFS_BLKSIZE);
+ ret = blk_write(pbuf, inode->i_blkaddr);
if (ret < 0) {
- erofs_err("dev_write inode[%s] error[%s]",
+ erofs_err("blk_write inode[%s] error[%s]",
inode->i_fullpath,
strerror(errno));
return ret;
--
2.14.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open()
2018-12-19 12:40 [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open() Gao Xiang
2018-12-19 12:40 ` [PATCH 2/2] erofs-utils: introduce blk_write and clean up related code Gao Xiang
@ 2018-12-21 1:51 ` Li Guifu
1 sibling, 0 replies; 4+ messages in thread
From: Li Guifu @ 2018-12-21 1:51 UTC (permalink / raw)
On 2018/12/19 20:40, Gao Xiang wrote:
> Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
> ---
> erofs_io.c | 74 ++++++++++++++++++-------------------------------------------
> mkfs_main.c | 11 ++++-----
> 2 files changed, 27 insertions(+), 58 deletions(-)
>
> diff --git a/erofs_io.c b/erofs_io.c
> index 57e283e..563ca3f 100644
> --- a/erofs_io.c
> +++ b/erofs_io.c
> @@ -22,93 +22,61 @@
> #define pr_fmt(fmt) "DEVICE IO: " FUNC_LINE_FMT fmt "\n"
> #include "erofs_debug.h"
>
> -static char *erofs_devname;
> +static const char *erofs_devname;
> static int erofs_devfd = -1;
> static u64 erofs_devsz;
>
> void dev_close(void)
> {
> close(erofs_devfd);
> - free(erofs_devname);
> erofs_devname = NULL;
> erofs_devfd = -1;
> erofs_devsz = 0;
> }
>
> -int dev_open(const char *devname)
> +int dev_open(const char *dev)
> {
> - char *dev;
> struct stat st;
> - int fd;
> - int ret;
> -
> - dev = strdup(devname);
> - if (!dev)
> - return -ENOMEM;
> -again:
> - fd = open(dev, O_RDWR);
> - if (fd < 0 && errno != ENOENT) {
> - erofs_err("Open device/file(%s) fail.", dev);
> - free(dev);
> - return -errno;
> - }
> + int fd, ret;
>
> + fd = open(dev, O_RDWR | O_CREAT, 0644);
> if (fd < 0) {
> - fd = open(dev, O_RDWR | O_CREAT | O_NOCTTY,
> - S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
> - if (fd < 0) {
> - if (errno != EEXIST) {
> - erofs_err("Create image file(%s) fail.", dev);
> - free(dev);
> - return -errno;
> - }
> -
> - erofs_dbg("Image file(%s) existed, it might be created by the other users.",
> - dev);
> - goto again;
> -
> - }
> + erofs_err("failed to open(%s).", dev);
> + return -errno;
> }
>
> ret = fstat(fd, &st);
> if (ret) {
> - erofs_err("Get stat of device/file(%s) fail.", dev);
> + erofs_err("failed to fstat(%s).", dev);
> close(fd);
> - free(dev);
> return -errno;
> }
>
> - if (!S_ISBLK(st.st_mode) && !S_ISREG(st.st_mode)) {
> - erofs_err("File (%s) type is wrong.", dev);
> - close(fd);
> - free(dev);
> - return -EINVAL;
> - }
> -
> - if (S_ISREG(st.st_mode)) {
> + switch(st.st_mode & S_IFMT) {
> + case S_IFBLK:
> + erofs_devsz = st.st_size;
> + break;
> + case S_IFREG:
> ret = ftruncate(fd, 0);
> if (ret) {
> - erofs_err("Truncate file(%s) fail.", dev);
> + erofs_err("failed to ftruncate(%s).", dev);
> close(fd);
> - free(dev);
> return -errno;
> }
> - }
> -
> - erofs_devname = dev;
> - erofs_devfd = fd;
> -
> - if (S_ISBLK(st.st_mode)) {
> - erofs_devsz = st.st_size;
> - } else {
> /* INT64_MAX is the limit of kernel vfs */
> erofs_devsz = INT64_MAX;
> + break;
> + default:
> + erofs_err("bad file type (%s, %o).", dev, st.st_mode);
> + close(fd);
> + return -EINVAL;
> }
>
> + erofs_devname = dev;
> + erofs_devfd = fd;
> erofs_devsz = round_down(erofs_devsz, EROFS_BLKSIZE);
>
> - erofs_info("Open device/file %s", erofs_devname);
> -
> + erofs_info("successfully to open %s", dev);
> return 0;
> }
>
> diff --git a/mkfs_main.c b/mkfs_main.c
> index 17611f4..30b0a22 100644
> --- a/mkfs_main.c
> +++ b/mkfs_main.c
> @@ -107,11 +107,6 @@ static void mkfs_parse_options_cfg(int argc, char *argv[])
> erofs_compress_alg_init(erofs_cfg.c_alg_name);
>
> mkfs_dump_config();
> -
> - if (dev_open(erofs_cfg.c_img_path) < 0) {
> - erofs_err("dev_open is failed!!!");
> - usage(argv[0]);
> - }
> }
>
> void mkfs_update_erofs_header(u64 root_addr)
> @@ -156,6 +151,12 @@ int main(int argc, char **argv)
> mkfs_init_configure();
> mkfs_parse_options_cfg(argc, argv);
>
> + err = dev_open(erofs_cfg.c_img_path);
> + if (err) {
> + usage(argv[0]);
> + return -1;
> + }
> +
> proot_node = mkfs_prepare_root_inode(erofs_cfg.c_src_path);
> if (!proot_node)
> goto exit;
Reviewed-by: Li Guifu <bluce.liguifu at huawei.com>
Thanks,
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] erofs-utils: introduce blk_write and clean up related code
2018-12-19 12:40 ` [PATCH 2/2] erofs-utils: introduce blk_write and clean up related code Gao Xiang
@ 2018-12-21 1:51 ` Li Guifu
0 siblings, 0 replies; 4+ messages in thread
From: Li Guifu @ 2018-12-21 1:51 UTC (permalink / raw)
On 2018/12/19 20:40, Gao Xiang wrote:
> Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
> ---
> erofs_cache.c | 3 +--
> erofs_io.c | 7 -------
> erofs_io.h | 8 ++++++--
> mkfs_inode.c | 56 +++++++++++++++++++-------------------------------------
> 4 files changed, 26 insertions(+), 48 deletions(-)
>
> diff --git a/erofs_cache.c b/erofs_cache.c
> index cfecd7f..c8af3de 100644
> --- a/erofs_cache.c
> +++ b/erofs_cache.c
> @@ -174,8 +174,7 @@ int erofs_flush_all_blocks(void)
> pbuf += count;
> }
>
> - ret = dev_write(erofs_blk_buf,
> - blknr_to_addr(blk->bb_blkaddr), EROFS_BLKSIZE);
> + ret = blk_write(erofs_blk_buf, blk->bb_blkaddr);
> if (ret)
> break;
> }
> diff --git a/erofs_io.c b/erofs_io.c
> index 563ca3f..1b6087d 100644
> --- a/erofs_io.c
> +++ b/erofs_io.c
> @@ -119,13 +119,6 @@ int dev_write(void *buf, u64 offset, size_t len)
> return 0;
> }
>
> -int dev_write_block(void *buf, u32 blkaddr)
> -{
> - erofs_info("Write data to block %u", blkaddr);
> -
> - return dev_write(buf, blknr_to_addr(blkaddr), EROFS_BLKSIZE);
> -}
> -
> int dev_fsync(void)
> {
> int ret;
> diff --git a/erofs_io.h b/erofs_io.h
> index b447062..caec141 100644
> --- a/erofs_io.h
> +++ b/erofs_io.h
> @@ -10,15 +10,19 @@
> #define __EROFS_IO_H
>
> #include <sys/cdefs.h>
> -#include "erofs_types.h"
> +#include "mkfs_erofs.h"
>
> int dev_open(const char *devname);
> void dev_close(void);
> int dev_write(void *buf, u64 offset, size_t len);
> -int dev_write_block(void *buf, u32 blkaddr);
> int dev_fsync(void);
> u64 dev_length(void);
>
> +static inline int blk_write(void *buf, u32 blkaddr)
> +{
> + return dev_write(buf, blknr_to_addr(blkaddr), EROFS_BLKSIZE);
> +}
> +
> #endif
>
>
> diff --git a/mkfs_inode.c b/mkfs_inode.c
> index db8e586..0985e77 100644
> --- a/mkfs_inode.c
> +++ b/mkfs_inode.c
> @@ -389,17 +389,14 @@ static int mkfs_write_inode_dir(struct erofs_node_info *inode)
>
> if (dentrys_size + EROFS_DIRENT_SIZE + len >
> EROFS_BLKSIZE) {
> - const u32 addr = inode->i_blkaddr + blk_cnt;
> + const u32 blkaddr = inode->i_blkaddr + blk_cnt;
>
> write_dirents(pbuf, sum, start, pos);
> - ret = dev_write(pbuf,
> - blknr_to_addr(addr),
> - EROFS_BLKSIZE);
> + ret = blk_write(pbuf, blkaddr);
> if (ret < 0) {
> - erofs_err(
> - "dev_write inode[%s] error[%s]",
> - inode->i_fullpath,
> - strerror(errno));
> + erofs_err("blk_write(file %s, err %s)",
> + inode->i_fullpath,
> + strerror(errno));
> return ret;
> }
>
> @@ -441,17 +438,14 @@ static int mkfs_write_inode_dir(struct erofs_node_info *inode)
> len = strlen(d->i_name);
> if (dentrys_size + EROFS_DIRENT_SIZE + len >
> EROFS_BLKSIZE) {
> - const u32 addr = inode->i_blkaddr + blk_cnt;
> + const u32 blkaddr = inode->i_blkaddr + blk_cnt;
>
> write_dirents(pbuf, sum, start, pos);
> - dev_write(pbuf,
> - blknr_to_addr(addr),
> - EROFS_BLKSIZE);
> + blk_write(pbuf, blkaddr);
> if (ret < 0) {
> - erofs_err(
> - "dev_write inode[%s] error[%s]",
> - inode->i_fullpath,
> - strerror(errno));
> + erofs_err("blk_write(file %s, err %s)",
> + inode->i_fullpath,
> + strerror(errno));
> return ret;
> }
>
> @@ -467,13 +461,12 @@ static int mkfs_write_inode_dir(struct erofs_node_info *inode)
>
> /* write last page names */
> if (start != pos) {
> - const u32 addr = inode->i_blkaddr + blk_cnt;
> + const u32 blkaddr = inode->i_blkaddr + blk_cnt;
>
> write_dirents(pbuf, sum, start, pos);
> - ret = dev_write(pbuf, blknr_to_addr(addr),
> - EROFS_BLKSIZE);
> + ret = blk_write(pbuf, blkaddr);
> if (ret < 0) {
> - erofs_err("dev_write inode[%s] error[%s]",
> + erofs_err("blk_write(file %s, err %s)",
> inode->i_fullpath,
> strerror(errno));
> return ret;
> @@ -524,8 +517,6 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
> }
>
> for (i = 0; i < page_cnt; i++) {
> - u32 addr;
> -
> ret = read(fd, pbuf, EROFS_BLKSIZE);
> if (ret < 0) {
> erofs_err("read inode[%s] error[%s]",
> @@ -534,12 +525,9 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
> return -errno;
> }
>
> - addr = inode->i_blkaddr + i;
> -
> - ret = dev_write(pbuf, blknr_to_addr(addr),
> - EROFS_BLKSIZE);
> + ret = blk_write(pbuf, inode->i_blkaddr + i);
> if (ret < 0) {
> - erofs_err("dev_write inode[%s] ret[%d]",
> + erofs_err("blk_write inode[%s] ret[%d]",
> filepath,
> ret);
> return ret;
> @@ -575,8 +563,6 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
> }
>
> for (i = 0; i < nblocks; i++) {
> - u32 addr;
> -
> ret = read(fd, pbuf, EROFS_BLKSIZE);
> if (ret < 0) {
> erofs_err("read inode[%s] error[%s]",
> @@ -584,13 +570,10 @@ static int mkfs_write_inode_regfile(struct erofs_node_info *inode)
> strerror(errno));
> exit(EXIT_FAILURE);
> }
> - addr = inode->i_blkaddr + i;
>
> - ret = dev_write(pbuf,
> - blknr_to_addr(addr),
> - EROFS_BLKSIZE);
> + ret = blk_write(pbuf, inode->i_blkaddr + i);
> if (ret < 0) {
> - erofs_err("dev_write inode[%s] ret[%d]",
> + erofs_err("blk_write inode[%s] ret[%d]",
> filepath,
> ret);
> return ret;
> @@ -657,10 +640,9 @@ static int mkfs_write_inode_symfile(struct erofs_node_info *inode)
> return -errno;
> }
>
> - ret = dev_write(pbuf, blknr_to_addr(inode->i_blkaddr),
> - EROFS_BLKSIZE);
> + ret = blk_write(pbuf, inode->i_blkaddr);
> if (ret < 0) {
> - erofs_err("dev_write inode[%s] error[%s]",
> + erofs_err("blk_write inode[%s] error[%s]",
> inode->i_fullpath,
> strerror(errno));
> return ret;
Reviewed-by: Li Guifu <bluce.liguifu at huawei.com>
Thanks,
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-12-21 1:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-19 12:40 [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open() Gao Xiang
2018-12-19 12:40 ` [PATCH 2/2] erofs-utils: introduce blk_write and clean up related code Gao Xiang
2018-12-21 1:51 ` Li Guifu
2018-12-21 1:51 ` [PATCH 1/2] erofs-utils: erofs_io.c: clean up dev_open() Li Guifu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).