mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
librgw: fix Unix file modes
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
This commit is contained in:
parent
4fd6511c19
commit
c480472f00
@ -343,6 +343,11 @@ int rgw_fh_rele(struct rgw_fs *rgw_fs, struct rgw_file_handle *fh,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define RGW_RWXMODE (S_IRWXU | S_IRWXG | S_IRWXO)
|
||||
|
||||
#define RGW_RWMODE (RGW_RWXMODE & \
|
||||
~(S_IXUSR | S_IXGRP | S_IXOTH))
|
||||
|
||||
/*
|
||||
get unix attributes for object
|
||||
*/
|
||||
@ -359,7 +364,7 @@ int rgw_getattr(struct rgw_fs *rgw_fs,
|
||||
memset(st, 0, sizeof(struct stat));
|
||||
st->st_dev = fs->get_inst();
|
||||
st->st_ino = rgw_fh->get_fh()->fh_hk.object; // XXX
|
||||
st->st_mode = 755|S_IFDIR;
|
||||
st->st_mode = RGW_RWXMODE|S_IFDIR;
|
||||
st->st_nlink = 3;
|
||||
st->st_uid = 0; // XXX
|
||||
st->st_gid = 0; // XXX
|
||||
@ -375,7 +380,7 @@ int rgw_getattr(struct rgw_fs *rgw_fs,
|
||||
memset(st, 0, sizeof(struct stat));
|
||||
st->st_dev = fs->get_inst();
|
||||
st->st_ino = rgw_fh->get_fh()->fh_hk.object; // XXX
|
||||
st->st_mode = 666|S_IFDIR;
|
||||
st->st_mode = RGW_RWXMODE|S_IFDIR;
|
||||
st->st_nlink = 3;
|
||||
st->st_uid = 0; // XXX
|
||||
st->st_gid = 0; // XXX
|
||||
@ -403,7 +408,7 @@ int rgw_getattr(struct rgw_fs *rgw_fs,
|
||||
memset(st, 0, sizeof(struct stat));
|
||||
st->st_dev = fs->get_inst();
|
||||
st->st_ino = rgw_fh->get_fh()->fh_hk.object; // XXX
|
||||
st->st_mode = 666|S_IFREG;
|
||||
st->st_mode = RGW_RWMODE|S_IFREG;
|
||||
st->st_nlink = 1;
|
||||
st->st_uid = 0; // XXX
|
||||
st->st_gid = 0; // XXX
|
||||
|
Loading…
Reference in New Issue
Block a user