26 Oct, 2012

1 commit

  • This is a bugfix for a problem with the following symptoms:

    1. A power cut happens
    2. After reboot, we try to mount UBIFS
    3. Mount fails with "No space left on device" error message

    UBIFS complains like this:

    UBIFS error (pid 28225): grab_empty_leb: could not find an empty LEB

    The root cause of this problem is that when we mount, not all LEBs are
    categorized. Only those which were read are. However, the
    'ubifs_find_free_leb_for_idx()' function assumes that all LEBs were
    categorized and 'c->freeable_cnt' is valid, which is a false assumption.

    This patch fixes the problem by teaching 'ubifs_find_free_leb_for_idx()'
    to always fall back to LPT scanning if no freeable LEBs were found.

    This problem was reported by few people in the past, but Brent Taylor
    was able to reproduce it and send me a flash image which cannot be mounted,
    which made it easy to hunt the bug. Kudos to Brent.

    Reported-by: Brent Taylor
    Signed-off-by: Artem Bityutskiy
    Cc: stable@vger.kernel.org

    Artem Bityutskiy
     

18 Jun, 2012

1 commit

  • The asserts here never check anything because it uses '|' instead of
    '&'. Now if the flags are not set it prints a warning a a stack trace.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Artem Bityutskiy

    Dan Carpenter
     

14 May, 2011

1 commit

  • This patch separates out all the budgeting-related information
    from 'struct ubifs_info' to 'struct ubifs_budg_info'. This way the
    code looks a bit cleaner. However, the main driver for this is
    that we want to save budgeting information and print it later,
    so a separate data structure for this is helpful.

    This patch is a preparation for the further debugging output
    improvements.

    Signed-off-by: Artem Bityutskiy

    Artem Bityutskiy
     

08 Mar, 2009

1 commit


30 Sep, 2008

1 commit


17 Sep, 2008

1 commit


31 Aug, 2008

2 commits


13 Aug, 2008

2 commits


15 Jul, 2008

1 commit