Re: How to access contents of directory underneath mounted volume?

Guy Waugh <[email protected]> Wed, 27 Aug 2008 10:10:01 +1000
Newsgroups org.kernel.vger.linux-admin
Message-ID <[email protected]>
Glynn Clements wrote:
> Guy Waugh wrote:
> 
>> On a RHEL4 host, I have a mountpoint, /thing, with a SAN volume mounted 
>> at this mountpoint.
>>
>> The local volume that contains the mountpoint (i.e. the volume that is 
>> mounted at /) is nearly full, and I'm suspecting it is because there are 
>> files on the local volume in the /thing directory. Of course, I can't 
>> get to the /thing directory by normal means (at least AFAIK), because 
>> there is currently a volume mounted at that mountpoint.
>>
>> Does anyone know if it possible to access (i.e. see and delete) the 
>> files in the /thing directory without having to umount the SAN volume 
>> that is mounted at /thing?
> 
> If some existing process has its CWD underneath /thing, then you can
> access that directory via /proc/<pid>/cwd.
> 
> You could use debugfs on the root fs, but I wouldn't recommend trying
> to modify a filesystem while it's mounted r/w.
> 
> If you can't unmount the SAN because it's busy, you may still be able
> to move its mount point with "mount --move". If you can allow for it
> being unavailable briefly you could move it off just long enough to
> rename the underlying directory, e.g.:
> 
> 	mkdir /thing.tmp
> 	mount --move /thing /thing.tmp
> 	mv /thing /thing.orig
> 	mkdir /thing
> 	mount --move /thing.tmp /thing
> 	rmdir /thing.tmp

Thanks Glynn, the last suggestion using "mount --move" looks like the 
most useful. However, it's sounding like it's going to be easiest for me 
to schedule some downtime.

Cheers,
Guy.