patch-2.4.18 linux/fs/minix/dir.c
Next file: linux/fs/minix/inode.c
Previous file: linux/fs/minix/bitmap.c
Back to the patch index
Back to the overall index
- Lines: 46
- Date:
Tue Jan 22 23:04:46 2002
- Orig file:
linux.orig/fs/minix/dir.c
- Orig date:
Mon Feb 18 20:18:40 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/fs/minix/dir.c linux/fs/minix/dir.c
@@ -36,8 +36,13 @@
struct inode *dir = (struct inode *)page->mapping->host;
int err = 0;
page->mapping->a_ops->commit_write(NULL, page, from, to);
- if (IS_SYNC(dir))
- err = waitfor_one_page(page);
+ if (IS_SYNC(dir)) {
+ int err2;
+ err = writeout_one_page(page);
+ err2 = waitfor_one_page(page);
+ if (err == 0)
+ err = err2;
+ }
return err;
}
@@ -236,10 +241,10 @@
lock_page(page);
err = mapping->a_ops->prepare_write(NULL, page, from, to);
- if (err)
- BUG();
- de->inode = 0;
- err = dir_commit_chunk(page, from, to);
+ if (err == 0) {
+ de->inode = 0;
+ err = dir_commit_chunk(page, from, to);
+ }
UnlockPage(page);
dir_put_page(page);
inode->i_ctime = inode->i_mtime = CURRENT_TIME;
@@ -336,10 +341,10 @@
lock_page(page);
err = page->mapping->a_ops->prepare_write(NULL, page, from, to);
- if (err)
- BUG();
- de->inode = inode->i_ino;
- err = dir_commit_chunk(page, from, to);
+ if (err == 0) {
+ de->inode = inode->i_ino;
+ err = dir_commit_chunk(page, from, to);
+ }
UnlockPage(page);
dir_put_page(page);
dir->i_mtime = dir->i_ctime = CURRENT_TIME;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)