linux/fs/gfs2
Steven Whitehouse 5a00f3cc97 GFS2: Only do one directory search on create
Creation of a new inode requires a directory search in order to ensure
that we are not trying to create an inode with the same name as an
existing one. This was hidden away inside the create_ok() function.

In the case that there was an existing inode, and a lookup can be
substituted for a create (which is the case with regular files
when the O_EXCL flag is not in use) then we were doing a second
lookup in order to return the inode.

This patch merges these two lookups into one. This can be done by
passing a flag to gfs2_dir_search() to tell it to just return -EEXIST
in the cases where we don't actually want to look up the inode.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2013-06-11 13:45:29 +01:00
..
acl.c gfs2: Use uid_eq and gid_eq where appropriate 2013-02-13 06:15:10 -08:00
acl.h
aops.c aio: don't include aio.h in sched.h 2013-05-07 20:16:25 -07:00
bmap.c GFS2: Increase i_writecount during gfs2_setattr_size 2013-06-03 16:38:58 +01:00
bmap.h
dentry.c
dir.c GFS2: Only do one directory search on create 2013-06-11 13:45:29 +01:00
dir.h GFS2: Only do one directory search on create 2013-06-11 13:45:29 +01:00
export.c fs: encode_fh: return FILEID_INVALID if invalid fid_type 2013-02-26 02:46:10 -05:00
file.c GFS2: Increase i_writecount during gfs2_setattr_size 2013-06-03 16:38:58 +01:00
gfs2.h
glock.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw 2013-04-30 11:27:14 -07:00
glock.h GFS2: Remove gfs2_refresh_inode from inode creation path 2013-04-08 08:40:17 +01:00
glops.c GFS2: Add origin indicator to glock callbacks 2013-04-10 10:26:55 +01:00
glops.h
incore.h GFS2: Add origin indicator to glock callbacks 2013-04-10 10:26:55 +01:00
inode.c GFS2: Only do one directory search on create 2013-06-11 13:45:29 +01:00
inode.h
Kconfig GFS2: fix DLM depends to fix build errors 2013-05-24 13:47:53 +01:00
lock_dlm.c GFS2: use memchr_inv 2013-04-04 09:52:50 +01:00
log.c GFS2: replace gfs2_ail structure with gfs2_trans 2013-04-08 08:46:22 +01:00
log.h GFS2: Use ->writepages for ordered writes 2013-01-29 10:29:17 +00:00
lops.c GFS2: Eliminate gfs2_rg_lops 2013-06-05 09:50:40 +01:00
lops.h GFS2: Eliminate gfs2_rg_lops 2013-06-05 09:50:40 +01:00
main.c
Makefile
meta_io.c GFS2: replace gfs2_ail structure with gfs2_trans 2013-04-08 08:46:22 +01:00
meta_io.h GFS2: Merge gfs2_attach_bufdata() into trans.c 2013-01-29 10:28:44 +00:00
ops_fstype.c GFS2: fix error propagation in init_threads() 2013-06-06 09:52:29 +01:00
quota.c GFS2: Remove no-op wrapper function 2013-06-05 09:51:23 +01:00
quota.h gfs2: Use kuid_t and kgid_t types where appropriate. 2013-02-13 06:15:09 -08:00
recovery.c
recovery.h
rgrp.c GFS2: Increase i_writecount during gfs2_setattr_size 2013-06-03 16:38:58 +01:00
rgrp.h GFS2: Remove vestigial parameter ip from function rs_deltree 2013-04-08 08:41:04 +01:00
super.c GFS2: Don't cache iopen glocks 2013-06-03 16:40:22 +01:00
super.h GFS2: Clean up freeze code 2013-01-29 10:29:05 +00:00
sys.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
sys.h
trace_gfs2.h GFS2: Add origin indicator to glock demote tracing 2013-04-10 10:32:05 +01:00
trans.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw 2013-04-30 11:27:14 -07:00
trans.h GFS2: Split gfs2_trans_add_bh() into two 2013-01-29 10:28:04 +00:00
util.c GFS2: Reinstate withdraw ack system 2013-02-13 12:21:40 +00:00
util.h
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2013-02-25 16:00:49 -08:00
xattr.h