Commit Diff


commit - b1b8898e7cb788d8274eb8d4c9cca1fe380f505a
commit + 84f0f75de1046edef2d7f859f2ff09285b483bc8
blob - ee80835ab698df40062bc48c3def67269779c739
blob + 143cad902fed1b41ba8d96d840ddde3d2092887d
--- ufs/fileref.go
+++ ufs/fileref.go
@@ -18,7 +18,10 @@ type FileRef struct {
 func (f *FileRef) Stat() error {
 	f.Lock()
 	defer f.Unlock()
+	return f.statLocked()
+}
 
+func (f *FileRef) statLocked() error {
 	info, err := os.Lstat(f.Path)
 	if err != nil {
 		return err
blob - ecab9cec2a80493fdd9c4cb4ce0c25c008f2eda2
blob + 47220dc5c356829f11227b71bb7b65d11f01a380
--- ufs/session.go
+++ ufs/session.go
@@ -260,7 +260,7 @@ func (sess *session) Create(ctx context.Context, paren
 	defer ref.Unlock()
 	ref.Path = newpath
 	ref.File = file
-	if err := ref.Stat(); err != nil {
+	if err := ref.statLocked(); err != nil {
 		return p9p.Qid{}, 0, err
 	}
 	return ref.Info.Qid, 0, err