summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
5ab20bb)
This means we show '?' instead of 0 for unknown UIDs when
numeric output is requested, as it was before.
This also uncovered a forgotten bytes annotation for the
"unknown" string ('?' should be b'?').
Somehow, this new behaviour (of printing 0 instead of ?)
also got quite enshrined in the test suite, fix that too.
And finally, on python 2, fuse doesn't accept None in the
stat struct (but does on python 3, go figure).
Fixes: f76c37383ddb ("Remove vfs (replaced by vfs2)")
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Rob Browning <rlb@defaultvalue.org>
# FIXME: do we want/need to do anything more with nlink?
st = fuse.Stat(st_mode=meta.mode, st_nlink=1, st_size=meta.size)
st.st_mode = meta.mode
# FIXME: do we want/need to do anything more with nlink?
st = fuse.Stat(st_mode=meta.mode, st_nlink=1, st_size=meta.size)
st.st_mode = meta.mode
- st.st_uid = meta.uid
- st.st_gid = meta.gid
+ st.st_uid = meta.uid or 0
+ st.st_gid = meta.gid or 0
st.st_atime = max(0, xstat.fstime_floor_secs(meta.atime))
st.st_mtime = max(0, xstat.fstime_floor_secs(meta.mtime))
st.st_ctime = max(0, xstat.fstime_floor_secs(meta.ctime))
st.st_atime = max(0, xstat.fstime_floor_secs(meta.atime))
st.st_mtime = max(0, xstat.fstime_floor_secs(meta.mtime))
st.st_ctime = max(0, xstat.fstime_floor_secs(meta.ctime))
uid = gid = -1 # By default, do nothing.
if is_superuser():
uid = gid = -1 # By default, do nothing.
if is_superuser():
- uid = self.uid
- gid = self.gid
+ if self.uid is not None:
+ uid = self.uid
+ if self.gid is not None:
+ gid = self.gid
if not restore_numeric_ids:
if self.uid != 0 and self.user:
entry = pwd_from_name(self.user)
if not restore_numeric_ids:
if self.uid != 0 and self.user:
entry = pwd_from_name(self.user)
human_readable = False):
"""Return bytes containing the "ls -l" style listing for meta.
Classification may be "all", "type", or None."""
human_readable = False):
"""Return bytes containing the "ls -l" style listing for meta.
Classification may be "all", "type", or None."""
- user_str = group_str = size_or_dev_str = '?'
+ user_str = group_str = size_or_dev_str = b'?'
symlink_target = None
if meta:
name = meta.path
symlink_target = None
if meta:
name = meta.path
wvpass(item is not file_item)
wvpass(isinstance(meta, Metadata))
wvpasseq(vfs.default_file_mode, meta.mode)
wvpass(item is not file_item)
wvpass(isinstance(meta, Metadata))
wvpasseq(vfs.default_file_mode, meta.mode)
- wvpasseq((0, 0, 0, 0, 0),
+ wvpasseq((None, None, 0, 0, 0),
(meta.uid, meta.gid, meta.atime, meta.mtime, meta.ctime))
wvpass(augmented.meta.size is None)
wvpasseq(file_size, augmented_w_size.meta.size)
(meta.uid, meta.gid, meta.atime, meta.mtime, meta.ctime))
wvpass(augmented.meta.size is None)
wvpasseq(file_size, augmented_w_size.meta.size)
# m is mode
meta = Metadata()
meta.mode = m
# m is mode
meta = Metadata()
meta.mode = m
- meta.uid = meta.gid = meta.atime = meta.mtime = meta.ctime = 0
+ meta.uid = meta.gid = None
+ meta.atime = meta.mtime = meta.ctime = 0
if S_ISLNK(m):
if isinstance(item, FakeLink):
target = item.target
if S_ISLNK(m):
if isinstance(item, FakeLink):
target = item.target
"drwx------ $user/$group 0 2009-10-03 23:48 src"
WVPASSEQ "$(WVPASS bup-ls -lA / | tr -s ' ' ' ')" \
"drwx------ $user/$group 0 2009-10-03 23:48 src"
WVPASSEQ "$(WVPASS bup-ls -lA / | tr -s ' ' ' ')" \
-"drwxr-xr-x 0/0 0 1970-01-01 00:00 .tag
+"drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ $user/$group 0 2009-10-03 23:48 src"
WVPASSEQ "$(WVPASS bup-ls -lAF / | tr -s ' ' ' ')" \
drwx------ $user/$group 0 2009-10-03 23:48 src"
WVPASSEQ "$(WVPASS bup-ls -lAF / | tr -s ' ' ' ')" \
-"drwxr-xr-x 0/0 0 1970-01-01 00:00 .tag/
+"drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ $user/$group 0 2009-10-03 23:48 src/"
WVPASSEQ "$(WVPASS bup-ls -la / | tr -s ' ' ' ')" \
drwx------ $user/$group 0 2009-10-03 23:48 src/"
WVPASSEQ "$(WVPASS bup-ls -la / | tr -s ' ' ' ')" \
-"drwxr-xr-x 0/0 0 1970-01-01 00:00 .
-drwxr-xr-x 0/0 0 1970-01-01 00:00 ..
-drwxr-xr-x 0/0 0 1970-01-01 00:00 .tag
+"drwxr-xr-x ?/? 0 1970-01-01 00:00 .
+drwxr-xr-x ?/? 0 1970-01-01 00:00 ..
+drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ $user/$group 0 2009-10-03 23:48 src"
WVPASSEQ "$(WVPASS bup-ls -laF / | tr -s ' ' ' ')" \
drwx------ $user/$group 0 2009-10-03 23:48 src"
WVPASSEQ "$(WVPASS bup-ls -laF / | tr -s ' ' ' ')" \
-"drwxr-xr-x 0/0 0 1970-01-01 00:00 ./
-drwxr-xr-x 0/0 0 1970-01-01 00:00 ../
-drwxr-xr-x 0/0 0 1970-01-01 00:00 .tag/
+"drwxr-xr-x ?/? 0 1970-01-01 00:00 ./
+drwxr-xr-x ?/? 0 1970-01-01 00:00 ../
+drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ $user/$group 0 2009-10-03 23:48 src/"
socket_mode="$(WVPASS ls -l src/socket | cut -b -10)" || exit $?
drwx------ $user/$group 0 2009-10-03 23:48 src/"
socket_mode="$(WVPASS ls -l src/socket | cut -b -10)" || exit $?
$symlink_mode $uid/$gid $symlink_size $symlink_date symlink -> file"
WVPASSEQ "$(bup-ls -ld "src/latest" | tr -s ' ' ' ')" \
$symlink_mode $uid/$gid $symlink_size $symlink_date symlink -> file"
WVPASSEQ "$(bup-ls -ld "src/latest" | tr -s ' ' ' ')" \
-"lrwxr-xr-x 0/0 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600"
+"lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600"
WVSTART "$ls_cmd_desc (backup set - long)"
WVPASSEQ "$(bup-ls -l --numeric-ids src | cut -d' ' -f 1-2)" \
"drwx------ $uid/$gid
drwx------ $uid/$gid
WVSTART "$ls_cmd_desc (backup set - long)"
WVPASSEQ "$(bup-ls -l --numeric-ids src | cut -d' ' -f 1-2)" \
"drwx------ $uid/$gid
drwx------ $uid/$gid
WVPASSEQ "$(bup-ls -ds "src/1977-09-05-125600" | tr -s ' ' ' ')" \
"$src_tree_hash src/1977-09-05-125600"
WVPASSEQ "$(bup-ls -ds "src/1977-09-05-125600" | tr -s ' ' ' ')" \
"$src_tree_hash src/1977-09-05-125600"