Date: Wed, 27 Sep 2000 12:09:54 -0700 (PDT) From: Dmitry Brodsky <dima@cs.ubc.ca> To: freebsd-fs@freebsd.org Subject: stackable fs & rename problem Message-ID: <200009271909.MAA13804@cascade.cs.ubc.ca>
next in thread | raw e-mail | index | archive | help
Hi,
I am building a stackable FS using nullfs as a template; this is under
FreeBSD 4.0-RELEASE. When rename is called the files being renamed
are backed up. So if in a directory you have a files A and B and you do
rename( A, B ), the files will first be backed up and copies will be
made of A and B. The problem I am having is the following:
If we have just one file A and we do rename( A, B ) then everything works
as it should. If we also have B and we do rename( A, B ) then after
the call completes and I do an ls on the fs I get:
ls: B: Bad file descriptor
This only occurrs if B exists. Now if I do rename( B, C ), the command
completes without any complaints and C exists and contains the contents
of A as it should. Does anybody have any idea what might be going on.
It seems that if A and B exists and I do an vn_open on A or B then things
will get messed up. I looked in the code for rename in kern/vfs_syscalls.c
and I don't see much of a difference in terms of paths taken in the
rename function.
Note, I do the same thing in remove without any problems.
Thanks for any help
ttyl
Dima
--
Dima Brodsky dima@cs.ubc.ca
http://www.cs.ubc.ca/~dima
201-2366 Main Mall (604) 822-6179 (Office)
Department of Computer Science (604) 822-2895 (DSG Lab)
University of British Columbia, Canada (604) 822-5485 (FAX)
Computers are like Old Testament gods; lots of rules and no mercy.
(Joseph Campbell)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009271909.MAA13804>
