CVS log for linux-2.6-xfs/fs/xfs/linux-2.6/xfs_export.c

[BACK] Up to [Development] / linux-2.6-xfs / fs / xfs / linux-2.6

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.26 / (download) - annotate - [select for diffs], Thu Jul 24 15:41:51 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

convert xfs to use ERR_CAST

Looks like somehow xfs got missed in the conversion that
took place in e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f,
"Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f>"

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Acked-by: David Howells <dhowells@redhat.com>
Merge of xfs-linux-melb:xfs-kern:31757a by kenmcd.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jul 23 16:32:19 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

In several places we directly convert from the XFS inode
to the linux (VFS) inode by a simple deference of ip->i_vnode.
We should not do this - a helper function should be used to
extract the VFS inode from the XFS inode.

Introduce the function VFS_I() to extract the VFS inode
from the XFS inode. The name was chosen to match XFS_I() which
is used to extract the XFS inode from the VFS inode.

Version 2:
o don't use vn_to_inode() and inode_to_vn() functions as they
  are not needed

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:31720a by kenmcd.

Revision 1.24 / (download) - annotate - [select for diffs], Wed May 21 06:13:08 2008 UTC (9 years, 4 months ago) by bnaujok.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.23: +1 -1 lines
Diff to previous 1.23 (colored)

Return case-insensitive match for dentry cache

This implements the code to store the actual filename found
during a lookup in the dentry cache and to avoid multiple entries
in the dcache pointing to the same inode.

To avoid polluting the dcache, we implement a new directory inode
operations for lookup. xfs_vn_ci_lookup() stores the correct case
name in the dcache.

The "actual name" is only allocated and returned for a case-
insensitive match and not an actual match.

Another unusual interaction with the dcache is not storing
negative dentries like other filesystems doing a d_add(dentry, NULL)
when an ENOENT is returned. During the VFS lookup, if a dentry
returned has no inode, dput is called and ENOENT is returned.
By not doing a d_add, this actually removes it completely from
the dcache to be reused. create/rename have to be modified to
support unhashed dentries being passed in.

Signed-off-by: Barry Naujok <bnaujok@sgi.com>
Merge of xfs-linux-melb:xfs-kern:31208a by kenmcd.

  Add aextra xfs_lookup paramater (NULL)

