inode.c (d263dfa7d2697a43f3299b9731cd568ee49cdd2c) inode.c (0d56a4518d5eaf595a24ab2202e171330bb2ed72)
1/*
2 * Copyright (c) 2002 Red Hat, Inc. All rights reserved.
3 *
4 * This software may be freely redistributed under the terms of the
5 * GNU General Public License.
6 *
7 * You should have received a copy of the GNU General Public License
8 * along with this program; if not, write to the Free Software

--- 731 unchanged lines hidden (view full) ---

740 struct inode *inode = d_inode(path->dentry);
741 struct afs_vnode *vnode = AFS_FS_I(inode);
742 int seq = 0;
743
744 _enter("{ ino=%lu v=%u }", inode->i_ino, inode->i_generation);
745
746 do {
747 read_seqbegin_or_lock(&vnode->cb_lock, &seq);
1/*
2 * Copyright (c) 2002 Red Hat, Inc. All rights reserved.
3 *
4 * This software may be freely redistributed under the terms of the
5 * GNU General Public License.
6 *
7 * You should have received a copy of the GNU General Public License
8 * along with this program; if not, write to the Free Software

--- 731 unchanged lines hidden (view full) ---

740 struct inode *inode = d_inode(path->dentry);
741 struct afs_vnode *vnode = AFS_FS_I(inode);
742 int seq = 0;
743
744 _enter("{ ino=%lu v=%u }", inode->i_ino, inode->i_generation);
745
746 do {
747 read_seqbegin_or_lock(&vnode->cb_lock, &seq);
748 generic_fillattr(inode, stat);
748 generic_fillattr(&init_user_ns, inode, stat);
749 if (test_bit(AFS_VNODE_SILLY_DELETED, &vnode->flags) &&
750 stat->nlink > 0)
751 stat->nlink -= 1;
752 } while (need_seqretry(&vnode->cb_lock, seq));
753
754 done_seqretry(&vnode->cb_lock, seq);
755 return 0;
756}

--- 165 unchanged lines hidden ---
749 if (test_bit(AFS_VNODE_SILLY_DELETED, &vnode->flags) &&
750 stat->nlink > 0)
751 stat->nlink -= 1;
752 } while (need_seqretry(&vnode->cb_lock, seq));
753
754 done_seqretry(&vnode->cb_lock, seq);
755 return 0;
756}

--- 165 unchanged lines hidden ---