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: ext2 directory insertion; racing on inode create
[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..d94371d3e31df49db805a7b612414eb93cfe65c0 100644
(file)
--- a/
lunaix-os/kernel/fs/ext2/file.c
+++ b/
lunaix-os/kernel/fs/ext2/file.c
@@
-96,7
+96,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
+134,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))