Revision 1.23 / (download) - annotate - [select for diffs], Mon Apr 21 06:14:44 2008 UTC (9 years, 5 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.22: +1 -1 lines
Diff to previous 1.22 (colored)

kill di_mode checks after xfs_iget

Unless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it
encounters an inode with di_mode == 0.  Remove the duplicated checks
in the callers.

(the log recovery case is not touched for now)


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:30898a by kenmcd.

  kill di_mode checks after xfs_iget

Revision 1.22 / (download) - annotate - [select for diffs], Wed Apr 9 16:35:28 2008 UTC (9 years, 6 months ago) by bnaujok.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.21: +2 -3 lines
Diff to previous 1.21 (colored)

remove bhv_vname_t and xfs_rename code
Merge of xfs-linux-melb:xfs-kern:30804a by kenmcd.

  remove bhv_vname_t and xfs_rename code

Revision 1.21 / (download) - annotate - [select for diffs], Tue Feb 26 03:22:59 2008 UTC (9 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.20: +4 -5 lines
Diff to previous 1.20 (colored)

cleanup vnode use in xfs_lookup

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:30550a by kenmcd.

  cleanup vnode use in xfs_lookup

Revision 1.20 / (download) - annotate - [select for diffs], Fri Feb 22 05:22:18 2008 UTC (9 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.19: +1 -1 lines
Diff to previous 1.19 (colored)

don't encode parent in nfs filehandles unless nessecary

As Dave pointed out after the export ops changes we now always encode
the parent into the filehandle for regular files, but it's not actually
needed when the filesystem is export with no_subtree_check.  This
one-liner fixes xfs_fs_encode_fh to skip encoding the parent unless
nessecary.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:30535a by kenmcd.

  don't encode parent in nfs filehandles unless nessecary

Revision 1.19 / (download) - annotate - [select for diffs], Mon Dec 17 02:54:44 2007 UTC (9 years, 10 months ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.18: +17 -8 lines
Diff to previous 1.18 (colored)

Cleanup various fid related bits:

 - merge xfs_fid2 into it's only caller xfs_dm_inode_to_fh.
 - remove xfs_vget and opencode it in the two callers, simplifying
   both of them by avoiding the awkward calling convetion.
 - assign directly to the dm_fid_t members in various places in the
   dmapi code instead of casting them to xfs_fid_t first (which
   is identical to dm_fid_t)


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:30258a by kenmcd.

  pv 974747, author Christoph Hellwig <hch@lst.de>, rv vapo - Cleanup various fid related bits

Revision 1.18 / (download) - annotate - [select for diffs], Mon Dec 3 15:26:10 2007 UTC (9 years, 10 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.17: +124 -82 lines
Diff to previous 1.17 (colored)

Merge up to 2.6.24-rc3
Merge of xfs-linux-melb:xfs-kern:30183a by kenmcd.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Sep 11 06:12:43 2007 UTC (10 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

cleanup fid types mess

Currently XFs has three different fid types: struct fid, struct xfs_fid
and struct xfs_fid2 with hte latter two beeing identicaly and the first
one beeing the same size but an unstructured array with the same size.

This patch consolidates all this to alway uuse struct xfs_fid.

This patch is required for an upcoming patch series from me that revamps
the nfs exporting code and introduces a Linux-wide struct fid.


Note: the patch is ontop of Eric's inode/vnode tracing cleanup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29651a by kenmcd.

  cleanup fid types mess

Revision 1.16 / (download) - annotate - [select for diffs], Fri Aug 24 16:16:26 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.15: +1 -3 lines
Diff to previous 1.15 (colored)

kill the vfs_flags member in struct bhv_vfs

All flags are added to xfs_mount's m_flag instead.  Note that the 32bit
inode flag was duplicated in both of them, but only cleared in the
mount when it was not nessecary due to the filesystem beeing small enough.
Two flags are still required here - one to indicate the mount option
setting, and one to indicate if it applies or not.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29507a by kenmcd.

  move vfs_flags to xfs_mount.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Aug 24 16:14:38 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

call common xfs vfs-level helpers directly and remove vfs operations

Also remove the now dead behavior code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29505a by kenmcd.

  remove vfs operations.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Aug 24 16:04:16 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.13: +5 -3 lines
Diff to previous 1.13 (colored)

call common xfs vnode-level helpers directly and remove vnode operations

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29493a by kenmcd.

  remove vnode operations.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Aug 23 16:00:34 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.12: +3 -1 lines
Diff to previous 1.12 (colored)

Radix tree based inode caching

One of the perpetual scaling problems XFS has is indexing
it's incore inodes. We currently uses hashes and the default
hash sizes chosen can only ever be a tradeoff between memory
consumption and the maximum realistic size of the cache.

As a result, anyone who has millions of inodes cached on a
filesystem needs to tunes the size of the cache via the ihashsize
mount option to allow decent scalability with inode cache
operations.

A further problem is the separate inode cluster hash, whose size is
based on the ihashsize but is smaller, and so under certain
conditions (sparse cluster cache population) this can become
a limitation long before the inode hash is causing issues.

The following patchset removes the inode hash and cluster hash
and replaces them with radix trees to avoid the scalability
limitations of the hashes. It also reduces the size of the
inodes by 3 pointers....
Merge of xfs-linux-melb:xfs-kern:29481a by kenmcd.

  Convert xfs inode caches from hashes to radix trees.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 30 14:40:05 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11 (colored)

Keep stack usage down for 4k stacks by using noinline.

gcc-4.1 and more recent aggressively inline static functions which
increases XFS stack usage by ~15% in critical paths. Prevent
this from occurring by adding noinline to the STATIC definition.

Also uninline some functions that are too large to be inlined and
were causing problems with CONFIG_FORCED_INLINING=y.

Finally, clean up all the different users of inline, __inline and
__inline__ and put them under one STATIC_INLINE macro. For debug
kernels the STATIC_INLINE macro uninlines those functions.
Merge of xfs-linux-melb:xfs-kern:27585a by kenmcd.

  noinline static function declaration cleanup.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jun 15 03:58:11 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.10: +0 -1 lines
Diff to previous 1.10 (colored)

Remove version 1 directory code.  Never functioned on Linux, just pure bloat.
Merge of xfs-linux-melb:xfs-kern:26251a by kenmcd.

Revision 1.10 / (download) - annotate - [select for diffs], Tue May 30 15:56:57 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

Resolve a namespace collision on vnode/vnodeops for FreeBSD porters.
Merge of xfs-linux-melb:xfs-kern:26107a by kenmcd.

Revision 1.9 / (download) - annotate - [select for diffs], Tue May 30 15:55:47 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

Resolve a namespace collision on vfs/vfsops for FreeBSD porters.
Merge of xfs-linux-melb:xfs-kern:26106a by kenmcd.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Mar 17 14:28:04 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.7: +5 -5 lines
Diff to previous 1.7 (colored)

Complete transition away from linvfs naming convention, finally.
Merge of xfs-linux-melb:xfs-kern:25474a by kenmcd.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Mar 6 14:21:40 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.6: +9 -9 lines
Diff to previous 1.6 (colored)

Switch over from linvfs names for sb/quotactl operations for consistent naming.
Merge of xfs-linux-melb:xfs-kern:25382a by kenmcd.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Mar 3 05:02:54 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.5: +2 -5 lines
Diff to previous 1.5 (colored)

Take a dentry structure off the stack into the data segment.
Merge of xfs-linux-melb:xfs-kern:25361a by kenmcd.

Revision 1.5 / (download) - annotate - [select for diffs], Tue Jan 31 02:48:29 2006 UTC (11 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4 (colored)

find_exported_dentry().  XFS does not need to use this symbol as it
is provided by a vector through the superblock export operations
when the filesystem is exported by NFS. The fix is to call that
vector instead of using the exported symbol directly.
Merge of xfs-linux-melb:xfs-kern:25062a by kenmcd.

  remove exportfs.ko dependency by calling the find_exported_dentry
  export op vector rather than directly calling find_exported_dentry().

Revision 1.4 / (download) - annotate - [select for diffs], Wed Oct 26 03:52:28 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.3: +1 -2 lines
Diff to previous 1.3 (colored)

Rework fid encode/decode wrt 64 bit inums interacting with NFS.
Merge of xfs-linux-melb:xfs-kern:24201a by kenmcd.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Sep 23 03:51:28 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.2: +15 -31 lines
Diff to previous 1.2 (colored)

Update license/copyright notices to match the prefered SGI boilerplate.
Merge of xfs-linux-melb:xfs-kern:23903a by kenmcd.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Mar 2 00:47:52 2005 UTC (12 years, 7 months ago) by gnb.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.1: +97 -22 lines
Diff to previous 1.1 (colored)

Make XFS provide encoding and decoding callbacks from knfsd which encode
the fileid portion of the NFS filehandle differently than the default
functions.  The new fileid formats allow filesystems mounted with "inode64"
to be exported over NFSv3 (and NFSv2 if you also use the "no_subtree_check"
export option).  For filesystems without "inode64", the file handles are
binary compatible with the old ones, so it should be possible to upgrade a
server without unmounting clients.
Merge of xfs-linux-melb:xfs-kern:21686a by kenmcd.

  Fix interaction between XFS with 64 bit inodes enabled and NFS.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jan 9 22:23:36 2005 UTC (12 years, 9 months ago) by hch
Branch: MAIN

Move support code for NFS exporting to a conditionally built file
new file, support code for NFS exporting

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>