Skip to content

Commit dbaf936

Browse files
committed
Added a log for each storage (remote) operation
1 parent 314d039 commit dbaf936

File tree

1 file changed

+45
-13
lines changed

1 file changed

+45
-13
lines changed

pkg/storage/fs/cephfs/cephfs.go

+45-13
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ func init() {
6363
registry.Register("cephfs", New)
6464
}
6565

66-
// New returns an implementation to of the storage.FS interface that talks to
67-
// a ceph filesystem.
66+
// New returns an implementation of the storage.FS interface that talks to
67+
// a CephFS storage via libcephfs.
6868
func New(ctx context.Context, m map[string]interface{}) (fs storage.FS, err error) {
6969
var o Options
7070
if err := cfg.Decode(m, &o); err != nil {
@@ -140,8 +140,10 @@ func (fs *cephfs) CreateDir(ctx context.Context, ref *provider.Reference) error
140140
return getRevaError(ctx, err)
141141
}
142142

143+
log := appctx.GetLogger(ctx)
143144
user.op(func(cv *cacheVal) {
144145
if err = cv.mount.MakeDir(path, fs.conf.DirPerms); err != nil {
146+
log.Debug().Str("path", path).Err(err).Msg("cv.mount.CreateDir returned")
145147
return
146148
}
147149
})
@@ -157,15 +159,19 @@ func (fs *cephfs) Delete(ctx context.Context, ref *provider.Reference) (err erro
157159
return err
158160
}
159161

162+
log := appctx.GetLogger(ctx)
160163
user.op(func(cv *cacheVal) {
161164
if err = cv.mount.Unlink(path); err != nil && err.Error() == errIsADirectory {
162165
err = cv.mount.RemoveDir(path)
163166
}
164167
})
165168

166-
//has already been deleted by direct mount
167-
if err != nil && err.Error() == errNotFound {
168-
return nil
169+
if err != nil {
170+
log.Debug().any("ref", ref).Err(err).Msg("Delete returned")
171+
if err.Error() == errNotFound {
172+
//has already been deleted by direct mount
173+
return nil
174+
}
169175
}
170176

171177
return getRevaError(ctx, err)
@@ -181,8 +187,10 @@ func (fs *cephfs) Move(ctx context.Context, oldRef, newRef *provider.Reference)
181187
return
182188
}
183189

190+
log := appctx.GetLogger(ctx)
184191
user.op(func(cv *cacheVal) {
185192
if err = cv.mount.Rename(oldPath, newPath); err != nil {
193+
log.Debug().Any("oldRef", oldRef).Any("newRef", newRef).Err(err).Msg("cv.mount.Rename returned")
186194
return
187195
}
188196
})
@@ -200,21 +208,23 @@ func (fs *cephfs) GetMD(ctx context.Context, ref *provider.Reference, mdKeys []s
200208
return nil, errors.New("error: ref is nil")
201209
}
202210

211+
log := appctx.GetLogger(ctx)
203212
var path string
204213
user := fs.makeUser(ctx)
205-
log := appctx.GetLogger(ctx)
206-
207214
if path, err = user.resolveRef(ref); err != nil {
208215
return nil, err
209216
}
210217

211218
user.op(func(cv *cacheVal) {
212219
var stat Statx
213220
if stat, err = cv.mount.Statx(path, goceph.StatxBasicStats, 0); err != nil {
221+
log.Debug().Str("path", path).Err(err).Msg("cv.mount.Statx returned")
214222
return
215223
}
216224
ri, err = user.fileAsResourceInfo(cv, path, stat, mdKeys)
217-
log.Debug().Any("resourceInfo", ri).Err(err).Msg("fileAsResourceInfo returned")
225+
if err != nil {
226+
log.Debug().Any("resourceInfo", ri).Err(err).Msg("fileAsResourceInfo returned")
227+
}
218228
})
219229

220230
return ri, getRevaError(ctx, err)
@@ -273,8 +283,12 @@ func (fs *cephfs) Download(ctx context.Context, ref *provider.Reference) (rc io.
273283
return nil, errors.Wrap(err, "cephfs: error resolving ref")
274284
}
275285

286+
log := appctx.GetLogger(ctx)
276287
user.op(func(cv *cacheVal) {
277-
rc, err = cv.mount.Open(path, os.O_RDONLY, 0)
288+
if rc, err = cv.mount.Open(path, os.O_RDONLY, 0); err != nil {
289+
log.Debug().Any("ref", ref).Err(err).Msg("cv.mount.Open returned")
290+
return
291+
}
278292
})
279293

280294
return rc, getRevaError(ctx, err)
@@ -303,8 +317,11 @@ func (fs *cephfs) AddGrant(ctx context.Context, ref *provider.Reference, g *prov
303317
return
304318
}
305319

320+
log := appctx.GetLogger(ctx)
306321
user.op(func(cv *cacheVal) {
307-
err = fs.changePerms(ctx, cv.mount, g, path, updateGrant)
322+
if err = fs.changePerms(ctx, cv.mount, g, path, updateGrant); err != nil {
323+
log.Debug().Any("ref", ref).Any("grant", g).Err(err).Msg("AddGrant returned")
324+
}
308325
})
309326

310327
return getRevaError(ctx, err)
@@ -317,8 +334,11 @@ func (fs *cephfs) RemoveGrant(ctx context.Context, ref *provider.Reference, g *p
317334
return
318335
}
319336

337+
log := appctx.GetLogger(ctx)
320338
user.op(func(cv *cacheVal) {
321-
err = fs.changePerms(ctx, cv.mount, g, path, removeGrant)
339+
if err = fs.changePerms(ctx, cv.mount, g, path, removeGrant); err != nil {
340+
log.Debug().Any("ref", ref).Any("grant", g).Err(err).Msg("RemoveGrant returned")
341+
}
322342
})
323343

324344
return getRevaError(ctx, err)
@@ -331,8 +351,11 @@ func (fs *cephfs) UpdateGrant(ctx context.Context, ref *provider.Reference, g *p
331351
return
332352
}
333353

354+
log := appctx.GetLogger(ctx)
334355
user.op(func(cv *cacheVal) {
335-
err = fs.changePerms(ctx, cv.mount, g, path, updateGrant)
356+
if err = fs.changePerms(ctx, cv.mount, g, path, updateGrant); err != nil {
357+
log.Debug().Any("ref", ref).Any("grant", g).Err(err).Msg("UpdateGrant returned")
358+
}
336359
})
337360

338361
return getRevaError(ctx, err)
@@ -345,9 +368,12 @@ func (fs *cephfs) DenyGrant(ctx context.Context, ref *provider.Reference, g *pro
345368
return
346369
}
347370

371+
log := appctx.GetLogger(ctx)
348372
user.op(func(cv *cacheVal) {
349373
grant := &provider.Grant{Grantee: g} //nil perms will remove the whole grant
350-
err = fs.changePerms(ctx, cv.mount, grant, path, removeGrant)
374+
if err = fs.changePerms(ctx, cv.mount, grant, path, removeGrant); err != nil {
375+
log.Debug().Any("ref", ref).Any("grant", grant).Err(err).Msg("DenyGrant returned")
376+
}
351377
})
352378

353379
return getRevaError(ctx, err)
@@ -415,13 +441,15 @@ func (fs *cephfs) SetArbitraryMetadata(ctx context.Context, ref *provider.Refere
415441
return err
416442
}
417443

444+
log := appctx.GetLogger(ctx)
418445
user.op(func(cv *cacheVal) {
419446
for k, v := range md.Metadata {
420447
if !strings.HasPrefix(k, xattrUserNs) {
421448
k = xattrUserNs + k
422449
}
423450
if e := cv.mount.SetXattr(path, k, []byte(v), 0); e != nil {
424451
err = errors.Wrap(err, e.Error())
452+
log.Debug().Any("ref", ref).Str("key", k).Any("v", v).Err(err).Msg("SetXattr returned")
425453
return
426454
}
427455
}
@@ -437,13 +465,15 @@ func (fs *cephfs) UnsetArbitraryMetadata(ctx context.Context, ref *provider.Refe
437465
return err
438466
}
439467

468+
log := appctx.GetLogger(ctx)
440469
user.op(func(cv *cacheVal) {
441470
for _, key := range keys {
442471
if !strings.HasPrefix(key, xattrUserNs) {
443472
key = xattrUserNs + key
444473
}
445474
if e := cv.mount.RemoveXattr(path, key); e != nil {
446475
err = errors.Wrap(err, e.Error())
476+
log.Debug().Any("ref", ref).Str("key", key).Err(err).Msg("RemoveXattr returned")
447477
return
448478
}
449479
}
@@ -459,10 +489,12 @@ func (fs *cephfs) TouchFile(ctx context.Context, ref *provider.Reference) error
459489
return getRevaError(ctx, err)
460490
}
461491

492+
log := appctx.GetLogger(ctx)
462493
user.op(func(cv *cacheVal) {
463494
var file *goceph.File
464495
defer closeFile(file)
465496
if file, err = cv.mount.Open(path, os.O_CREATE|os.O_WRONLY, fs.conf.FilePerms); err != nil {
497+
log.Debug().Any("ref", ref).Err(err).Msg("Touch: Open returned")
466498
return
467499
}
468500
})

0 commit comments

Comments
 (0)