[OpenAFS] Version of du that doesn't traverse AFS mount points?

Todd M. Lewis Todd M. Lewis" <utoddl@email.unc.edu
Wed, 27 Aug 2008 07:56:11 -0400


Simon Wilkinson wrote:
> 
> On 27 Aug 2008, at 02:18, Chas Williams (CONTRACTOR) wrote:
> 
>> In message 
>> <F17752FC8F21B8428FF70A2DA2B2E24606990704BB@MERCMBX11.na.sas.com>,Mike Shaddock 
>> writes:
>>> I'm looking for a version of du where the -x option (skip directories 
>>> on different file systems) doesn't traverse an AFS mount poi
>>> nt.  Haven't been able to find anything via searching, so I thought 
>>> I'd ask here.
>>
>> i have an interesting idea.  on linux this would be pretty easy.
>> after generic_fill_attr() we could encode the volumeid in the i_dev
>> field instead of the s_dev field from the superblock.  this should make
>> this work.  i cant think of anything it would break.
> 
> Unless I'm missing something, this breaks anything that relies on stat's 
> st_dev field to determine whether a file is in AFS or not. Filedrawers 
> is one example, and I'm sure there are others.

It also breaks anybody who expects -x to traverse the whole filesystem.
mountpoint != filesystem

The OpenAFS "up" utility has an explicit flag for stopping its traversal 
at mountpoints. I don't see a cheap way to conflate the two meanings 
with one flag and not break somebody.