27 Sep, 2006

2 commits


22 Sep, 2006

1 commit

  • We certainly don't need the check for Linux version > 2.5.2, and in fact
    we can also live without the __ECOS check, since we can just add it back
    in the eCos git tree which is automatically derived from the Linux fs/jffs2
    subdirectory in the upstream git tree.

    Signed-off-by: Michal Piotrowski
    Signed-off-by: Andrew Morton
    Signed-off-by: David Woodhouse

    Michal Piotrowski
     

16 Sep, 2006

1 commit

  • In some special case (padding because of sync
    or umount) it can be possible that summary
    information is not fit to the end of the erase
    block. In these cases the collecting of summary
    is disabled for this erase block.

    The problem was that this was not respected
    by jffs2_sum_add_kvec(). This patch fix this
    bug.

    From: Zoltan Sogor
    Signed-off-by: Ferenc Havasi
    Signed-off-by: David Woodhouse

    Havasi Ferenc
     

16 Aug, 2006

1 commit


07 Jul, 2006

1 commit


04 Jul, 2006

1 commit

  • * git://git.infradead.org/mtd-2.6:
    [JFFS2][XATTR] Fix memory leak in POSIX-ACL support
    fs/jffs2/: make 2 functions static
    [MTD] NAND: Fix broken sharpsl driver
    [JFFS2][XATTR] Fix xd->refcnt race condition
    MTD: kernel-doc fixes + additions
    MTD: fix all kernel-doc warnings
    [MTD] DOC: Fixup read functions and do a little cleanup

    Linus Torvalds
     

02 Jul, 2006

1 commit

  • jffs2_clear_acl() which releases acl caches allocated by kmalloc()
    was defined but it was never called. Thus, we faced to the risk
    of memory leaking.

    This patch plugs jffs2_clear_acl() into jffs2_do_clear_inode().
    It ensures to release acl cache when inode is cleared.

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     

01 Jul, 2006

1 commit


30 Jun, 2006

1 commit


29 Jun, 2006

2 commits

  • When xd->refcnt is checked whether this xdatum should be released
    or not, atomic_dec_and_lock() is used to ensure holding the
    c->erase_completion_lock.

    This fix change a specification of delete_xattr_datum().
    Previously, it's only called when xd->refcnt equals zero.
    (calling it with positive xd->refcnt cause a BUG())
    If you applied this patch, the function checks whether
    xd->refcnt is zero or not under the spinlock if necessary.
    Then, it marks xd DEAD flahs and links with xattr_dead_list
    or releases it immediately when xd->refcnt become zero.

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • Same as with already do with the file operations: keep them in .rodata and
    prevents people from doing runtime patching.

    Signed-off-by: Christoph Hellwig
    Cc: Steven French
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

28 Jun, 2006

