Re: [PATCH] (was: [OOPS] dquot_transfer() - 2.4.0-test8)

2000-09-14 Thread Jan Kara

> 
> On Mon, 11 Sep 2000, Martin Diehl wrote:
> 
> > transfer_to[cnt] is initialized to NODQUOT from the first loop
> > (due to several continue's e.g.) when entering the second loop.
> > Unfortunately I do not feel familiar enough to the quota code to
> > provide a patch for this problem.
> 
> well, was a little bit to pessimistic. After some look at the code
> I'm pretty sure the obvious check will solve it - succesfully tested
> on local UP box.
> Somebody with better knowledge of the logic behind dquot_transfer()
> should check please, whether any special treatment is needed.
  Yes. Your patch seems right. (I'm wearing paper bag on my head for
submitting such buggy patch :(). Sorry.

Honza

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] (was: [OOPS] dquot_transfer() - 2.4.0-test8)

2000-09-11 Thread Marc Duponcheel

Hi Martin

> well, was a little bit to pessimistic. After some look at the code
> I'm pretty sure the obvious check will solve it - succesfully tested
> on local UP box.

FYI: your patch made my 2 (quota enabled) boxes happy
(they did not boot 2.4.0-test8 to completion)

Thanks!

-- Marc Duponcheel.
[work] [EMAIL PROTECTED]
[home] [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] (was: [OOPS] dquot_transfer() - 2.4.0-test8)

2000-09-10 Thread Martin Diehl


On Mon, 11 Sep 2000, Martin Diehl wrote:

> transfer_to[cnt] is initialized to NODQUOT from the first loop
> (due to several continue's e.g.) when entering the second loop.
> Unfortunately I do not feel familiar enough to the quota code to
> provide a patch for this problem.

well, was a little bit to pessimistic. After some look at the code
I'm pretty sure the obvious check will solve it - succesfully tested
on local UP box.
Somebody with better knowledge of the logic behind dquot_transfer()
should check please, whether any special treatment is needed.

Martin

--- linux-2.4.0-test8/fs/dquot.c.orig   Mon Sep 11 01:42:56 2000
+++ linux-2.4.0-test8/fs/dquot.cMon Sep 11 02:12:04 2000
@@ -1285,12 +1285,15 @@
blocks = isize_to_blocks(inode->i_size, BLOCK_SIZE_BITS);
else
blocks = (inode->i_blocks >> 1);
-   for (cnt = 0; cnt < MAXQUOTAS; cnt++)
+   for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
+   if (transfer_to[cnt] == NODQUOT)
+   continue;
if (check_idq(transfer_to[cnt], 1) == NO_QUOTA ||
check_bdq(transfer_to[cnt], blocks, 0) == NO_QUOTA) {
cnt = MAXQUOTAS;
goto put_all;
}
+   }
 
if ((error = notify_change(dentry, iattr)))
goto put_all; 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/