11 Mar, 2011

1 commit


04 Dec, 2010

1 commit

  • do_verify_xattr_datum(), do_load_xattr_datum(), load_xattr_datum()
    and verify_xattr_ref() should return negative value on error.
    Sometimes they return EIO that is positive. Change this to -EIO.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Artem Bityutskiy
    Signed-off-by: David Woodhouse

    Vasiliy Kulikov
     

10 Aug, 2010

1 commit


22 Jul, 2010

1 commit


22 May, 2010

1 commit


17 Dec, 2009

1 commit

  • Add a flags argument to struct xattr_handler and pass it to all xattr
    handler methods. This allows using the same methods for multiple
    handlers, e.g. for the ACL methods which perform exactly the same action
    for the access and default ACLs, just using a different underlying
    attribute. With a little more groundwork it'll also allow sharing the
    methods for the regular user/trusted/secure handlers in extN, ocfs2 and
    jffs2 like it's already done for xfs in this patch.

    Also change the inode argument to the handlers to a dentry to allow
    using the handlers mechnism for filesystems that require it later,
    e.g. cifs.

    [with GFS2 bits updated by Steven Whitehouse ]

    Signed-off-by: Christoph Hellwig
    Reviewed-by: James Morris
    Acked-by: Joel Becker
    Signed-off-by: Al Viro

    Christoph Hellwig
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

02 May, 2008

2 commits

  • * git://git.infradead.org/mtd-2.6:
    [MTD][NOR] Add physical address to point() method
    [JFFS2] Track parent inode for directories (for NFS export)
    [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean.
    [JFFS2] Quiet lockdep false positive.
    [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once()
    [MTD] Delete long-unused jedec.h header file.
    [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently.

    Linus Torvalds
     
  • To support NFS export, we need to know the parent inode of directories.
    Rather than growing the jffs2_inode_cache structure, share space with
    the nlink field -- which was always set to 1 for directories anyway.

    Signed-off-by: David Woodhouse

    David Woodhouse
     

30 Apr, 2008

1 commit


20 May, 2007

2 commits

  • An xattr_datum which ends up orphaned should be freed by the GC
    thread. But if we umount before the GC thread is finished, or if we
    mount read-only and the GC thread never runs, they might never be
    freed. Clean them up during unmount, if there are any left.

    Signed-off-by: David Woodhouse

    David Woodhouse
     
  • When we cannot mark nodes as obsolete, such as on NAND flash, we end up
    having to delete inodes with !nlink in jffs2_build_remove_unlinked_inode().
    However, jffs2_build_xattr_subsystem() runs later than this, and will
    attach an xref to the dead inode. Then later when the last nodes of that
    dead inode are erased we hit a BUG() in jffs2_del_ino_cache()
    because we're not supposed to get there with an xattr still attached to
    the inode which is being killed.

    The simple fix is to refrain from attaching xattrs to inodes with zero
    nlink, in jffs2_build_xattr_subsystem(). It's it's OK to trust nlink
    here because the file system isn't actually mounted yet, so there's no
    chance that a zero-nlink file could actually be alive still because
    it's open.

    Signed-off-by: David Woodhouse

    David Woodhouse
     

25 Apr, 2007

1 commit

  • In particular, remove the bit in the LICENCE file about contacting
    Red Hat for alternative arrangements. Their errant IS department broke
    that arrangement a long time ago -- the policy of collecting copyright
    assignments from contributors came to an end when the plug was pulled on
    the servers hosting the project, without notice or reason.

    We do still dual-license it for use with eCos, with the GPL+exception
    licence approved by the FSF as being GPL-compatible. It's just that nobody
    has the right to license it differently.

    Signed-off-by: David Woodhouse

    David Woodhouse
     

04 Oct, 2006

1 commit

  • gcc emits the following warning on a 'allmodconfig' build:

    fs/jffs2/xattr.c: In function ‘unrefer_xattr_datum’:
    fs/jffs2/xattr.c:402: warning: unused variable ‘version’
    fs/jffs2/xattr.c:402: warning: unused variable ‘xid’

    Given that these variables are only used in the debug printk, and they
    merely remove a deref, we can easily kill the warning by adding the
    derefs to the debug printk.

    Signed-off-by: Jeff Garzik
    Signed-off-by: David Woodhouse

    Jeff Garzik
     

16 Aug, 2006

1 commit


29 Jun, 2006

1 commit

  • 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
     

27 Jun, 2006

3 commits

  • 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
     
  • 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
     
  • - 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
     

25 May, 2006

1 commit


24 May, 2006

1 commit

  • As the first step towards eliminating the ref->next_phys member and saving
    memory by using an _array_ of struct jffs2_raw_node_ref per eraseblock,
    stop the write functions from allocating their own refs; have them just
    _reserve_ the appropriate number instead. Then jffs2_link_node_ref() can
    just fill them in.

    Use a linked list of pre-allocated refs in the superblock, for now. Once
    we switch to an array, it'll just be a case of extending that array.

    Signed-off-by: David Woodhouse

    David Woodhouse
     

23 May, 2006

1 commit


22 May, 2006

1 commit


21 May, 2006

1 commit


13 May, 2006

5 commits

  • [2/2] jffs2-xattr-v5.2-02-fix_obvious_typo.patch

    Signed-off-by: KaiGai Kohei

    KaiGai Kohei
     
  • Unify each file header part with any jffs2 file.

    [7/10] jffs2-xattr-v5.1-07-unify_file_header.patch

    Signed-off-by: KaiGai Kohei

    KaiGai Kohei
     
  • Remove jffs2_garbage_collect_xattr(c, ic).
    jffs2_garbage_collect_xattr_datum/ref() are called from gc.c directly.

    In original implementation, jffs2_garbage_collect_xattr(c, ic) returns
    with holding a spinlock if 'ic' is inode_cache. But it returns after
    releasing a spinlock if 'ic' is xattr_datum/ref.
    It looks so confusable behavior. Thus, this patch makes caller manage
    locking/unlocking.

    [5/10] jffs2-xattr-v5.1-05-update_xattr_gc.patch

    Signed-off-by: KaiGai Kohei

    KaiGai Kohei
     
  • This patch can reduce 4-byte of memory usage per inode_cache.

    [4/10] jffs2-xattr-v5.1-04-remove_ilist_from_ic.patch

    Signed-off-by: KaiGai Kohei

    KaiGai Kohei
     
  • This attached patches provide xattr support including POSIX-ACL and
    SELinux support on JFFS2 (version.5).

    There are some significant differences from previous version posted
    at last December.
    The biggest change is addition of EBS(Erase Block Summary) support.
    Currently, both kernel and usermode utility (sumtool) can recognize
    xattr nodes which have JFFS2_NODETYPE_XATTR/_XREF nodetype.

    In addition, some bugs are fixed.
    - A potential race condition was fixed.
    - Unexpected fail when updating a xattr by same name/value pair was fixed.
    - A bug when removing xattr name/value pair was fixed.

    The fundamental structures (such as using two new nodetypes and exclusion
    mechanism by rwsem) are unchanged. But most of implementation were reviewed
    and updated if necessary.
    Espacially, we had to change several internal implementations related to
    load_xattr_datum() to avoid a potential race condition.

    [1/2] xattr_on_jffs2.kernel.version-5.patch
    [2/2] xattr_on_jffs2.utils.version-5.patch

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

    KaiGai Kohei