git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix file system racing and ext2 directory insertion (#58)
[lunaix-os.git]
/
lunaix-os
/
kernel
/
fs
/
ext2
/
file.c
diff --git
a/lunaix-os/kernel/fs/ext2/file.c
b/lunaix-os/kernel/fs/ext2/file.c
index 0fe4d3d72fda26cfe7eb0e0fe616d1ff1c852935..bd14785d6391934fc1a8ebbd7bde4701b78ad874 100644
(file)
--- a/
lunaix-os/kernel/fs/ext2/file.c
+++ b/
lunaix-os/kernel/fs/ext2/file.c
@@
-12,7
+12,6
@@
ext2_open_inode(struct v_inode* inode, struct v_file* file)
struct ext2_file* e_file;
e_file = valloc(sizeof(*e_file));
struct ext2_file* e_file;
e_file = valloc(sizeof(*e_file));
- e_file->b_ino = EXT2_INO(inode);
file->data = e_file;
file->data = e_file;
@@
-96,7
+95,7
@@
ext2_inode_read(struct v_inode *inode,
blksz = e_sb->block_size;
end = fpos + len;
blksz = e_sb->block_size;
end = fpos + len;
- ext2db_itbegin(&iter, inode);
+ ext2db_itbegin(&iter, inode
, DBIT_MODE_ISIZE
);
ext2db_itffw(&iter, fpos / blksz);
while (fpos < end && ext2db_itnext(&iter)) {
ext2db_itffw(&iter, fpos / blksz);
while (fpos < end && ext2db_itnext(&iter)) {
@@
-134,7
+133,7
@@
ext2_inode_read_page(struct v_inode *inode, void *buffer, size_t fpos)
n = PAGE_SIZE / e_sb->block_size;
transfer_sz = MIN(PAGE_SIZE, e_sb->block_size);
n = PAGE_SIZE / e_sb->block_size;
transfer_sz = MIN(PAGE_SIZE, e_sb->block_size);
- ext2db_itbegin(&iter, inode);
+ ext2db_itbegin(&iter, inode
, DBIT_MODE_ISIZE
);
ext2db_itffw(&iter, blk_start);
while (n-- && ext2db_itnext(&iter))
ext2db_itffw(&iter, blk_start);
while (n-- && ext2db_itnext(&iter))