| Age | Commit message (Expand) | Author | Files | Lines |
| 2012-10-26 | VFS: don't do protected {sym,hard}links by default | Linus Torvalds | 1 | -2/+2 |
| 2012-10-12 | vfs: embed struct filename inside of names_cache allocation if possible | Jeff Layton | 1 | -20/+49 |
| 2012-10-12 | audit: make audit_inode take struct filename | Jeff Layton | 1 | -9/+7 |
| 2012-10-12 | vfs: make path_openat take a struct filename pointer | Jeff Layton | 1 | -8/+10 |
| 2012-10-12 | vfs: turn do_path_lookup into wrapper around struct filename variant | Jeff Layton | 1 | -7/+23 |
| 2012-10-12 | audit: allow audit code to satisfy getname requests from its names_list | Jeff Layton | 1 | -0/+4 |
| 2012-10-12 | vfs: define struct filename and have getname() return it | Jeff Layton | 1 | -41/+67 |
| 2012-10-12 | vfs: unexport getname and putname symbols | Jeff Layton | 1 | -2/+0 |
| 2012-10-12 | audit: overhaul __audit_inode_child to accomodate retrying | Jeff Layton | 1 | -1/+1 |
| 2012-10-12 | audit: set the name_len in audit_inode for parent lookups | Jeff Layton | 1 | -7/+7 |
| 2012-10-12 | audit: reverse arguments to audit_inode_child | Jeff Layton | 1 | -1/+1 |
| 2012-10-12 | audit: remove unnecessary NULL ptr checks from do_path_lookup | Jeff Layton | 1 | -6/+2 |
| 2012-10-11 | vfs: bogus warnings in fs/namei.c | Arnd Bergmann | 1 | -0/+1 |
| 2012-10-09 | fs: prevent use after free in auditing when symlink following was denied | Sasha Levin | 1 | -1/+1 |
| 2012-10-02 | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir... | Linus Torvalds | 1 | -23/+18 |
| 2012-10-02 | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebi... | Linus Torvalds | 1 | -3/+3 |
| 2012-09-26 | switch simple cases of fget_light to fdget | Al Viro | 1 | -22/+17 |
| 2012-09-26 | namei.c: fix BS comment | Al Viro | 1 | -1/+1 |
| 2012-08-22 | fs: fix fs/namei.c kernel-doc warnings | Randy Dunlap | 1 | -0/+2 |
| 2012-08-16 | vfs: fix propagation of atomic_open create error on negative dentry | Sage Weil | 1 | -0/+4 |
| 2012-08-15 | vfs: pass right create mode to may_o_create() | Miklos Szeredi | 1 | -1/+1 |
| 2012-08-15 | vfs: atomic_open(): fix create mode usage | Miklos Szeredi | 1 | -1/+1 |
| 2012-08-03 | userns: Fix link restrictions to use uid_eq | Eric W. Biederman | 1 | -3/+3 |
| 2012-07-31 | fs: Push mnt_want_write() outside of i_mutex | Jan Kara | 1 | -21/+25 |
| 2012-07-31 | simplify lookup_open()/atomic_open() - do the temporary mnt_want_write() early | Al Viro | 1 | -22/+29 |
| 2012-07-30 | fix O_EXCL handling for devices | Al Viro | 1 | -2/+2 |
| 2012-07-29 | fs: add link restriction audit reporting | Kees Cook | 1 | -0/+2 |
| 2012-07-29 | fs: add link restrictions | Kees Cook | 1 | -0/+122 |
| 2012-07-29 | vfs: don't let do_last pass negative dentry to audit_inode | Jeff Layton | 1 | -2/+3 |
| 2012-07-29 | pull mnt_want_write()/mnt_drop_write() into kern_path_create()/done_path_crea... | Al Viro | 1 | -39/+18 |
| 2012-07-29 | mknod: take sanity checks on mode into the very beginning | Al Viro | 1 | -5/+3 |
| 2012-07-29 | new helper: done_path_create() | Al Viro | 1 | -12/+12 |
| 2012-07-23 | tidy up namei.c a bit | Al Viro | 1 | -18/+21 |
| 2012-07-23 | unobfuscate follow_up() a bit | Al Viro | 1 | -1/+1 |
| 2012-07-22 | use __lookup_hash() in kern_path_parent() | Al Viro | 1 | -1/+1 |
| 2012-07-14 | VFS: Split inode_permission() | David Howells | 1 | -17/+49 |
| 2012-07-14 | VFS: Comment mount following code | David Howells | 1 | -0/+10 |
| 2012-07-14 | fs: add nd_jump_link | Christoph Hellwig | 1 | -10/+17 |
| 2012-07-14 | fs: move path_put on failure out of ->follow_link | Christoph Hellwig | 1 | -2/+1 |
| 2012-07-14 | get rid of kern_path_parent() | Al Viro | 1 | -2/+20 |
| 2012-07-14 | VFS: Fix the banner comment on lookup_open() | David Howells | 1 | -3/+26 |
| 2012-07-14 | don't pass nameidata * to vfs_create() | Al Viro | 1 | -4/+5 |
| 2012-07-14 | don't pass nameidata to ->create() | Al Viro | 1 | -2/+1 |
| 2012-07-14 | fs/namei.c: don't pass nameidata to __lookup_hash() and lookup_real() | Al Viro | 1 | -10/+10 |
| 2012-07-14 | stop passing nameidata to ->lookup() | Al Viro | 1 | -1/+1 |
| 2012-07-14 | fs/namei.c: don't pass namedata to lookup_dcache() | Al Viro | 1 | -4/+4 |
| 2012-07-14 | fs/namei.c: don't pass nameidata to d_revalidate() | Al Viro | 1 | -6/+6 |
| 2012-07-14 | stop passing nameidata * to ->d_revalidate() | Al Viro | 1 | -1/+1 |
| 2012-07-14 | fs/namei.c: get do_last() and friends return int | Al Viro | 1 | -80/+70 |
| 2012-07-14 | kill struct opendata | Al Viro | 1 | -23/+25 |
| 2012-07-14 | kill opendata->{mnt,dentry} | Al Viro | 1 | -9/+6 |
| 2012-07-14 | make ->atomic_open() return int | Al Viro | 1 | -6/+8 |
| 2012-07-14 | don't modify od->filp at all | Al Viro | 1 | -3/+1 |
| 2012-07-14 | ->atomic_open() prototype change - pass int * instead of bool * | Al Viro | 1 | -16/+17 |
| 2012-07-14 | vfs: move O_DIRECT check to common code | Miklos Szeredi | 1 | -12/+5 |
| 2012-07-14 | vfs: do_last(): clean up retry | Miklos Szeredi | 1 | -15/+21 |
| 2012-07-14 | vfs: do_last(): clean up bool | Miklos Szeredi | 1 | -14/+14 |
| 2012-07-14 | vfs: do_last(): clean up labels | Miklos Szeredi | 1 | -5/+5 |
| 2012-07-14 | vfs: do_last(): clean up error handling | Miklos Szeredi | 1 | -15/+8 |
| 2012-07-14 | vfs: remove open intents from nameidata | Miklos Szeredi | 1 | -50/+45 |
| 2012-07-14 | vfs: add i_op->atomic_open() | Miklos Szeredi | 1 | -2/+201 |
| 2012-07-14 | vfs: lookup_open(): expand lookup_hash() | Miklos Szeredi | 1 | -1/+11 |
| 2012-07-14 | vfs: add lookup_open() | Miklos Szeredi | 1 | -38/+61 |
| 2012-07-14 | vfs: do_last(): common slow lookup | Miklos Szeredi | 1 | -22/+5 |
| 2012-07-14 | vfs: do_last(): separate O_CREAT specific code | Miklos Szeredi | 1 | -16/+17 |
| 2012-07-14 | vfs: do_last(): inline lookup_slow() | Miklos Szeredi | 1 | -2/+15 |
| 2012-07-14 | namei.c: let follow_link() do put_link() on failure | Al Viro | 1 | -33/+41 |
| 2012-06-01 | vfs: retry last component if opening stale dentry | Miklos Szeredi | 1 | -2/+35 |
| 2012-06-01 | vfs: do_last() common post lookup | Miklos Szeredi | 1 | -31/+3 |
| 2012-06-01 | vfs: do_last(): add audit_inode before open | Miklos Szeredi | 1 | -0/+1 |
| 2012-06-01 | vfs: do_last(): only return EISDIR for O_CREAT | Miklos Szeredi | 1 | -1/+1 |
| 2012-06-01 | vfs: do_last(): check LOOKUP_DIRECTORY | Miklos Szeredi | 1 | -0/+3 |
| 2012-06-01 | vfs: do_last(): make ENOENT exit RCU safe | Miklos Szeredi | 1 | -2/+4 |
| 2012-06-01 | vfs: make follow_link check RCU safe | Miklos Szeredi | 1 | -2/+10 |
| 2012-06-01 | vfs: do_last(): use inode variable | Miklos Szeredi | 1 | -3/+5 |
| 2012-06-01 | vfs: do_last(): inline walk_component() | Miklos Szeredi | 1 | -5/+30 |
| 2012-06-01 | vfs: do_last(): make exit RCU safe | Miklos Szeredi | 1 | -1/+1 |
| 2012-06-01 | vfs: split do_lookup() | Miklos Szeredi | 1 | -14/+45 |
| 2012-05-29 | brlocks/lglocks: API cleanups | Andi Kleen | 1 | -12/+12 |
| 2012-05-26 | word-at-a-time: make the interfaces truly generic | Linus Torvalds | 1 | -10/+12 |
| 2012-05-24 | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc | Linus Torvalds | 1 | -0/+1 |
| 2012-05-24 | kernel: Move REPEAT_BYTE definition into linux/kernel.h | David S. Miller | 1 | -0/+1 |
| 2012-05-23 | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebi... | Linus Torvalds | 1 | -19/+10 |
| 2012-05-21 | Merge branch 'dentry-cleanups' (dcache access cleanups and optimizations) | Linus Torvalds | 1 | -3/+16 |
| 2012-05-21 | Merge branch 'vfs-cleanups' (random vfs cleanups) | Linus Torvalds | 1 | -34/+24 |
| 2012-05-04 | vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces | Linus Torvalds | 1 | -3/+16 |
| 2012-05-03 | vfs: make word-at-a-time accesses handle a non-existing page | Linus Torvalds | 1 | -2/+2 |
| 2012-05-03 | userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs | Eric W. Biederman | 1 | -4/+4 |
| 2012-04-28 | VFS: clean up and simplify getname_flags() | Linus Torvalds | 1 | -34/+24 |
| 2012-04-07 | userns: Replace the hard to write inode_userns with inode_capable. | Eric W. Biederman | 1 | -13/+5 |
| 2012-04-06 | Make the "word-at-a-time" helper functions more commonly usable | Linus Torvalds | 1 | -32/+3 |
| 2012-04-03 | vfs: Don't allow a user namespace root to make device nodes | Eric W. Biederman | 1 | -2/+1 |
| 2012-03-31 | vfs: fix out-of-date dentry_unhash() comment | J. Bruce Fields | 1 | -1/+1 |
| 2012-03-31 | vfs: split __lookup_hash | Miklos Szeredi | 1 | -64/+44 |
| 2012-03-31 | untangling do_lookup() - take __lookup_hash()-calling case out of line. | Al Viro | 1 | -15/+16 |
| 2012-03-31 | untangling do_lookup() - switch to calling __lookup_hash() | Al Viro | 1 | -67/+46 |
| 2012-03-31 | untangling do_lookup() - merge d_alloc_and_lookup() callers | Al Viro | 1 | -3/+3 |
| 2012-03-31 | untangling do_lookup() - merge failure exits in !dentry case | Al Viro | 1 | -15/+8 |
| 2012-03-31 | untangling do_lookup() - massage !dentry case towards __lookup_hash() | Al Viro | 1 | -25/+20 |
| 2012-03-31 | untangling do_lookup() - get rid of need_reval in !dentry case | Al Viro | 1 | -6/+1 |
| 2012-03-31 | untangling do_lookup() - eliminate a loop. | Al Viro | 1 | -4/+8 |
| 2012-03-31 | untangling do_lookup() - expand the area under ->i_mutex | Al Viro | 1 | -2/+4 |
| 2012-03-31 | untangling do_lookup() - isolate !dentry stuff from the rest of it. | Al Viro | 1 | -1/+16 |
| 2012-03-31 | vfs: move MAY_EXEC check from __lookup_hash() | Miklos Szeredi | 1 | -6/+5 |
| 2012-03-31 | vfs: don't revalidate just looked up dentry | Miklos Szeredi | 1 | -3/+1 |
| 2012-03-31 | vfs: fix d_need_lookup/d_revalidate order in do_lookup | Miklos Szeredi | 1 | -2/+2 |
| 2012-03-24 | Merge tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/p... | Linus Torvalds | 1 | -1/+1 |
| 2012-03-22 | vfs: tidy up sparse warnings in fs/namei.c | Linus Torvalds | 1 | -3/+3 |
| 2012-03-22 | vfs: tidy up fs/namei.c byte-repeat word constants | Linus Torvalds | 1 | -9/+4 |
| 2012-03-22 | Fix full_name_hash() behaviour when length is a multiple of 8 | Al Viro | 1 | -1/+1 |
| 2012-03-22 | Merge branch 'akpm' (Andrew's patch-bomb) | Linus Torvalds | 1 | -0/+6 |
| 2012-03-21 | fs/namei.c: fix warnings on 32-bit | Andrew Morton | 1 | -0/+6 |
| 2012-03-21 | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir... | Linus Torvalds | 1 | -1/+14 |
| 2012-03-21 | Merge branch 'kmap_atomic' of git://github.com/congwang/linux | Linus Torvalds | 1 | -2/+2 |
| 2012-03-20 | switch touch_atime to struct path | Al Viro | 1 | -1/+1 |
| 2012-03-20 | vfs: check i_nlink limits in vfs_{mkdir,rename_dir,link} | Al Viro | 1 | -0/+13 |
| 2012-03-20 | fs: remove the second argument of k[un]map_atomic() | Cong Wang | 1 | -2/+2 |
| 2012-03-19 | Merge branch 'dcache-word-accesses' | Linus Torvalds | 1 | -0/+122 |
| 2012-03-10 | vfs: fix return value from do_last() | Miklos Szeredi | 1 | -1/+1 |
| 2012-03-10 | vfs: fix double put after complete_walk() | Miklos Szeredi | 1 | -1/+1 |
| 2012-03-08 | vfs: use 'unsigned long' accesses for dcache name comparison and hashing | Linus Torvalds | 1 | -0/+122 |
| 2012-03-02 | vfs: export full_name_hash() function to modules | Linus Torvalds | 1 | -0/+1 |
| 2012-03-02 | vfs: split up name hashing in link_path_walk() into helper function | Linus Torvalds | 1 | -18/+34 |
| 2012-03-02 | vfs: uninline full_name_hash() | Linus Torvalds | 1 | -4/+9 |
| 2012-02-28 | fs: reduce the use of module.h wherever possible | Paul Gortmaker | 1 | -1/+1 |
| 2012-02-13 | vfs: fix d_inode_lookup() dentry ref leak | Miklos Szeredi | 1 | -1/+3 |
| 2012-01-17 | audit: do not call audit_getname on error | Eric Paris | 1 | -15/+13 |
| 2012-01-06 | Merge branches 'vfsmount-guts', 'umode_t' and 'partitions' into Z | Al Viro | 1 | -9/+9 |
| 2012-01-03 | vfs: move mnt_mountpoint to struct mount | Al Viro | 1 | -2/+2 |
| 2012-01-03 | vfs: now it can be done - make mnt_parent point to struct mount | Al Viro | 1 | -11/+13 |
| 2012-01-03 | vfs: mnt_parent moved to struct mount | Al Viro | 1 | -2/+2 |
| 2012-01-03 | vfs: spread struct mount - __lookup_mnt() result | Al Viro | 1 | -6/+7 |
| 2012-01-03 | switch open and mkdir syscalls to umode_t | Al Viro | 1 | -3/+3 |
| 2012-01-03 | switch may_mknod() to umode_t | Al Viro | 1 | -1/+1 |
| 2012-01-03 | switch ->mknod() to umode_t | Al Viro | 1 | -1/+1 |
| 2012-01-03 | switch ->create() to umode_t | Al Viro | 1 | -1/+1 |
| 2012-01-03 | switch vfs_mkdir() and ->mkdir() to umode_t | Al Viro | 1 | -1/+1 |
| 2012-01-03 | switch sys_mknodat(2) to umode_t | Al Viro | 1 | -2/+2 |
| 2011-11-07 | VFS: we need to set LOOKUP_JUMPED on mountpoint crossing | Al Viro | 1 | -1/+15 |
| 2011-11-02 | readlinkat: ensure we return ENOENT for the empty pathname for normal lookups | Andy Whitcroft | 1 | -5/+13 |
| 2011-10-28 | leases: fix write-open/read-lease race | J. Bruce Fields | 1 | -4/+1 |
| 2011-10-28 | vfs: add a comment to inode_permission() | Andreas Gruenbacher | 1 | -2/+4 |
| 2011-10-28 | vfs: pass all mask flags check_acl and posix_acl_permission | Andreas Gruenbacher | 1 | -2/+0 |
| 2011-10-28 | vfs: indicate that the permission functions take all the MAY_* flags | Andreas Gruenbacher | 1 | -2/+2 |
| 2011-09-27 | vfs: remove LOOKUP_NO_AUTOMOUNT flag | Linus Torvalds | 1 | -6/+0 |
| 2011-09-26 | vfs pathname lookup: Add LOOKUP_AUTOMOUNT flag | Linus Torvalds | 1 | -1/+1 |
| 2011-09-14 | restore pinning the victim dentry in vfs_rmdir()/vfs_rename_dir() | Al Viro | 1 | -0/+4 |
| 2011-09-09 | vfs: automount should ignore LOOKUP_FOLLOW | Miklos Szeredi | 1 | -18/+15 |
| 2011-08-07 | vfs: rename 'do_follow_link' to 'should_follow_link' | Linus Torvalds | 1 | -2/+2 |
| 2011-08-07 | Fix POSIX ACL permission check | Ari Savolainen | 1 | -1/+1 |
| 2011-08-06 | vfs: optimize inode cache access patterns | Linus Torvalds | 1 | -10/+66 |
| 2011-08-03 | RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached | Al Viro | 1 | -11/+6 |
| 2011-08-01 | VFS: Fix automount for negative autofs dentries | David Howells | 1 | -9/+15 |
| 2011-07-25 | vfs: fix check_acl compile error when CONFIG_FS_POSIX_ACL is not set | Linus Torvalds | 1 | -0/+2 |
| 2011-07-25 | vfs: make gcc generate more obvious code for acl permission checking | Linus Torvalds | 1 | -1/+1 |
| 2011-07-25 | fs: take the ACL checks to common code | Christoph Hellwig | 1 | -11/+13 |
| 2011-07-25 | vfs: move ACL cache lookup into generic code | Linus Torvalds | 1 | -3/+49 |
| 2011-07-20 | VFS: Fixup kerneldoc for generic_permission() | Tobias Klauser | 1 | -1/+0 |
| 2011-07-20 | unexport kern_path_parent() | Al Viro | 1 | -1/+0 |
| 2011-07-20 | switch vfs_path_lookup() to struct path | Al Viro | 1 | -5/+11 |
| 2011-07-20 | kill lookup_create() | Al Viro | 1 | -36/+18 |
| 2011-07-20 | new helpers: kern_path_create/user_path_create | Al Viro | 1 | -78/+76 |
| 2011-07-20 | kill LOOKUP_CONTINUE | Al Viro | 1 | -8/+3 |
| 2011-07-20 | don't transliterate lower bits of ->intent.open.flags to FMODE_... | Al Viro | 1 | -19/+2 |
| 2011-07-20 | Don't pass nameidata when calling vfs_create() from mknod() | Al Viro | 1 | -1/+1 |
| 2011-07-20 | merge do_revalidate() into its only caller | Al Viro | 1 | -24/+18 |
| 2011-07-20 | no reason to keep exec_permission() separate now | Al Viro | 1 | -41/+4 |
| 2011-07-20 | massage generic_permission() to treat directories on a separate path | Al Viro | 1 | -4/+13 |
| 2011-07-20 | ->permission() sanitizing: don't pass flags to exec_permission() | Al Viro | 1 | -10/+7 |
| 2011-07-20 | ->permission() sanitizing: don't pass flags to ->permission() | Al Viro | 1 | -2/+2 |
| 2011-07-20 | ->permission() sanitizing: don't pass flags to generic_permission() | Al Viro | 1 | -2/+2 |
| 2011-07-20 | ->permission() sanitizing: don't pass flags to ->check_acl() | Al Viro | 1 | -5/+5 |
| 2011-07-20 | ->permission() sanitizing: pass MAY_NOT_BLOCK to ->check_acl() | Al Viro | 1 | -2/+2 |
| 2011-07-20 | ->permission() sanitizing: MAY_NOT_BLOCK | Al Viro | 1 | -2/+5 |
| 2011-07-20 | kill check_acl callback of generic_permission() | Al Viro | 1 | -10/+7 |
| 2011-07-20 | lockless get_write_access/deny_write_access | Al Viro | 1 | -46/+0 |
| 2011-07-20 | move exec_permission() up to the rest of permission-related functions | Al Viro | 1 | -34/+38 |
| 2011-07-20 | kill file_permission() completely | Al Viro | 1 | -18/+0 |
| 2011-07-20 | switch path_init() to exec_permission() | Al Viro | 1 | -1/+1 |
| 2011-07-20 | make exec_permission(dir) really equivalent to inode_permission(dir, MAY_EXEC) | Al Viro | 1 | -9/+9 |
| 2011-07-20 | fs: add a DCACHE_NEED_LOOKUP flag for d_flags | Josef Bacik | 1 | -0/+49 |
| 2011-07-19 | vfs: fix race in rcu lookup of pruned dentry | Linus Torvalds | 1 | -1/+6 |
| 2011-07-12 | Fix ->d_lock locking order in unlazy_walk() | Al Viro | 1 | -0/+2 |
| 2011-06-20 | fix comment in generic_permission() | Al Viro | 1 | -1/+2 |
| 2011-06-20 | kill obsolete comment for follow_down() | Al Viro | 1 | -3/+0 |
| 2011-06-16 | VFS: Fix vfsmount overput on simultaneous automount | Al Viro | 1 | -8/+16 |
| 2011-06-16 | fix wrong iput on d_inode introduced by e6bc45d65d | Török Edwin | 1 | -1/+3 |
| 2011-06-07 | vfs: make unlink() and rmdir() return ENOENT in preference to EROFS | Theodore Ts'o | 1 | -4/+7 |
| 2011-05-30 | vfs: shrink_dcache_parent before rmdir, dir rename | Sage Weil | 1 | -0/+3 |
| 2011-05-27 | Lift the check for automount points into do_lookup() | Al Viro | 1 | -5/+5 |
| 2011-05-27 | Trim excessive arguments of follow_mount_rcu() | Al Viro | 1 | -18/+8 |
| 2011-05-27 | split __follow_mount_rcu() into normal and .. cases | Al Viro | 1 | -9/+26 |
| 2011-05-26 | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir... | Linus Torvalds | 1 | -242/+138 |
| 2011-05-26 | vfs: clean up vfs_rename_other | Sage Weil | 1 | -11/+14 |
| 2011-05-26 | vfs: clean up vfs_rename_dir | Sage Weil | 1 | -11/+15 |
| 2011-05-26 | vfs: clean up vfs_rmdir | Sage Weil | 1 | -14/+17 |
| 2011-05-26 | vfs: fix vfs_rename_dir for FS_RENAME_DOES_D_MOVE filesystems | Miklos Szeredi | 1 | -2/+0 |
| 2011-05-26 | vfs: update dentry_unhash() comment | Sage Weil | 1 | -4/+4 |
| 2011-05-26 | vfs: push dentry_unhash on rename_dir into file systems | Sage Weil | 1 | -10/+2 |
| 2011-05-26 | vfs: push dentry_unhash on rmdir into file systems | Sage Weil | 1 | -1/+0 |