mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2024-09-30 02:09:02 +00:00
Fix empty directory check against AWS S3
For ListBucketResult on an empty directory, AWS S3 and S3Proxy 1.4 differ. AWS will match the directory name, S3Proxy does not. Changing max-keys=1 to max-keys-2 works for both implementations. append_objects_from_xml() will swallow the directory key. The log level of this message is changed from ERROR to DBG. Fixes #345
This commit is contained in:
parent
ccfa13f295
commit
4eff6b4dd1
@ -2429,7 +2429,9 @@ static int list_bucket(const char* path, S3ObjList& head, const char* delimiter,
|
|||||||
query_prefix += urlEncode(s3_realpath.substr(1));
|
query_prefix += urlEncode(s3_realpath.substr(1));
|
||||||
}
|
}
|
||||||
if (check_content_only){
|
if (check_content_only){
|
||||||
query_maxkey += "max-keys=1";
|
// Just need to know if there are child objects in dir
|
||||||
|
// For dir with children, expect "dir/" and "dir/child"
|
||||||
|
query_maxkey += "max-keys=2";
|
||||||
}else{
|
}else{
|
||||||
query_maxkey += "max-keys=1000";
|
query_maxkey += "max-keys=1000";
|
||||||
}
|
}
|
||||||
@ -2568,7 +2570,7 @@ static int append_objects_from_xml_ex(const char* path, xmlDocPtr doc, xmlXPathC
|
|||||||
}
|
}
|
||||||
free(name);
|
free(name);
|
||||||
}else{
|
}else{
|
||||||
S3FS_PRN_WARN("name is file or subdir in dir. but continue.");
|
S3FS_PRN_DBG("name is file or subdir in dir. but continue.");
|
||||||
}
|
}
|
||||||
xmlXPathFreeObject(key);
|
xmlXPathFreeObject(key);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user