patch for 2.1.81 nfs client

Bill Hawes (whawes@star.net)
Sat, 24 Jan 1998 13:18:19 -0500


This is a multi-part message in MIME format.
--------------76895F6377DEF1D9B20A36E8
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

This patch includes the changes to nfs client to enable the workaround for
NetApp snapshot directories, and some changes to the writeback code to eliminate
the allocation of the wb_args.

The NetApp snapshot code checks for a dentry in the snapshot namespace and
creates an anonymous inode. Non-snapshot dentries fall through and are handled
as before (we don't need to bother with a test for busy inodes for the snapshot
case.) The patch reorganizes the fhget code by moving the getattr case into
nfs_read_super.

The snapshot workaround code has a conditional compilation flag, enabled by
default now for testing. Hopefully this won't cause any problems.

The change to the writeback code moves the wb_args and wb_fattr structures into
the write request rather than allocating them. This eliminates an awkward
potential block in the wback_lock hook and increases the request size by only a
small amount. I've also changed the writeback cancel code to wake up the tasks
if the write is not already in progress.

Regards,
Bill
--------------76895F6377DEF1D9B20A36E8
Content-Type: application/x-gzip; name="nfs_81-patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="nfs_81-patch.gz"

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
--------------76895F6377DEF1D9B20A36E8--