d->max = entry_cnt;
d->nr_bitmap = bitmap_size;
- d->bitmap = src;
- d->dentry = src + bitmap_size + reserved_size;
- d->filename = src + bitmap_size + reserved_size +
- SIZE_OF_DIR_ENTRY * entry_cnt;
+ d->bitmap = (u8 *)src;
+ d->dentry = (struct f2fs_dir_entry *)
+ ((char *)src + bitmap_size + reserved_size);
+ d->filename = (__u8 (*)[F2FS_SLOT_LEN])((char *)src +
+ bitmap_size + reserved_size +
+ SIZE_OF_DIR_ENTRY * entry_cnt);
}
}
if (max_slots)
*max_slots = 0;
- while (bit_pos < d->max) {
+ while (bit_pos < (unsigned long)d->max) {
if (!test_bit_le(bit_pos, d->bitmap)) {
bit_pos++;
max_len++;
unsigned int nbucket, nblock;
unsigned int bidx, end_block;
struct f2fs_dir_entry *dentry = NULL;
- struct dnode_of_data dn = {0};
+ struct dnode_of_data dn;
void *dentry_blk;
int max_slots = 214;
nid_t ino = le32_to_cpu(dir->footer.ino);
dentry_blk = calloc(BLOCK_SZ, 1);
ASSERT(dentry_blk);
+ memset(&dn, 0, sizeof(dn));
for (; bidx < end_block; bidx++) {
/* Firstly, we should know direct node of target data blk */
f2fs_hash_t dentry_hash = f2fs_dentry_hash(name, name_len);
struct f2fs_dentry_block *dentry_blk;
struct f2fs_dentry_ptr d;
- struct dnode_of_data dn = {0};
+ struct dnode_of_data dn;
nid_t pino = le32_to_cpu(parent->footer.ino);
unsigned int dir_level = parent->i.i_dir_level;
int ret;
nblock = bucket_blocks(level);
bidx = dir_block_index(level, dir_level, le32_to_cpu(dentry_hash) % nbucket);
+ memset(&dn, 0, sizeof(dn));
for (block = bidx; block <= (bidx + nblock - 1); block++) {
/* Firstly, we should know the direct node of target data blk */
dn.idirty = 1;
}
- if ((block + 1) * F2FS_BLKSIZE > le64_to_cpu(parent->i.i_size)) {
+ if ((__u64)((block + 1) * F2FS_BLKSIZE) >
+ le64_to_cpu(parent->i.i_size)) {
parent->i.i_size = cpu_to_le64((block + 1) * F2FS_BLKSIZE);
dn.idirty = 1;
}
get_node_info(sbi, ino, &ni);
/* store into inline_data */
- if (symlen + 1 <= MAX_INLINE_DATA(inode)) {
+ if ((unsigned long)(symlen + 1) <= MAX_INLINE_DATA(inode)) {
inode->i.i_inline |= F2FS_INLINE_DATA;
inode->i.i_inline |= F2FS_DATA_EXIST;
memcpy(inline_data_addr(inode), symname, symlen);
unsigned int dir_level = node->i.i_dir_level;
nid_t ino = le32_to_cpu(node->footer.ino);
char inline_data[MAX_INLINE_DATA(node)];
- struct dnode_of_data dn = {0};
+ struct dnode_of_data dn;
struct f2fs_dentry_ptr d;
unsigned long bit_pos = 0;
int ret = 0;
ret = dev_write_block(node, p_blkaddr);
ASSERT(ret >= 0);
+ memset(&dn, 0, sizeof(dn));
if (!dir_level) {
struct f2fs_dentry_block *dentry_blk;
struct f2fs_dentry_ptr src, dst;
make_empty_dir(sbi, node);
make_dentry_ptr(&d, node, (void *)inline_data, 2);
- while (bit_pos < d.max) {
+ while (bit_pos < (unsigned long)d.max) {
struct f2fs_dir_entry *de;
const unsigned char *filename;
int namelen;
struct dnode_of_data *, unsigned int);
/* segment.c */
-u64 f2fs_read(struct f2fs_sb_info *, nid_t, void *, u64, pgoff_t);
-u64 f2fs_write(struct f2fs_sb_info *, nid_t, void *, u64, pgoff_t);
+u64 f2fs_read(struct f2fs_sb_info *, nid_t, u8 *, u64, pgoff_t);
+u64 f2fs_write(struct f2fs_sb_info *, nid_t, u8 *, u64, pgoff_t);
void f2fs_filesize_update(struct f2fs_sb_info *, nid_t, u64);
void get_dnode_of_data(struct f2fs_sb_info *, struct dnode_of_data *,
{
struct f2fs_summary sum;
struct node_info ni;
- int blkaddr = datablock_addr(dn->node_blk, dn->ofs_in_node);
+ unsigned int blkaddr = datablock_addr(dn->node_blk, dn->ofs_in_node);
ASSERT(dn->node_blk);
memset(block, 0, BLOCK_SZ);
set_data_blkaddr(dn);
}
-u64 f2fs_read(struct f2fs_sb_info *sbi, nid_t ino, void *buffer,
+u64 f2fs_read(struct f2fs_sb_info *sbi, nid_t ino, u8 *buffer,
u64 count, pgoff_t offset)
{
struct dnode_of_data dn;
return read_count;
}
-u64 f2fs_write(struct f2fs_sb_info *sbi, nid_t ino, void *buffer,
+u64 f2fs_write(struct f2fs_sb_info *sbi, nid_t ino, u8 *buffer,
u64 count, pgoff_t offset)
{
struct dnode_of_data dn;
{
int fd, n;
pgoff_t off = 0;
- char buffer[BLOCK_SZ];
+ u8 buffer[BLOCK_SZ];
if (de->ino == 0)
return -1;
cpu_to_le16(F2FS_TOTAL_EXTRA_ATTR_SIZE);
}
n = read(fd, buffer, BLOCK_SZ);
- ASSERT(n == de->size);
+ ASSERT((unsigned long)n == de->size);
memcpy(inline_data_addr(node_blk), buffer, de->size);
node_blk->i.i_size = cpu_to_le64(de->size);
write_inode(ni.blk_addr, node_blk);