From e04039092d28dde70a9a394010cd04cf0a12726a Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Tue, 10 Feb 2015 16:43:50 +0530 Subject: feature/gfid-access: Send a named lookup before trying to create a file. Normally a named-lookup is done by the kernel on an entry before it issues a dentry creation fop like create/mknod etc. This will enable cluster translators like dht to maintain internal consistency like deleting a linkto file if no corresponding datafile is present etc. While handling file creation on auxiliary gfid mounts, we issue dentry creation fop without issuing a lookup. If there are stale-linkto files, creation would fail with EEXIST, however access would fail since there is no datafile. A named lookup would cleanup the linkto file allowing create to succeed. Change-Id: I2932107296adac710dd179df7d0946b8697a497a BUG: 1191413 Signed-off-by: Kotresh HR Reviewed-on: http://review.gluster.org/9634 Reviewed-by: Raghavendra G Tested-by: Raghavendra G --- xlators/features/gfid-access/src/gfid-access.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'xlators/features/gfid-access/src/gfid-access.h') diff --git a/xlators/features/gfid-access/src/gfid-access.h b/xlators/features/gfid-access/src/gfid-access.h index 5c7a95af4c8..2449c5f6835 100644 --- a/xlators/features/gfid-access/src/gfid-access.h +++ b/xlators/features/gfid-access/src/gfid-access.h @@ -101,7 +101,11 @@ struct __ga_local { call_frame_t *orig_frame; unsigned int uid; unsigned int gid; - loc_t loc; + loc_t loc; + mode_t mode; + dev_t rdev; + mode_t umask; + dict_t *xdata; }; typedef struct __ga_local ga_local_t; -- cgit