[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Extended Attributes and Access Control Lists



Hello again,

Eric Jarman is running some tests of the ext3 extended attribute
code, and has found there is still a problem left. I would appreciate any
feedback on what the causes of this problem could be.

When stressing the filesystem, and when the quota limit is reached, the
assertion in line 611 in fs/jbd/transaction.c triggers:

    608                 lock_journal(journal);
    609         }
    610
=>  611         J_ASSERT_JH(jh, !buffer_locked(jh2bh(jh)));
    612
    613         error = -EROFS;
    614         if (is_handle_aborted(handle))

In this test Eric simply created a file with dd.

The changes we have applied relatively to 0.7.22 are:

- increase the number of blocks in ext3_journal_start() calls to also
  cover EA's.

- I have been using ext3_journal_get_write_access() after ext3_new_block
  and getblk of this block. Not I have changed that to
  ext3_journal_get_create_access(), which seems to aggravate the problem.

After the assertion, the system oopses, and freezes shortly thereafter.

I noticed there are code paths where ext3_journal_get_write_access() is
called more than once for the same transaction handle. Is this a problem?

I have attached the messages exchanged with Eric; it includes backtraces
of the oopses and probably more accurate descriptions than mine :-)


I would very much welcome any hints.

Thanks,
Andreas.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]