OpenVZ Forum


Home » Mailing lists » Devel » Re: [PATCH] ext3: dirindex error pointer issues (b)
Re: [PATCH] ext3: dirindex error pointer issues (b) [message #11015] Mon, 12 March 2007 07:20
Dmitriy Monakhov is currently offline  Dmitriy Monakhov
Messages: 52
Registered: October 2006
Member
Dmitriy Monakhov <dmonakhov@sw.ru> writes:

> - ext3_dx_find_entry() exit with out setting proper error pointer
> - do_split() exit with out setting proper error pointer
> it is realy painful because many callers contain folowing code:
> de = do_split(handle,dir, &bh, frame, &hinfo, &retval);
> if (!(de))
> return retval;
> <<< WOW retval wasn't changed by do_split(), so caller failed
> <<< but return SUCCESS :)
> - Rearrange do_split() error path. Current error path is realy ugly, all
> this up and down jump stuff doesn't make code easy to understand.
Ohh my first patch change error message semantics in do_split(). Initially when
ext3_append() failed we just exit without printing error. In fact ext3_append()
may fail, it is legal and it's happens qite often (ENOSPC for example). This
cause annoying fake error message. So restore this semantic as it was before
patch.
Andrew please apply incremental patch what fix it:

Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>

diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c
index 1a52586..7edb617 100644
--- a/fs/ext3/namei.c
+++ b/fs/ext3/namei.c
@@ -1197,8 +1197,8 @@ journal_error:
brelse(*bh);
brelse(bh2);
*bh = NULL;
-errout:
ext3_std_error(dir->i_sb, err);
+errout:
*error = err;
return NULL;
}
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index f0a6c26..02a75db 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -1195,8 +1195,8 @@ journal_error:
brelse(*bh);
brelse(bh2);
*bh = NULL;
-errout:
ext4_std_error(dir->i_sb, err);
+errout:
*error = err;
return NULL;
}
Previous Topic: [RFC][PATCH 1/6] Add struct pid_nr
Next Topic: [PATCH 2/2] mm: incorrect direct io error handling (v6)
Goto Forum:
  


Current Time: Thu Jul 31 21:21:15 GMT 2025

Total time taken to generate the page: 0.79175 seconds