@@ -1903,8 +1903,7 @@ bool __ceph_should_report_size(struct ceph_inode_info *ci)
19031903 * CHECK_CAPS_FLUSH - we should flush any dirty caps immediately, without
19041904 * further delay.
19051905 */
1906- void ceph_check_caps (struct ceph_inode_info * ci , int flags ,
1907- struct ceph_mds_session * session )
1906+ void ceph_check_caps (struct ceph_inode_info * ci , int flags )
19081907{
19091908 struct inode * inode = & ci -> netfs .inode ;
19101909 struct ceph_mds_client * mdsc = ceph_sb_to_mdsc (inode -> i_sb );
@@ -1918,15 +1917,12 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags,
19181917 bool queue_invalidate = false;
19191918 bool tried_invalidate = false;
19201919 bool queue_writeback = false;
1921-
1922- if (session )
1923- ceph_get_mds_session (session );
1920+ struct ceph_mds_session * session = NULL ;
19241921
19251922 spin_lock (& ci -> i_ceph_lock );
19261923 if (ci -> i_ceph_flags & CEPH_I_ASYNC_CREATE ) {
19271924 /* Don't send messages until we get async create reply */
19281925 spin_unlock (& ci -> i_ceph_lock );
1929- ceph_put_mds_session (session );
19301926 return ;
19311927 }
19321928
@@ -2876,7 +2872,7 @@ static void check_max_size(struct inode *inode, loff_t endoff)
28762872 check = 1 ;
28772873 spin_unlock (& ci -> i_ceph_lock );
28782874 if (check )
2879- ceph_check_caps (ci , CHECK_CAPS_AUTHONLY , NULL );
2875+ ceph_check_caps (ci , CHECK_CAPS_AUTHONLY );
28802876}
28812877
28822878static inline int get_used_fmode (int caps )
@@ -3170,7 +3166,7 @@ static void __ceph_put_cap_refs(struct ceph_inode_info *ci, int had,
31703166 switch (mode ) {
31713167 case PUT_CAP_REFS_SYNC :
31723168 if (last )
3173- ceph_check_caps (ci , 0 , NULL );
3169+ ceph_check_caps (ci , 0 );
31743170 else if (flushsnaps )
31753171 ceph_flush_snaps (ci , NULL );
31763172 break ;
@@ -3280,7 +3276,7 @@ void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
32803276 spin_unlock (& ci -> i_ceph_lock );
32813277
32823278 if (last ) {
3283- ceph_check_caps (ci , 0 , NULL );
3279+ ceph_check_caps (ci , 0 );
32843280 } else if (flush_snaps ) {
32853281 ceph_flush_snaps (ci , NULL );
32863282 }
@@ -3635,10 +3631,9 @@ static void handle_cap_grant(struct inode *inode,
36353631
36363632 mutex_unlock (& session -> s_mutex );
36373633 if (check_caps == 1 )
3638- ceph_check_caps (ci , CHECK_CAPS_AUTHONLY | CHECK_CAPS_NOINVAL ,
3639- session );
3634+ ceph_check_caps (ci , CHECK_CAPS_AUTHONLY | CHECK_CAPS_NOINVAL );
36403635 else if (check_caps == 2 )
3641- ceph_check_caps (ci , CHECK_CAPS_NOINVAL , session );
3636+ ceph_check_caps (ci , CHECK_CAPS_NOINVAL );
36423637}
36433638
36443639/*
@@ -4392,7 +4387,7 @@ unsigned long ceph_check_delayed_caps(struct ceph_mds_client *mdsc)
43924387 if (inode ) {
43934388 spin_unlock (& mdsc -> cap_delay_lock );
43944389 dout ("check_delayed_caps on %p\n" , inode );
4395- ceph_check_caps (ci , 0 , NULL );
4390+ ceph_check_caps (ci , 0 );
43964391 iput (inode );
43974392 spin_lock (& mdsc -> cap_delay_lock );
43984393 }
@@ -4421,7 +4416,7 @@ static void flush_dirty_session_caps(struct ceph_mds_session *s)
44214416 dout ("flush_dirty_caps %llx.%llx\n" , ceph_vinop (inode ));
44224417 spin_unlock (& mdsc -> cap_dirty_lock );
44234418 ceph_wait_on_async_create (inode );
4424- ceph_check_caps (ci , CHECK_CAPS_FLUSH , NULL );
4419+ ceph_check_caps (ci , CHECK_CAPS_FLUSH );
44254420 iput (inode );
44264421 spin_lock (& mdsc -> cap_dirty_lock );
44274422 }
0 commit comments