1 commit

  • * git://git.infradead.org/mtd-2.6:
    [MTD] NAND: Select chip before checking write protect status
    [MTD] CORE mtdchar.c: fix off-by-one error in lseek()
    [MTD] NAND: Fix typo in mtd/nand/ts7250.c
    [JFFS2][XATTR] coexistence between xattr and write buffering support.
    [JFFS2][XATTR] Fix wrong copyright
    [JFFS2][XATTR] Re-define xd->refcnt as atomic_t
    [JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref
    [JFFS2][XATTR] rid unnecessary writing of delete marker.
    [JFFS2][XATTR] Fix ACL bug when updating null xattr by null ACL.
    [JFFS2][XATTR] using 'delete marker' for xdatum/xref deletion
    [MTD] Fix off-by-one error in physmap.c
    [MTD] Remove unused 'nr_banks' variable from ixp2000 map driver
    [MTD NAND] s3c2412 support in s3c2410.c
    [MTD] Initialize 'writesize'
    [MTD] NAND: ndfc fix address offset thinko
    [MTD] NAND: S3C2410 convert prinks to dev_*()s
    [MTD] NAND: Missing fixups

    Linus Torvalds
     

27 Jun, 2006

9 commits

  • summary.c was modified at 2006.

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • In jffs2_release_xattr_datum(), it refers xd->refcnt to ensure
    whether releasing xd is allowed or not.
    But we can't hold xattr_sem since this function is called under
    spin_lock(&c->erase_completion_lock). Thus we have to refer it
    without any locking.

    This patch redefine xd->refcnt as atomic_t. It enables to refer
    xd->refcnt without any locking.

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • If xattr_ref is associated with an orphan inode_cache
    on filesystem mounting, those xattr_refs are not
    released even if this inode_cache is released.

    This patch enables to call jffs2_xattr_delete_inode()
    for such a irregular inode_cachde too.

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • In the followinf situation, an explicit delete marker is not
    necessary, because we can certainlly detect those obsolete
    xattr_datum or xattr_ref on next mounting.

    - When to delete xattr_datum node.
    - When to delete xattr_ref node on removing inode.
    - When to delete xattr_ref node on updating xattr.

    This patch rids writing delete marker in those situations.

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • This patch enable to handle the case when updating null xattr
    by null ACL.

    When we try to set NULL into NULL xattr, xattr subsystem returns
    -ENODATA. This patch enables to handle this error code.

    [2/3] jffs2-xattr-v6-02-fix_posixacl_bug.patch

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • - When xdatum is removed, a new xdatum with 'delete marker' is
    written. (version==0xffffffff means 'delete marker')
    - When xref is removed, a new xref with 'delete marker' is written.
    (odd-numbered xseqno means 'delete marker')

    - delete_xattr_(datum/xref)_delay() are new deletion functions
    are added. We can only use them if we can detect the target
    obsolete xdatum/xref as a orphan or errir one.
    (e.g when inode deletion, or detecting crc error)

    [1/3] jffs2-xattr-v6-01-delete_marker.patch

    Signed-off-by: KaiGai Kohei
    Signed-off-by: David Woodhouse

    KaiGai Kohei
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    typo fixes
    Clean up 'inline is not at beginning' warnings for usb storage
    Storage class should be first
    i386: Trivial typo fixes
    ixj: make ixj_set_tone_off() static
    spelling fixes
    fix paniced->panicked typos
    Spelling fixes for Documentation/atomic_ops.txt
    move acknowledgment for Mark Adler to CREDITS
    remove the bouncing email address of David Campbell

    Linus Torvalds
     
  • This patch converts the combination of list_del(A) and list_add(A, B) to
    list_move(A, B) under fs/.

    Cc: Ian Kent
    Acked-by: Joel Becker
    Cc: Neil Brown
    Cc: Hans Reiser
    Cc: Urban Widmark
    Acked-by: David Howells
    Acked-by: Mark Fasheh
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • acquired (aquired)
    contiguous (contigious)
    successful (succesful, succesfull)
    surprise (suprise)
    whether (weather)
    some other misspellings

    Signed-off-by: Andreas Mohr
    Signed-off-by: Adrian Bunk

    Andreas Mohr
     

23 Jun, 2006

2 commits

  • Give the statfs superblock operation a dentry pointer rather than a superblock
    pointer.

    This complements the get_sb() patch. That reduced the significance of
    sb->s_root, allowing NFS to place a fake root there. However, NFS does
    require a dentry to use as a target for the statfs operation. This permits
    the root in the vfsmount to be used instead.

    linux/mount.h has been added where necessary to make allyesconfig build
    successfully.

    Interest has also been expressed for use with the FUSE and XFS filesystems.

    Signed-off-by: David Howells
    Acked-by: Al Viro
    Cc: Nathan Scott
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Extend the get_sb() filesystem operation to take an extra argument that
    permits the VFS to pass in the target vfsmount that defines the mountpoint.

    The filesystem is then required to manually set the superblock and root dentry
    pointers. For most filesystems, this should be done with simple_set_mnt()
    which will set the superblock pointer and then set the root dentry to the
    superblock's s_root (as per the old default behaviour).

    The get_sb() op now returns an integer as there's now no need to return the
    superblock pointer.

    This patch permits a superblock to be implicitly shared amongst several mount
    points, such as can be done with NFS to avoid potential inode aliasing. In
    such a case, simple_set_mnt() would not be called, and instead the mnt_root
    and mnt_sb would be set directly.

    The patch also makes the following changes:

    (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount
    pointer argument and return an integer, so most filesystems have to change
    very little.

    (*) If one of the convenience function is not used, then get_sb() should
    normally call simple_set_mnt() to instantiate the vfsmount. This will
    always return 0, and so can be tail-called from get_sb().

    (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the
    dcache upon superblock destruction rather than shrink_dcache_anon().

    This is required because the superblock may now have multiple trees that
    aren't actually bound to s_root, but that still need to be cleaned up. The
    currently called functions assume that the whole tree is rooted at s_root,
    and that anonymous dentries are not the roots of trees which results in
    dentries being left unculled.

    However, with the way NFS superblock sharing are currently set to be
    implemented, these assumptions are violated: the root of the filesystem is
    simply a dummy dentry and inode (the real inode for '/' may well be
    inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries
    with child trees.

    [*] Anonymous until discovered from another tree.

    (*) The documentation has been adjusted, including the additional bit of
    changing ext2_* into foo_* in the documentation.

    [akpm@osdl.org: convert ipath_fs, do other stuff]
    Signed-off-by: David Howells
    Acked-by: Al Viro
    Cc: Nathan Scott
    Cc: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

21 Jun, 2006

1 commit

  • * git://git.infradead.org/~dwmw2/rbtree-2.6:
    [RBTREE] Switch rb_colour() et al to en_US spelling of 'color' for consistency
    Update UML kernel/physmem.c to use rb_parent() accessor macro
    [RBTREE] Update hrtimers to use rb_parent() accessor macro.
    [RBTREE] Add explicit alignment to sizeof(long) for struct rb_node.
    [RBTREE] Merge colour and parent fields of struct rb_node.
    [RBTREE] Remove dead code in rb_erase()
    [RBTREE] Update JFFS2 to use rb_parent() accessor macro.
    [RBTREE] Update eventpoll.c to use rb_parent() accessor macro.
    [RBTREE] Update key.c to use rb_parent() accessor macro.
    [RBTREE] Update ext3 to use rb_parent() accessor macro.
    [RBTREE] Change rbtree off-tree marking in I/O schedulers.
    [RBTREE] Add accessor macros for colour and parent fields of rb_node

    Linus Torvalds
     

19 Jun, 2006

2 commits


18 Jun, 2006

1 commit


09 Jun, 2006

1 commit


03 Jun, 2006

1 commit

  • It's used from the initfunc in case of failure too. We could actually do
    with an '__initexit' for this kind of thing -- when built in to the
    kernel, it could do with being dropped with the init text. We _could_
    actually just use __init for it, but that would break if/when we start
    dropping init text from modules. So let's just leave it as it was for now,
    and mutter a little more about random 'janitorial' fixes from people who
    aren't paying attention to what they're doing.

    Signed-off-by: David Woodhouse

    David Woodhouse
     

30 May, 2006

2 commits


29 May, 2006

6 commits

  • Return -EUCLEAN on read when a bitflip was detected and corrected, so the
    clients can react and eventually copy the affected block to a spare one.
    Make all in kernel users aware of the change.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Hopefully the last iteration on this!

    The handling of out of band data on NAND was accompanied by tons of fruitless
    discussions and halfarsed patches to make it work for a particular
    problem. Sufficiently annoyed by I all those "I know it better" mails and the
    resonable amount of discarded "it solves my problem" patches, I finally decided
    to go for the big rework. After removing the _ecc variants of mtd read/write
    functions the solution to satisfy the various requirements was to refactor the
    read/write _oob functions in mtd.

    The major change is that read/write_oob now takes a pointer to an operation
    descriptor structure "struct mtd_oob_ops".instead of having a function with at
    least seven arguments.

    read/write_oob which should probably renamed to a more descriptive name, can do
    the following tasks:

    - read/write out of band data
    - read/write data content and out of band data
    - read/write raw data content and out of band data (ecc disabled)

    struct mtd_oob_ops has a mode field, which determines the oob handling mode.

    Aside of the MTD_OOB_RAW mode, which is intended to be especially for
    diagnostic purposes and some internal functions e.g. bad block table creation,
    the other two modes are for mtd clients:

    MTD_OOB_PLACE puts/gets the given oob data exactly to/from the place which is
    described by the ooboffs and ooblen fields of the mtd_oob_ops strcuture. It's
    up to the caller to make sure that the byte positions are not used by the ECC
    placement algorithms.

    MTD_OOB_AUTO puts/gets the given oob data automaticaly to/from the places in
    the out of band area which are described by the oobfree tuples in the ecclayout
    data structre which is associated to the devicee.

    The decision whether data plus oob or oob only handling is done depends on the
    setting of the datbuf member of the data structure. When datbuf == NULL then
    the internal read/write_oob functions are selected, otherwise the read/write
    data routines are invoked.

    Tested on a few platforms with all variants. Please be aware of possible
    regressions for your particular device / application scenario

    Disclaimer: Any whining will be ignored from those who just contributed "hot
    air blurb" and never sat down to tackle the underlying problem of the mess in
    the NAND driver grown over time and the big chunk of work to fix up the
    existing users. The problem was not the holiness of the existing MTD
    interfaces. The problems was the lack of time to go for the big overhaul. It's
    easy to add more mess to the existing one, but it takes alot of effort to go
    for a real solution.

    Improvements and bugfixes are welcome!

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The nand_oobinfo structure is not fitting the newer error correction
    demands anymore. Replace it by struct nand_ecclayout and fixup the users
    all over the place. Keep the nand_oobinfo based ioctl for user space
    compability reasons.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The info structure for out of band data was copied into
    the mtd structure. Make it a pointer and remove the ability
    to set it from userspace. The position of ecc bytes is
    defined by the hardware and should not be changed by software.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Signed-off-by: David Woodhouse

    David Woodhouse
     
  • Signed-off-by: David Woodhouse

    David Woodhouse
     

27 May, 2006

2 commits