Jie Liu 6115ea2884 ocfs2: Revert 40bd62e to avoid regression in extended allocation
Revert commit 40bd62eb7fb8 ("fs/ocfs2/journal.h: add bits_wanted while
calculating credits in ocfs2_calc_extend_credits").

Unfortunately this change broke fallocate even if there is insufficient
disk space for the preallocation, which is a serious problem.

  # df -h
  /dev/sda8        22G  1.2G   21G   6% /ocfs2
  # fallocate -o 0 -l 200M /ocfs2/testfile
  fallocate: /ocfs2/test: fallocate failed: No space left on device

and a kernel warning:

  CPU: 3 PID: 3656 Comm: fallocate Tainted: G        W  O 3.11.0-rc3 #2
  Call Trace:
    dump_stack+0x77/0x9e
    warn_slowpath_common+0xc4/0x110
    warn_slowpath_null+0x2a/0x40
    start_this_handle+0x6c/0x640 [jbd2]
    jbd2__journal_start+0x138/0x300 [jbd2]
    jbd2_journal_start+0x23/0x30 [jbd2]
    ocfs2_start_trans+0x166/0x300 [ocfs2]
    __ocfs2_extend_allocation+0x38f/0xdb0 [ocfs2]
    ocfs2_allocate_unwritten_extents+0x3c9/0x520
    __ocfs2_change_file_space+0x5e0/0xa60 [ocfs2]
    ocfs2_fallocate+0xb1/0xe0 [ocfs2]
    do_fallocate+0x1cb/0x220
    SyS_fallocate+0x6f/0xb0
    system_call_fastpath+0x16/0x1b
  JBD2: fallocate wants too many credits (51216 > 4381)

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Cc: Goldwyn Rodrigues <rgoldwyn@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-08-13 17:57:49 -07:00
..
2013-07-05 18:59:33 +04:00
2013-06-29 12:56:55 +04:00
2013-06-29 12:56:33 +04:00
2013-07-05 18:59:33 +04:00
2013-06-29 12:56:46 +04:00
2013-06-29 12:56:31 +04:00
2013-06-29 12:57:05 +04:00
2013-07-08 13:35:48 +04:00
2013-07-09 10:33:25 -07:00
2013-06-29 12:56:53 +04:00
2013-07-17 14:53:54 +02:00
2013-06-29 12:56:59 +04:00
2013-06-29 12:56:47 +04:00
2013-07-11 10:19:34 -07:00
2013-07-05 18:59:33 +04:00
2013-06-29 12:56:37 +04:00
2013-06-29 12:56:32 +04:00
2013-06-29 12:56:38 +04:00
2013-06-29 12:56:39 +04:00
2013-08-05 17:37:37 +04:00
2013-06-29 12:56:29 +04:00
2013-06-29 12:56:28 +04:00
2013-06-29 12:57:12 +04:00
2013-07-25 10:41:42 -05:00
2013-07-03 16:08:06 -07:00
2013-06-29 12:57:04 +04:00
2013-07-10 18:11:34 -07:00
2013-07-10 18:11:34 -07:00
2013-04-29 15:40:23 -04:00
2013-06-29 12:57:05 +04:00
2013-03-03 23:00:23 -05:00
2013-06-29 12:57:34 +04:00
2013-02-22 23:31:31 -05:00
2013-04-17 13:25:09 +01:00
2013-08-05 18:24:10 +04:00
2013-05-07 20:16:25 -07:00
2013-05-31 15:16:33 -04:00
2013-06-29 12:57:05 +04:00
2013-02-26 02:46:08 -05:00
2013-07-20 04:58:58 +04:00
2013-05-29 12:57:34 -07:00